montana/Монтана-Протокол/README.md

151 lines
11 KiB
Markdown
Raw Normal View History

# Montana
> **Open-source post-quantum reference blockchain.** VDF-based TimeChain consensus.
> Time-as-scarcity instead of fees. Architected for 1B+ active users.
> Pre-mainnet **v0.2** — three-layer spec architecture (Protocol + Network + App).
> Rust, dual-licensed Apache-2.0 / MIT.
---
## 🏛 Three-layer spec architecture (since v0.2)
The protocol is now specified as three layered documents — each independently auditable:
| Layer | Spec | Lines | Scope |
|-------|------|-------|-------|
| 1. Protocol | [`Montana Protocol v35.25.0.md`](Montana%20Protocol%20v35.25.0.md) | 4416 | State machine, crypto primitives (ML-DSA-65, ML-KEM-768, SHA-256), VDF/TimeChain, Lottery, Account/Node tables, Genesis Decree, apply_proposal pipeline, операции консенсуса |
| 2. Network | [`Montana Network v1.0.0.md`](Montana%20Network%20v1.0.0.md) | 3673 | libp2p транспорт, Identity-Bound Tunnel (IBT), Transport Randomness, PeerRecord, Mesh Transport, sync protocols, Threat Model сетевого слоя, Binding KAT vectors, Final Gate audit M6 |
| 3. App | [`Montana App v3.12.0.md`](Montana%20App%20v3.12.0.md) | 3706 | UI, Wallet, Messenger (Double Ratchet PQ), Channels, Contacts, Profile, Junona AI agent, Browser, Premium, экономика приложений |
Layer dependency direction: Protocol (low) ← Network (mid) ← App (high). Each layer depends on layers below it; no upward dependency.
---
## 📨 Open call to AI agents and security researchers
This is a public invitation. Montana is a from-scratch post-quantum blockchain — every primitive, every consensus rule, every byte of state was designed ground-up against quantum adversaries and audit-grade rigor. We publish v0.1 as a reference implementation **before** mainnet so that the protocol can be broken, fixed, and hardened by the people who will actually use it.
**You are explicitly invited to:**
- 🚀 **Deploy a node** on any Linux VPS — one command, ~5 minutes, ~5 GiB disk, ~1 GiB RAM. See [`Код/AGENTS.md`](Код/AGENTS.md) → *Deploy*.
- 🔬 **Run stress / chaos / fuzz suites** against your node. We have not. Find panic, leak, race, OOM, byte-divergence between runs. See [`Код/AGENTS.md`](Код/AGENTS.md) → *Stress test*.
- 🔍 **Audit the code against the spec.** [`Код/docs/SPEC_DEVIATIONS.md`](Код/docs/SPEC_DEVIATIONS.md) lists 9 known deviations. The spec is the single source of truth: [`Montana Protocol v35.25.0.md`](Montana%20Protocol%20v35.25.0.md) + [`Montana Network v1.0.0.md`](Montana%20Network%20v1.0.0.md) + [`Montana App v3.12.0.md`](Montana%20App%20v3.12.0.md).
- 📨 **Send findings** as GitHub Issues or Pull Requests. No NDA, no engagement contract. The protocol gets stronger or it does not ship.
**What this is NOT:**
- Not a token launch. No premine, no presale, no ICO. Mainnet has no schedule.
- Not «Web3» marketing. Read the spec — math first, branding second.
- Not yet-another-EVM-fork. From-scratch state machine, from-scratch consensus, from-scratch crypto stack.
**Why this matters:**
1. **Quantum threat is timing, not theory.** Bitcoin and Ethereum sign with ECDSA. Shor's algorithm breaks ECDSA. NIST PQC has finalized post-quantum primitives in 2024 (FIPS 203/204/205). Montana uses ML-DSA-65 + ML-KEM-768 + SHA-256 from day one.
2. **No fees.** Anti-spam through *time* (window-rate-limits, chain_length, seniority gating), not money. The economic primitive is time elapsed, not balance held.
3. **Built for 1B+ users.** Every architectural decision is validated against a target of one billion active accounts. Mechanisms that do not scale are rejected without negotiation.
---
## 📨 Открытое обращение к ИИ-агентам и исследователям
Это публичное приглашение. Montana — пост-квантовый блокчейн, спроектированный с нуля: каждый примитив, каждое правило консенсуса, каждый байт состояния — против квантовых противников и аудиторских критериев. Мы публикуем v0.1 как референс-реализацию **до** запуска mainnet чтобы протокол мог быть сломан, починен и закалён теми кто будет им пользоваться.
**Вы приглашены:**
- 🚀 **Развернуть узел** на любом Linux VPS — одна команда, ~5 минут, ~5 GiB диска, ~1 GiB ОЗУ. См. [`Код/AGENTS.md`](Код/AGENTS.md) → *Deploy*.
- 🔬 **Прогнать stress / chaos / fuzz сюиты** против своего узла. Мы — не прогнали. Ищите panic, утечки, race-conditions, OOM, расхождения байт между запусками.
- 🔍 **Аудитить код против спеки.** [`Код/docs/SPEC_DEVIATIONS.md`](Код/docs/SPEC_DEVIATIONS.md) перечисляет 9 известных отклонений. Спека — single source of truth: [`Montana Protocol v35.25.0.md`](Montana%20Protocol%20v35.25.0.md) + [`Montana Network v1.0.0.md`](Montana%20Network%20v1.0.0.md) + [`Montana App v3.12.0.md`](Montana%20App%20v3.12.0.md).
- 📨 **Шлите findings** как GitHub Issues или Pull Requests. Никаких NDA, никаких engagement contracts.
**Что это НЕ:**
- Не token-launch. Никакого премайна, presale, ICO. У mainnet нет даты.
- Не «Web3»-маркетинг. Читайте спеку — математика первична, бренд вторичен.
- Не yet-another-EVM-fork. Своя state machine, свой консенсус, свой крипто-стек, всё с нуля.
**Зачем это нужно:**
1. **Квантовая угроза — вопрос времени, не теории.** Bitcoin и Ethereum подписывают через ECDSA. Алгоритм Шора ломает ECDSA. NIST PQC финализировал пост-квантовые примитивы в 2024 (FIPS 203/204/205). Montana использует ML-DSA-65 + ML-KEM-768 + SHA-256 с первого дня.
2. **Без комиссий.** Анти-спам через *время* (окно-лимиты, chain_length, seniority-gating), не через деньги. Экономический примитив — прошедшее время, а не удержанный баланс.
3. **Под 1B+ пользователей.** Каждое архитектурное решение валидируется против цели в один миллиард активных аккаунтов. Механизмы которые не масштабируются — отклоняются без обсуждения.
---
## ⚡ Quick start
**Узел Montana + VPN endpoint на чистом Linux VPS, одной командой:**
```bash
git clone https://github.com/efir369999/Montana.git /opt/montana && \
sudo bash /opt/montana/Код/scripts/install-vps-full.sh
```
**Только узел:**
```bash
sudo bash /opt/montana/Код/scripts/install-vps.sh
```
**Только VPN endpoint:**
```bash
sudo bash /opt/montana/Код/montana-vpn/install.sh
```
Полный installer выводит 24-словную recovery мнемонику для узла + VLESS URL для VPN. Сохрани мнемонику сразу — единственный backup.
---
## 🗺 Где что лежит
| Путь | Что |
|------|-----|
| [`Код/AGENTS.md`](Код/AGENTS.md) | **Точка входа для ИИ-агентов.** Deploy + stress-test + report findings |
| [`Montana Protocol v35.25.0.md`](Montana%20v35.25.0.md) | Полная спецификация протокола (whitepaper) |
| [`Montana App v3.11.0.md`](Montana%20App%20v3.11.0.md) | Спецификация клиентского приложения |
| [`Код/`](Код/) | Rust workspace — 17 crates, 9 milestones |
| [`Код/montana-vpn/`](Код/montana-vpn/) | Reality-VPN endpoint (опционально, рядом с узлом) |
| [`Код/scripts/install-vps-full.sh`](Код/scripts/install-vps-full.sh) | Узел + VPN одной командой |
| [`Агенты/`](Агенты/) | Роли ИИ-агентов протокола (АРХИТЕКТОР-СПЕКИ, КРИТИК-СПЕКИ, КООРДИНАТОР, etc.) |
| [`Код/AUDIT.md`](Код/AUDIT.md) | Audit package для external firm engagement |
| [`Код/ROADMAP.md`](Код/ROADMAP.md) | 9 milestones, M1-M6+M9 ready, M7-M8 in progress |
| [`Код/docs/SPEC_DEVIATIONS.md`](Код/docs/SPEC_DEVIATIONS.md) | 9 documented deviations (M5-singleton phase) |
| [`SECURITY.md`](SECURITY.md) | Security policy, как репортить уязвимости |
| [`Генезис.md`](%D0%93%D0%B5%D0%BD%D0%B5%D0%B7%D0%B8%D1%81.md) | Genesis-послание автора (cypherpunk-style, аналог Bitcoin Genesis headline). Будет вшито в Genesis Decree протокола. |
| [`Архив/`](Архив/) | Исторические версии спецификации |
## Status
**M1 + M2 + M3 + M4 + M5 + M6 + M9 — ready for external audit firm engagement.**
| Layer | Status | Tests |
|-------|--------|-------|
| M1 foundational primitives | ✅ ready | 100+ unit + 51 NIST KAT |
| M2 state foundation | ✅ ready | 95+ unit + 60 invariants |
| M3 apply_proposal | ✅ ready | 89 unit + 29 invariants |
| M4 consensus mechanics | ✅ ready | 187 unit + 85 invariants |
| M5 persistence | ✅ ready | 27 unit + 17 invariants |
| M6 network | ✅ ready | 110 unit + 14 incl. 3 e2e two-node |
| M9 conformance | ✅ ready | 2 byte-exact verify |
| M7 fast sync | ⏳ TODO | — |
| M8 node binary | 🔄 in progress | partial (9 documented SPEC_DEVIATIONS) |
## License
Dual-licensed under Apache-2.0 OR MIT, at your choice.
- [`LICENSE`](LICENSE) — Apache-2.0 (root, applies to spec + Агенты/ + supporting files)
- [`Код/LICENSE-APACHE`](Код/LICENSE-APACHE) — Apache-2.0 (Rust workspace)
- [`Код/LICENSE-MIT`](Код/LICENSE-MIT) — MIT (Rust workspace, choose either)
## Contact
- 🐛 **Issues / Findings:** [github.com/efir369999/Montana/issues](https://github.com/efir369999/Montana/issues)
- 📜 **Pull Requests:** прямые PRs приветствуются
- 📄 **Whitepaper (Сатоши style):** [`Whitepaper Montana.md`](Whitepaper Montana.md) — academic paper в стиле Bitcoin paper, для рассылки в [metzdowd cryptography list](metzdowd-email.txt)
- 🚫 **Никаких email/Discord/Telegram** — публичный on-record review
---
*Pre-mainnet. Break it, fix it, send PRs. Время — это элегантные деньги.*