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

151 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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. Время — это элегантные деньги.*