| **Sender privacy** | Невозможно установить какой из K возможных аккаунтов сделал перевод | Ring signatures (CLSAG, K=11) | Lattice ring signatures (см. [Постквантовые замены](Постквантовые-замены.md)) |
| **Recipient privacy** | Получатель не виден на цепи; нет связи сего публичным адресом | Stealth addresses (one-time keys) | PQ stealth addresses через ML-KEM-768 + DH-style derivation |
| **Amount privacy** | Сумма перевода скрыта; виден только zero-knowledge proof что сумма ≥ 0 и ≤ доступного баланса | Pedersen commitments + Bulletproofs | Lattice commitments + lattice-based range proofs |
**TimeChain не приватизируется.** Каноническое время и порядок окон — глобальный публичный ресурс. Приватность только на уровне содержимого транзакций аккаунта в опт-ин режиме.
## 4. Опт-ин модель
Каждый аккаунт может иметь два режима:
- **Public mode (default)** — текущее поведение Монтаны: прозрачные транзакции, видимый баланс, видимые отправитель/получатель/сумма. Это сохраняется без изменений.
- **Private mode (opt-in)** — аккаунт включает приватный режим и с этого момента его транзакции уходят в Монеро-Монтана слой с приватностью.
Переход public→private — односторонний на уровне транзакции (баланс ушедший в private может вернуться публично только через специальную операцию reveal). Эта асимметрия защищает от смешения цепей и упрощает анализ безопасности.
## 5. Ключевые примитивы
### 5.1 Lattice Ring Signatures (sender privacy)
Заменяет Monero CLSAG. Подписант доказывает что он один из K=11 потенциальных подписантов (anonymity set) без раскрытия какой именно. Постквантовая реализация — research direction MatRiCT (Esgin-Steinfeld-Sun 2019), MatRiCT+ (2022), последующие лattice-based ring signatures.
**Параметры:**
- Anonymity set K = 11 (как в Monero post-2022).
- Размер подписи: пока в research-mode 5–20 КБ (vs 0.5 КБ в Monero CLSAG). Это значимый рост, нужна оптимизация.
- Бит безопасности: NIST L3 (≥192).
**Открытый вопрос:** есть ли уже готовая, проверенная PQ ring signature schema с разумным размером? Текущее состояние research — mid-2020s, схемы существуют, но в production-grade аудите ни одна.
### 5.2 PQ Stealth Addresses (recipient privacy)
Заменяет Monero one-time addresses. При публикации публичного адреса получателя `R = Hash(view_key, spend_key)`, отправитель генерирует `r = random`, `R' = R + Hash(r·view_key)·G`, посылает на `R'` + `r·G` как nonce. Получатель сканирует все транзакции и проверяет `R = R' - Hash(view_key·r·G)·G`.
**PQ адаптация через ML-KEM-768:**
- Получатель публикует view-public-key и spend-public-key (PQ).
- Отправитель использует ML-KEM-768 encapsulation: получает (ciphertext, shared_secret).
- One-time spend public = `spend_pk + Hash(shared_secret)·G_PQ` (где G_PQ — generator в lattice space).
- Получатель decapsulates ciphertext → shared_secret → распознаёт что транзакция для него.
**Ограничение:** размер one-time-address пакета ~ 1.5 КБ vs ~ 64 байт в классическом Monero.
### 5.3 PQ Range Proofs (amount privacy)
Заменяет Bulletproofs. Доказательство что сумма перевода в диапазоне [0, 2^64) без раскрытия суммы.
**Lattice-based zk range proofs:**
- Esgin-Nguyen-Seiler 2020 (lattice-based zk for SIS/LWE).
- ZKBoo / ZKB++ family (post-quantum NIZK).
**Параметры:**
- Размер доказательства: 5–50 КБ в текущих research-схемах (vs ~1 КБ в Bulletproofs).
- Время верификации: 50–200 ms (vs 5 ms Bulletproofs).
**Ограничение:** значительно тяжелее классических Bulletproofs. Требует оптимизации либо принятия повышенной нагрузки.
τ_anchor: TimeChainPosition, // каноническая позиция
signature: ML-DSA-65, // подпись по канону
}
```
### 6.2 Двойная трата защищена через nullifier
Каждый private input производит уникальный `nullifier` который публикуется в TimeChain. Узлы поддерживают глобальное множество использованных nullifier'ов. Попытка повторно потратить тот же UTXO даёт коллизию nullifier и отвергается.
### 6.3 Anchor в TimeChain
Private transaction коммитится в каноническое окно τ через якорь:
**Вывод:** приватный слой существенно тяжелее публичного. Это **сознательный trade-off** — приватность дорогая. В Monero аналогичные числа.
## 8. Защита от атак
### 8.1 Sybil против anonymity set
Атакующий мог бы подкупить операторов для смещения выбора anonymity set к подложным аккаунтам.
**Защита:** anonymity set выбирается псевдослучайно из VDF-выхода окна — детерминированно и нескомпрометируемо.
### 8.2 Timing attacks через τ-координату
Транзакция в окне τ привязана к публичному времени → возможно корреляционный анализ "кто был онлайн в момент публикации".
**Защита:** decoy delays — частный мод позволяет накапливать транзакции в локальный pool и публиковать через random-jitter в течение нескольких окон.
**Открытый вопрос:** формальный анализ устойчивости к traffic analysis на сетевом уровне (eclipse + observation).
### 8.3 Quantum attack
Все примитивы PQ → Шор не работает. Остаётся Гровер с квадратичным ускорением — требует увеличения хеш-длины для critical primitives.
## 9. Совместимость с public Monero
**Atomic swap** (см. [Atomic-Swap-Протокол](Atomic-Swap-Протокол.md)) — параллельная работа public Monero (XMR) и private Монеро-Монтана (TC) без моста. Пользователь обменивает XMR ↔ TC через protocol-level swap, никаких wrapped токенов, никакого central bridge.
## 10. Открытые исследовательские вопросы
- [ ] Выбор production-grade PQ ring signature schema (MatRiCT+? newer?).
1. Saberhagen, N. (2013). *CryptoNote v 2.0* — основа Monero.
2. Noether, S. (2015). *Ring Confidential Transactions*. Ledger.
3. Bünz, B., Bootle, J., Boneh, D., Poelstra, A., Wuille, P., Maxwell, G. (2018). *Bulletproofs: Short Proofs for Confidential Transactions and More*. IEEE S&P.
4. Esgin, M. F., Steinfeld, R., Sun, S.-F., et al. (2019). *MatRiCT: Efficient, Scalable and Post-Quantum Blockchain Confidential Transactions Protocol*. CCS.
5. Esgin, M. F., Nguyen, N. K., Seiler, G. (2020). *Practical Exact Proofs from Lattices*. ASIACRYPT.
6. Goodell, B., Noether, S., Blue, A. (2020). *Concise Linkable Ring Signatures and Forgery Against Adversarial Keys* (CLSAG).