# Финальная Архитектура Montana ## Двухуровневая Система Адресов Montana использует **два типа кошельков** с разными архитектурами: --- ## 1. Пользовательские Кошельки ### Архитектура - **Адрес:** Telegram ID - **Ключ:** Telegram Session - **Хранение:** Привязано к Telegram аккаунту ### Философия Максимальная простота для пользователей. Никаких seed phrases, приватных ключей, или метамасок. **Ты уже в Montana, если у тебя есть Telegram.** ### Примеры ```bash Адрес: 123456789 Ключ: Telegram Session (автоматически) Баланс: 1500 секунд # Перевод другому пользователю /transfer 987654321 100 ``` ### Команды - `/start` — показывает твой Telegram ID как адрес кошелька - `/balance` — баланс в секундах - `/transfer ` — перевод пользователю - `/tx` — история транзакций ### Безопасность - ✅ Доступ через Telegram 2FA - ✅ Никаких seed phrases (не можешь потерять) - ⚠️ При смене Telegram аккаунта нужно переносить монеты --- ## 2. Узлы Montana ### Архитектура - **Адрес:** Криптографический пост-квантовый (mt + SHA256(public_key)[:20]) - **Ключ:** Private key ML-DSA-65 (4032 байта) - **Владелец:** Telegram ID оператора узла - **IP:** Только для networking, НЕ для идентификации - **Alias:** Для удобства (например, `amsterdam.efir.org`) ### Философия Максимальная безопасность. Защита от IP hijacking, DNS spoofing, квантовых компьютеров. **Криптография от genesis, не retrofit.** ### Примеры ```bash Адрес: mta46b633d258059b90db46adffc6c5ca08f0e8d6c Ключ: Private Key ML-DSA-65 (4032 байта) Владелец: ADMIN_ID (keyring) (Telegram ID) IP: 72.56.102.240 (только networking) Alias: amsterdam.efir.org Баланс: 5000 секунд # Перевод узлу (по адресу) /transfer mta46b633d258059b90db46adffc6c5ca08f0e8d6c 100 # Перевод узлу (по alias, удобнее) /transfer amsterdam.efir.org 100 ``` ### Команды - `/node` — список всех узлов сети - `/node ` — детали узла - `/register_node` — регистрация нового узла (admin only) - `/transfer ` — перевод узлу ### Генерация Адреса ```python # 1. Генерация ключей ML-DSA-65 (FIPS 204) from dilithium_py.ml_dsa import ML_DSA_65 public_key, private_key = ML_DSA_65.keygen() # 2. Вычисление адреса address = "mt" + SHA256(public_key)[:20].hex() # 3. Alias alias = f"{node_name}.efir.org" # Пример: # address: mta46b633d258059b90db46adffc6c5ca08f0e8d6c # alias: amsterdam.efir.org ``` ### Безопасность - ✅ Защита от IP hijacking (адрес не зависит от IP) - ✅ Защита от DNS spoofing (alias только для UX) - ✅ Защита от MITM (все операции подписаны ML-DSA-65) - ✅ Post-quantum защита активна с GENESIS - ⚠️ Private key = полный контроль (4032 байта, хранить безопасно) --- ## 3. Официальные Узлы Montana ``` 🇳🇱 Amsterdam Адрес: mta46b633d258059b90db46adffc6c5ca08f0e8d6c Alias: amsterdam.efir.org Владелец: ADMIN_ID (keyring) IP: 72.56.102.240 (networking only) Тип: FULL NODE Приоритет: #1 🇷🇺 Moscow Адрес: mta8ae14f74c38294b24c2f1c20c6406e6be929c93 Alias: moscow.efir.org Владелец: ADMIN_ID (keyring) IP: 176.124.208.93 (networking only) Тип: FULL NODE Приоритет: #2 🇰🇿 Almaty Адрес: mtd07b0d9bdab2cb592f509bc1304c368ac703c45e Alias: almaty.efir.org Владелец: ADMIN_ID (keyring) IP: 91.200.148.93 (networking only) Тип: FULL NODE Приоритет: #3 🇷🇺 St.Petersburg Адрес: mtb397e136de69d92e5782f3fe14533a4a37b4ddec Alias: spb.efir.org Владелец: ADMIN_ID (keyring) IP: 188.225.58.98 (networking only) Тип: FULL NODE Приоритет: #4 🇷🇺 Novosibirsk Адрес: mtf3f0254b405382de38494e753924b4b92692bd2c Alias: novosibirsk.efir.org Владелец: ADMIN_ID (keyring) IP: 147.45.147.247 (networking only) Тип: FULL NODE Приоритет: #5 ``` --- ## 4. Переводы Montana поддерживает **универсальные переводы** между любыми адресами: ### Типы Переводов #### Пользователь → Пользователь ```bash /transfer 987654321 100 ``` - От: Telegram ID - Кому: Telegram ID - Proof: криптографический хеш - Анонимность: адреса хэшированы в публичной ленте #### Пользователь → Узел ```bash # По адресу /transfer mta46b633d258059b90db46adffc6c5ca08f0e8d6c 50 # По alias (удобнее) /transfer amsterdam.efir.org 50 ``` - От: Telegram ID - Кому: Криптографический адрес (mt...) - Resolve: alias → cryptographic address автоматически #### Узел → Пользователь ```bash # Награда за майнинг (выполняется автоматически) Node mta46b633d... → User 123456789: 200 seconds ``` - От: Криптографический адрес - Кому: Telegram ID - Требуется: подпись private key узла #### Узел → Узел ```bash # Перевод между узлами (через админа) /transfer moscow.efir.org 1000 ``` - От: Криптографический адрес - Кому: Криптографический адрес - Требуется: подпись private key узла отправителя --- ## 5. Криптография ### MAINNET: ML-DSA-65 (FIPS 204) **Алгоритм:** ML-DSA-65 (Post-Quantum) ```python from dilithium_py.ml_dsa import ML_DSA_65 # Генерация ключей public_key, private_key = ML_DSA_65.keygen() # Адрес address = "mt" + hashlib.sha256(public_key).digest()[:20].hex() # Подпись signature = ML_DSA_65.sign(private_key, message) # Верификация ML_DSA_65.verify(public_key, message, signature) ``` **Почему ML-DSA-65 с GENESIS:** - ✅ Post-quantum защита (lattice-based) - ✅ NIST Level 3 security (128-bit post-quantum) - ✅ Защита от Shor's algorithm - ✅ FIPS 204 стандарт - ✅ НЕ НУЖНА миграция — защита с первого дня **Размеры ключей:** | Параметр | Размер | |----------|--------| | Private key | 4032 байта | | Public key | 1952 байта | | Signature | 3309 байт | --- ## 6. Статус: MAINNET PRODUCTION ### Январь 2026: ML-DSA-65 АКТИВЕН ```python CRYPTO_MODE = "ML-DSA-65" # MAINNET с genesis ``` **Достигнуто:** - ✅ Все узлы на ML-DSA-65 - ✅ Montana защищена от квантовых компьютеров с первого дня - ✅ Нет legacy Ed25519 — чистый post-quantum - ✅ FIPS 204 compliant --- ## 7. Безопасность ### Защита от Атак | Атака | Пользователи | Узлы | |-------|--------------|------| | **IP Hijacking** | N/A (no IP) | ✅ Адрес не зависит от IP | | **DNS Spoofing** | N/A | ✅ Alias только для UX | | **MITM** | ✅ Telegram encryption | ✅ Подписи ML-DSA-65 | | **Sybil** | ✅ 1 человек = 1 Telegram | ✅ Biometrics (FIDO2) | | **Quantum** | ⚠️ Telegram зависит | ✅ ML-DSA-65 (post-quantum) | | **Key Theft** | ⚠️ Telegram 2FA | ⚠️ Secure storage needed | ### Рекомендации **Для пользователей:** - Включи Telegram 2FA - Не используй публичные Wi-Fi для переводов - Переноси монеты перед сменой Telegram **Для операторов узлов:** - Храни private key в HSM (Hardware Security Module) - Используй отдельный Telegram для управления узлами - Регулярно обновляй IP whitelist для доступа к узлу - Мониторь подозрительные транзакции --- ## 8. Сравнение с Другими Блокчейнами ### Bitcoin | Параметр | Bitcoin | Montana | |----------|---------|---------| | **Адрес** | SHA256(RIPEMD160(pubkey)) | mt + SHA256(pubkey)[:20] | | **Алгоритм** | ECDSA (secp256k1) | ML-DSA-65 (FIPS 204) | | **Quantum** | ❌ Vulnerable | ✅ Protected from genesis | | **UX** | Seed phrase (12-24 words) | Telegram ID (простота) | | **Migration** | Hard fork needed | Not needed — PQ from day 1 | ### Ethereum | Параметр | Ethereum | Montana | |----------|----------|---------| | **Адрес** | Keccak256(pubkey)[-20:] | mt + SHA256(pubkey)[:20] | | **Алгоритм** | ECDSA (secp256k1) | ML-DSA-65 (FIPS 204) | | **Quantum** | ❌ Vulnerable | ✅ Protected from genesis | | **UX** | MetaMask + seed phrase | Telegram ID (простота) | | **Gas fees** | Variable, high | None (time-based) | ### Solana | Параметр | Solana | Montana | |----------|--------|---------| | **Адрес** | Ed25519 pubkey (base58) | mt + SHA256(pubkey)[:20] | | **Алгоритм** | Ed25519 | ML-DSA-65 (FIPS 204) | | **Quantum** | ❌ Vulnerable | ✅ Protected from genesis | | **UX** | Phantom wallet | Telegram ID (простота) | | **Speed** | ~400ms block time | ~10min T2 slice | --- ## 9. Файловая Структура ``` Montana/ ├── Протокол (Rust, production) │ ├── crypto.rs # ML-DSA-65, ML-KEM-768 │ ├── consensus.rs # ACP consensus │ └── noise.rs # Hybrid encryption │ ├── Telegram Бот (Python, MAINNET) │ ├── node_crypto.py # ML-DSA-65 (FIPS 204) │ ├── time_bank.py # Банк времени │ ├── montana_db.py # SQLite база │ └── junomontanaagibot.py # Telegram интеграция │ └── Документация ├── English/protocol/ │ ├── 001_ACP.md │ ├── 007_POST_QUANTUM.md │ └── CRYPTOGRAPHY_SPECIFICATION.md │ └── Русский/бот/ ├── NODE_CRYPTO_SYSTEM.md ├── QUANTUM_TRANSFERS.md └── ARCHITECTURE_FINAL.md (этот файл) ``` --- ## 10. Выводы ### Ключевые Особенности Montana 1. **Двухуровневая архитектура** - Пользователи: простота (Telegram ID) - Узлы: безопасность (криптография) 2. **Post-quantum from genesis** - Не retrofit, а оригинальный дизайн - Защита от квантовых компьютеров с первого дня 3. **Универсальные переводы** - Любой адрес → Любой адрес - Telegram ID, криптографический адрес, alias 4. **IP independence** - Адрес не зависит от IP - Защита от IP hijacking 5. **Квантовая анонимность** - Публично виден только proof - Адреса хэшированы - Суммы скрыты ### Философия **Для пользователей:** ``` Ты уже в Montana, если у тебя есть Telegram. Никаких seed phrases, метамасок, или сложностей. ``` **Для узлов:** ``` Максимальная безопасность. ML-DSA-65 от genesis. Post-quantum ACTIVE. ``` --- **Ɉ Montana — Протокол идеальных денег** *Время — единственная реальная валюта* *ML-DSA-65 MAINNET — Post-quantum с первого дня* *FIPS 204 compliant*