Montana Protocol (Ɉ) — протокол идеальных денег с постквантовой криптографией.
Монтана — это три независимых слоя:
**Криптография** — генерация ключей и адресов. Полностью офлайн, чистая математика. Не требует сети, не требует ничьего разрешения. Хоть на бумажке считай.
**Таймчейн** — реестр транзакций. Хранит записи вида «на такой-то адрес можно потратить столько-то, если предъявишь правильную подпись». Ничего не знает о ключах, кошельках, владельцах.
**Кошелёк** — мост между первым и вторым. Он берёт ключи, вычисляет адреса, сканирует таймчейн и показывает тебе «баланс». А при отправке — подписывает транзакцию приватным ключом и отправляет в сеть.
Эти слои нигде не «регистрируют» друг друга. Связь между ними — только математика и протокол консенсуса.
Нет центра, который бы сводил ключи и адреса воедино.
```
Блокчейн без криптографии — просто база данных.
Криптография без блокчейна — просто шифрование.
Вместе они дают деньги, не требующие доверия.
```
---
## Порядок строительства
```
1. КРИПТО-СЛОЙ → Ключи, адреса, подписи (офлайн)
2. ФОРМАТ ТРАНЗАКЦИИ → Структура: от кого, кому, сколько, подпись
3. ТАЙМЧЕЙН → Слайсы времени, консенсус, валидация, хранение
4. КОШЕЛЁК → Мост: seed → ключи → адреса → баланс
```
---
# ЧАСТЬ I. КРИПТО-СЛОЙ
## 1.1 Обзор
Крипто-слой — фундамент всего протокола. Полностью автономен. Работает офлайн. Не требует подключения к сети, не требует регистрации, не требует ничьего разрешения.
Единственная задача: генерировать ключи, вычислять адреса, подписывать данные и проверять подписи.
Постквантовая криптография с генезиса — не retrofit. Когда квантовые компьютеры станут угрозой, Montana уже будет защищена. Bitcoin, Ethereum и Solana будут вынуждены делать хардфорк.
```
Bitcoin/Ethereum: ECDSA сейчас → хардфорк потом
Montana: ML-DSA-65 с генезиса → уже защищены
```
## 1.2 Размеры ключей
| Параметр | Размер |
|----------|--------|
| Private Key | 4032 байт |
| Public Key | 1952 байт |
| Signature | 3309 байт |
| Адрес | 42 символа |
## 1.3 Полный путь: Энтропия → Мнемоника → Seed → Ключи → Адрес
| Harvest Now, Decrypt Later | Защищены с первого дня |
| Подделка подписи транзакции | Защищены с первого дня |
---
# ЧАСТЬ II. ФОРМАТ ТРАНЗАКЦИИ
## 2.1 Модель: UTXO
Montana использует модель UTXO (Unspent Transaction Output) — такую же, как в Bitcoin.
**Принцип:** в системе нет «балансов». Есть только неизрасходованные выходы транзакций. «Баланс» адреса — это сумма всех UTXO, привязанных к этому адресу.
```
UTXO — это запись:
"На адрес mt... можно потратить N Ɉ, если предъявишь подпись от ключа этого адреса"
```
## 2.2 Структура транзакции
```
Transaction {
version: u8 // Версия формата (1)
inputs: Vec<TxInput> // Входы (ссылки на UTXO)
outputs: Vec<TxOutput> // Выходы (новые UTXO)
timestamp: u64 // Unix timestamp
signature: [u8; 3309] // ML-DSA-65 подпись
}
TxInput {
tx_hash: [u8; 32] // Хеш транзакции-источника
output_idx: u32 // Индекс выхода в той транзакции
pubkey: [u8; 1952] // Публичный ключ отправителя
}
TxOutput {
address: String // Адрес получателя (42 символа, mt...)
amount: u64 // Сумма в Ɉ
}
```
## 2.3 Жизненный цикл транзакции
**Транзакции моментальные.** Отправил — дошло. Финализация в τ₁ (1 минута).
Эмиссия определяется присутствием, а не вычислениями.
---
# ЧАСТЬ III. ТАЙМЧЕЙН
## 3.1 Обзор
Таймчейн — реестр всех транзакций Montana. Это не классический блокчейн с блоками, а**4-слойная иерархическая цепочка слайсов времени**, где каждый верхний слой вкладывает в себя все заголовки нижних — как матрёшка.
Таймчейн ничего не знает о ключах, кошельках и владельцах. Он хранит только записи: «на такой-то адрес можно потратить столько-то, если предъявишь правильную подпись».
## 3.2 Временные координаты
Montana измеряет время, а не блоки. Единица таймчейна — **слайс времени** (time slice), не блок:
| Единица | Длительность | В секундах | Назначение |
Единица таймчейна — **слайс времени** (time slice). Не блок. Каждый слайс содержит хеш предыдущего слайса своего слоя (цепочка внутри слоя) и заголовки нижних слоёв (матрёшка между слоями).
### τ₁ слайс (1 минута)
Атомарная единица таймчейна. Содержит транзакции и доказательство присутствия.
**Принцип:** τ₂ вкладывает в себя все τ₁. τ₃ вкладывает все τ₂ (которые уже содержат τ₁). τ₄ вкладывает все τ₃. Один τ₄ слайс = криптографический proof всех 4 лет.
```
τ₁ → τ₁ → τ₁ → τ₁ ... (цепь 1-минутных слайсов)
↓ ↓ ↓ ↓
└────┴────┴────┴─→ τ₂ (содержит ВСЕ 10 τ₁ заголовков)
↓
└─→ τ₃ (содержит ВСЕ 2,016 τ₂ заголовков)
↓
└─→ τ₄ (содержит ВСЕ 104 τ₃ заголовков)
```
**Преимущества:**
1. Быстрая верификация: лёгкий клиент скачивает только заголовки верхнего слоя
2. Компактность: один τ₄ слайс = proof всех 4 лет (вся матрёшка внутри)
3. Параллелизм: слои можно верифицировать параллельно
4. Постквантовая защита: ML-DSA-65 на каждом слайсе
ACP — консенсус-механизм, где доказательство основано на **присутствии во времени**. Время нельзя ускорить, купить или накопить заранее. 14 дней требуют 14 дней — для всех одинаково.
14 дней присутствия требуют 14 дней реального времени. Атакующий с бесконечными ресурсами может подписать 1000 координат за секунду, но сеть примет только 1 подпись на τ₁. Невозможно ускорить время.
## 3.6 Эмиссия: 金元Ɉ
### Определение
**金元** (jīn yuán) — буквально «золотой юань».
**Ɉ** (Unicode U+0248) — Temporal Time Unit.
```
金元Ɉ = Время, доказанное присутствием
```
### Фундаментальное свойство
```
lim(evidence → ∞) 1 Ɉ → 1 секунда
∀t: Trust(t) <1
```
Ɉ не равен секунде. Ɉ асимптотически приближается к секунде по мере накопления доказательств:
| Доказательства | Точность | Доверие |
|----------------|----------|---------|
| 1 подпись | ±10 минут | ~0.1 |
| 1 τ₂ (10 мин) | ±1 минута | ~0.5 |
| 1 τ₃ (14 дней) | ±1 секунда | ~0.99 |
| 1 τ₄ (4 года) | ±0.1 секунды | ~0.9999 |
### Механизм эмиссии
Каждый τ₂ (10 минут) происходит финализация:
```
1. Подсчёт секунд присутствия каждого участника за τ₂
Эмиссия **параллельная** — каждый участник получает монеты за своё присутствие:
```
User A: 450 сек × 1.0 = 450 Ɉ
User B: 600 сек × 1.0 = 600 Ɉ
User C: 150 сек × 1.0 = 150 Ɉ
─────────────────────────────
Эмиссия за τ₂: 1,200 Ɉ
```
Нет лотереи, нет резерва — всё распределяется участникам.
### Халвинг
Каждые τ₄ (4 года) эмиссия делится на 2:
```
halving_coefficient(n) = 1.0 / (2^n)
```
| Эпоха τ₄ | Годы | Коэффициент | 1 секунда = |
|----------|------|-------------|-------------|
| 0 | 0–4 | 1.0 | 1.0 Ɉ |
| 1 | 4–8 | 0.5 | 0.5 Ɉ |
| 2 | 8–12 | 0.25 | 0.25 Ɉ |
| 3 | 12–16 | 0.125 | 0.125 Ɉ |
| ... | ... | ... | ... |
| 64 | ~260 лет | ~0 | ~0 Ɉ |
### TIME_BANK Reserve — 21 миллион минут
Банк Времени имеет конечный резерв:
```
21,000,000 минут = 1,260,000,000 секунд ≈ 40 лет
```
21 миллион — как 21 миллион Bitcoin. Конечный ресурс.
Банк тратит 10 минут из резерва каждый τ₂, подтверждая что прошло ровно 10 минут. Когда резерв исчерпан (~40 лет), банк переходит в **Oracle Mode**: продолжает верифицировать время, но больше не эмитирует из резерва.
| Год | Осталось | % резерва |
|-----|----------|-----------|
| 0 | 21,000,000 | 100% |
| 4 | 18,897,600 | 90% |
| 10 | 15,744,000 | 75% |
| 20 | 10,488,000 | 50% |
| 30 | 5,232,000 | 25% |
| 40 | 0 | 0% → Oracle Mode |
### Генезис цены: Beeple Anchor
Продажа NFT Beeple «Everydays: The First 5000 Days» 11 марта 2021 установила генезисную цену времени:
```
$69,300,000 ÷ 5000 дней ÷ 86400 сек = $0.1605/сек
1 Ɉ = $0.1605 USD = 12.04₽ RUB
```
Два генезиса:
| Событие | Дата |
|---------|------|
| Генезис Цены (BIPL) | 12 марта 2021 |
| Генезис Монтана | 9 января 2026 |
Цена может быть пересмотрена только в **День Пиццы** (22 мая) — и только вверх.
## 3.7 Свойства 金元Ɉ
**Неподделываемость:**
```
Подделать Ɉ = Подделать время = Нарушить физику
```
**Неинфлируемость:**
```
Эмиссия ограничена временем
У всех людей одинаковое количество времени
Халвинг делит эмиссию на 2 каждые 4 года
```
**Верифицируемость:**
```
Каждый Ɉ имеет доказательство:
├── Подпись присутствия (ML-DSA-65)
├── Включение в Merkle tree
├── Подтверждение в таймчейне (цепь хешей)
└── Аттестация сетью (P2P)
```
## 3.8 Защита от Sybil: Adaptive Cooldown
Механизм динамической защиты от Sybil-атак — адаптивный период ожидания для новых узлов.
```
Sybil_cost = cooldown × N_nodes
```
| Нагрузка | Cooldown |
|----------|----------|
| Нормальная | 1 день |
| Средняя (r=0.5) | 4 дня |
| Стандартная (r=1.0) | 7 дней |
| Повышенная (r=1.5) | 93 дня |
| Аномальная (r=2.0) | 180 дней |
Сглаженная медиана за 56 дней (4×τ₃) предотвращает манипуляцию через краткосрочные спайки. Rate limit ±20% за τ₃.
Стоимость атаки при стабильной нагрузке (cooldown ≈ 7 дней):
- 10 узлов: 70 дней
- 100 узлов: 700 дней (~2 года)
- 1000 узлов: 7000 дней (~19 лет)
---
# ЧАСТЬ IV. СЕТЬ
## 4.1 Топология
5 географически распределённых узлов:
```
┌─────────────┐
│ amsterdam │ ← PRIMARY (позиция 0)
│ 72.56.102.240│
└──────┬──────┘
│
┌─────────────────┼─────────────────┐
│ │ │
┌────▼────┐ ┌────▼────┐ ┌─────▼────┐
│ moscow │ │ almaty │ │ spb │
│176.124..│ │91.200...│ │188.225...│
└────┬────┘ └────┬────┘ └────┬─────┘
│ │ │
└────────────────┼────────────────┘
│
┌──────▼──────┐
│ novosibirsk │
│147.45.147...│
└─────────────┘
```
| Позиция | Узел | Адрес | Регион |
|---------|------|-------|--------|
| 0 | Amsterdam | mta46b633d258059b90db46adffc6c5ca08f0e8d6c | EU |
Каждый узел имеет криптографический адрес (ML-DSA-65). IP используется только для networking, не для идентификации. Адрес не зависит от IP — защита от IP hijacking.
## 4.2 Leader Election
Детерминированный выбор мастера: первый живой узел в цепочке = мастер.
```
Алгоритм:
Для каждого узла в цепочке (сверху вниз):
Если это я → я мастер
Если узел жив → он мастер, я standby
```
При падении 4 из 5 узлов сеть продолжает работать. Failover <10секунд.
## 4.3 Обнаружение атак и Random Failover
При обнаружении атаки цепочка узлов перемешивается случайным образом:
| Метрика | Порог |
|---------|-------|
| CPU | > 80% |
| Network traffic | > 100 MB/s |
| Failures | > 10 подряд |
| Response time | > 5 секунд |
```
Нормальный режим:
amsterdam → moscow → almaty → spb → novosibirsk
После атаки (пример):
spb → novosibirsk → almaty → moscow
(amsterdam исключён как атакованный)
```
## 4.4 Breathing Sync
Git-синхронизация состояния сети каждые 12 секунд:
```
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Вдох │────▶│ Работа │────▶│ Выдох │
│git pull │ │ 12 сек │ │git push │
└─────────┘ └─────────┘ └─────────┘
▲ │
└───────────────────────────────┘
```
~5 «вдохов» в минуту. Обеспечивает консистентность данных между всеми узлами.
## 4.5 TLS шифрование
Связь между узлами через TLS 1.3 на порту 19333. Каждый узел имеет self-signed сертификат с привязкой к криптографическому адресу:
Вес присутствия определяется количеством активных датчиков:
```
Вес = 1 (база, пока программа включена) + количество активных датчиков + VPN
```
Датчик активен только когда: разрешение есть + тумблер ON.
Нет разрешения или тумблер OFF = датчик выключен, данные не собираются.
---
# ЧАСТЬ VI. КОНТРАКТЫ
## 6.1 Обзор
Montana Contracts — система умных контрактов с человеческим арбитражем. В отличие от автоматических смарт-контрактов, Montana Contracts используют AI-арбитра (Юнона) для валидации условий и разрешения споров.
├── CryptoManager.swift # Управление идентичностью
├── KeychainManager.swift # Хранение ключей
└── PresenceEngine.swift # Присутствие и датчики
```
## 9.2 Статус реализации
| Компонент | Статус |
|-----------|--------|
| ML-DSA-65 keygen/sign/verify | ✅ Работает |
| BIP-39 мнемоника (24 слова) | ✅ Работает |
| Детерминированная деривация ключей | ✅ Работает |
| Адреса mt... с контрольной суммой | ✅ Работает |
| Presence Proof (цепочка подписей) | ✅ Работает |
| TIME_BANK (эмиссия, халвинг, τ₁–τ₄) | ✅ Работает |
| TimeChain (структура слайсов) | ✅ Работает |
| 5-Node Leader Election | ✅ Работает |
| Breathing Sync | ✅ Работает |
| Attack Detection + Random Failover | ✅ Работает |
| Adaptive Cooldown (Sybil) | ✅ Работает |
| TLS 1.3 между узлами | ✅ Работает |
| macOS кошелёк | ✅ Работает |
| iOS кошелёк | ✅ Работает |
| HTTP API (баланс, присутствие) | ✅ Работает |
| Контракты с escrow | ✅ Работает |
| ML-KEM-768 (шифрование) | ⏳ Запланировано |
| Noise XX (гибридный обмен ключами) | ⏳ Запланировано |
---
## Заключение
Montana Protocol — три независимых слоя, связанных только математикой:
1.**Криптография** генерирует ключи и подписи. Офлайн. Чистая математика.
2.**Таймчейн** хранит транзакции и проверяет подписи. Не знает владельцев.
3.**Кошелёк** соединяет первое и второе. Показывает баланс, отправляет транзакции.
Консенсус ACP основан на единственном ресурсе, который невозможно подделать, купить или ускорить — **времени**.
```
Время — единственная реальная валюта.
1 Ɉ = 1 секунда доказанного присутствия.
ML-DSA-65 MAINNET — постквантовая защита с первого дня.
FIPS 204 compliant.
```
---
# КРАТКИЙ СПРАВОЧНИК
## Что такое Montana Protocol?
Протокол идеальных денег. Валюта 金元Ɉ основана на времени — единственном ресурсе, распределённом одинаково между всеми людьми. 1 Ɉ асимптотически стремится к 1 секунде. Постквантовая криптография ML-DSA-65 с первого дня.