diff --git a/Montana-Protocol/Code/crates/montana-node/src/commands/start.rs b/Montana-Protocol/Code/crates/montana-node/src/commands/start.rs index 3b8fd111..57e86eb3 100644 --- a/Montana-Protocol/Code/crates/montana-node/src/commands/start.rs +++ b/Montana-Protocol/Code/crates/montana-node/src/commands/start.rs @@ -191,6 +191,10 @@ pub fn run(args: StartArgs) -> Result<(), NodeError> { let store = FsStore::open(&data_dir) .map_err(|e| NodeError::InvalidArguments(format!("FsStore::open: {e:?}")))?; + // DEV-012 T_r history: per-window T_r snapshot for BC endpoint validation + // when BCs arrive after current has advanced. + let mut t_r_history: BTreeMap = BTreeMap::new(); + // DEV-012 multi-confirmer: per-window accumulator of BCs from Active peers. // Keyed by window then node_id so duplicates from same node deduplicate. let mut bc_accumulator: BTreeMap> = @@ -571,7 +575,11 @@ pub fn run(args: StartArgs) -> Result<(), NodeError> { // current-window BCs this is timechain.t_r; for past windows // we'd need history. Simplification: validate against // current t_r only; older BCs may fail and be ignored. - if mt_lottery::validate_bundle(&bc, &state.nodes, &timechain.t_r) + let expected_t_r = t_r_history + .get(&bc.window_index) + .copied() + .unwrap_or(timechain.t_r); + if mt_lottery::validate_bundle(&bc, &state.nodes, &expected_t_r) .is_ok() { let node_id = bc.node_id; @@ -839,7 +847,14 @@ pub fn run(args: StartArgs) -> Result<(), NodeError> { signature: Signature::from_array([0u8; SIGNATURE_SIZE]), }; - // DEV-012: insert own BC into accumulator first. + // DEV-012: record T_r for this window so late-arriving BCs validate + // against historical T_r (not Armenia's current after window advances). + t_r_history.insert(current, timechain.t_r); + while t_r_history.len() > 64 { + let oldest = *t_r_history.keys().next().unwrap(); + t_r_history.remove(&oldest); + } + // Insert own BC into accumulator first. bc_accumulator .entry(current) .or_default() @@ -901,11 +916,15 @@ pub fn run(args: StartArgs) -> Result<(), NodeError> { if let Ok((rec_bc, _)) = BundledConfirmation::decode(&msg.payload) { + let exp_t_r = t_r_history + .get(&rec_bc.window_index) + .copied() + .unwrap_or(timechain.t_r); if rec_bc.window_index == current && mt_lottery::validate_bundle( &rec_bc, &state.nodes, - &timechain.t_r, + &exp_t_r, ) .is_ok() { diff --git a/Montana-Protocol/Manifesto/Manifesto EN.md b/Montana-Protocol/Manifesto/Manifesto EN.md index 5c378730..97babb6a 100644 --- a/Montana-Protocol/Manifesto/Manifesto EN.md +++ b/Montana-Protocol/Manifesto/Manifesto EN.md @@ -1,80 +1,115 @@ # The Montana Manifesto -**Version:** 1.0.0 +**Version:** 1.1.0 **Date:** 2026-05-28 **Author:** Alejandro Montana **Repository:** [github.com/efir369999/Montana](https://github.com/efir369999/Montana) -> *"He who controls the past controls the future. He who controls the present controls the past."* -> — George Orwell, *1984* +> *"Who controls the past controls the future. Who controls the present controls the past."* +> — Orwell, *1984* -## I. The Question +**The cash system Bitcoin promised. The economics of time the digital-money tradition has not yet built.** -Bitcoin answered one question: **Whom do we trust with money?** *No one. Trust mathematics.* +## I. The Cash System Bitcoin Did Not Build -Bitcoin removed trust from money but left trust in time. Its difficulty adjusts to the wall-clocks of its miners; its block heights are measured against the watches of the world outside. +Bitcoin's title was *A Peer-to-Peer Electronic Cash System*. Its cryptographic answer is famous: *whom do we trust with money?* — no one, trust mathematics. The cash-system answer never arrived. -Montana answers a deeper question: **Whom do we trust with time?** +A merchant at the corner cannot receive seven cents from the customer at the counter: the fee consumes the transaction. Settlement waits for block confirmation that is ten minutes at best and unbounded under congestion: the merchant cannot let the customer leave. Anti-spam is denominated in the very currency the system creates: under congestion the small user is priced out, under abundance the spammer re-enters at marginal cost — the mechanism oscillates with demand and does not converge. -Money is a derivative of time, not the other way around. Today the infrastructure of time (NTP), of position (GPS), of communication (messaging servers) and of history (centralized databases) demands unconditional trust in a third party. One point of failure is one point of control. To control this infrastructure is to control the present. To control the databases is to rewrite the past. +Bitcoin became **digital gold**. The medium-of-exchange property its title promised was never delivered. -Montana makes *1984* technically impossible. +Two things were missing. -## II. Time as Computation +- **A cash-system tokenomics.** Zero fees, so the seven-cent transaction settles. Asynchronous finality at window cementing — within a single window of the canonical order (approximately one minute of wall-clock at the genesis-hardware calibration), with no fee auction and no block queue ahead of the next operation. A non-speculative emission unit. +- **An economics of time.** A non-monetary scarcity that replaces fees in anti-abuse, so the cash properties above are not undermined by the very mechanism that defends them — which is how Bitcoin lost its cash character in the first place. -In Montana, a Verifiable Delay Function is not a clock that *displays* time. The VDF *is* time, written into the work of a sequential SHA-256 hash chain (FIPS 180-4). Each window is a sequential computation of `D ≈ 325 000 000` iterations on commodity x86_64 hardware. It cannot be parallelized; it cannot be faked; it cannot be hurried beyond the physics of the processor. +The economics of time is a domain Bitcoin's framing did not see. The cash system is what Bitcoin's framing said but did not build. Montana takes both. -Montana does not consume external time. Montana **produces** it. The output is an unbreakable cryptographic arrow of time — the **TimeChain**. +Montana addresses, at the same level, three places where trust must still be removed: -We chose a sequential SHA-256 delay function over the efficiently-verifiable constructions of Boneh, Bonneau, Bünz and Fisch [CRYPTO 2018], Pietrzak [ITCS 2019] and Wesolowski [EUROCRYPT 2019] deliberately. Verification cost equals computation cost. The minimal cryptographic surface is its own audit. SHA-256 is already required for hashing, addressing and Merkle commitments; no new assumption is added. +- **Trust in time.** The protocol produces a canonical order of events with no external source. +- **Trust in storage.** A user's data lives on the user's node, not in a corporation's database. +- **Trust in communication.** Messages flow between users through their nodes, with no intermediary. + +The solution to the first problem is the foundation of the other two — and the carrier of the time-economics that makes the cash system viable. + +## II. Canonical Order, Not Wall-Clock Time + +Each Montana node performs a **sequential delay computation** — an iterated SHA-256 hash chain `T_W = SHA-256^D (T_{W-1})` with `D = 325 000 000` iterations per window. `D` is fixed in the Genesis Decree from a single quartz measurement on the genesis hardware (Apple iMac M1 2021, idle, single-thread); after Genesis the protocol consults no clock ([I-18]). The wall-clock duration of a window is an emergent property of each node's hardware and is not part of consensus state. + +This is **not** a verifiable delay function in the sense of Boneh-Bonneau-Bünz-Fisch [CRYPTO 2018], Pietrzak [ITCS 2019] or Wesolowski [EUROCRYPT 2019]. Those constructions provide succinct verification of order `O(log T)` or `O(1)`, but they operate over RSA groups or class groups of imaginary quadratic fields — assumptions broken by Shor's algorithm. A production-grade post-quantum succinct VDF does not yet exist. Montana takes the simpler primitive: an iterated SHA-256 chain. Verification cost equals computation cost; a verifier re-runs the same iterations the prover ran. SHA-256 is already required for addressing, hashing and Merkle commitments — no new assumption is added. The cryptographic surface is minimized to one primitive ([I-7]). + +The output is the **TimeChain**: a canonical, monotonic, unambiguous, independently verifiable sequence of windows. Montana does not measure physical duration. Mapping a window number to a calendar is the observer's task, not the protocol's. ## III. The Hierarchy of Truth -Montana is built on a strict dependency. Every layer is impossible without the one below. +Every layer is impossible without the one below. -1. **Time** (`TimeChain`) — irreversible computation. The base layer of physics. Every operator ticks independently; together they form one global oscillator. -2. **Presence** (`NodeChain`) — proof that a specific identity accompanied this stream of time. Weight in the network is measured by proven time of presence, not by capital. Capital does not buy more time. -3. **Money** (`Account`, `TimeCoin`) — the quantitative derivative of proven presence. The unit `Ɉ` is not a reward for solving meaningless puzzles; it is the recording of a passed second in the network's ledger. Emission is closed-form: `supply(W) = 13 × (W + 1) Ɉ`. No premine. No presale. No founder allocation. -4. **History** (`Anchor`) — the binding of any external fact (document, message, transaction) to this protected timeline. A hash is sealed in the TimeChain. To rewrite it is to recompute every iteration of the VDF from genesis. Mathematically impossible. +1. **Canonical order** (`TimeChain`) — irreversible sequential computation. The base layer. +2. **Presence** (`NodeChain`) — a node's chain length, accumulated one window at a time as the node is canonically cemented into the order. Weight in consensus is presence, not capital. Capital cannot retroactively purchase past participation. +3. **Money** (`Account`, the Montana currency) — a quantitative derivative of presence. The reward for sealing a window is `EMISSION_moneta = 13 × 10⁹ moneta = 13 Ɉ`. Supply is closed-form: `supply_moneta(W) = EMISSION_moneta × (W + 1)`. No premine, no presale, no founder allocation, no halving, no supply cap, no discretionary issuance. +4. **History** (`Anchor`) — a 32-byte hash bound to a window for the lifetime of the network. Rewriting it requires recomputing every iteration of the chain from the Genesis Decree. Mathematically impossible. -*Money without proven presence is a phantom. Presence without verifiable time is a claim. Time without irreversible computation is trust.* +`1 Ɉ = 10⁹ moneta`. The international ticker is `MONT`. ## IV. Post-Quantum from the First Day -All consensus signatures are **ML-DSA-65** (FIPS 204). All transport key encapsulation is **ML-KEM-768** (FIPS 203). Hashing is **SHA-256** (FIPS 180-4). The transport handshake is **Noise_PQ XX**: ephemeral ML-KEM-768 on both sides, an ML-DSA-65 signature binding the full handshake transcript, and ChaCha20-Poly1305 AEAD framing on the established session (RFC 8439). +- **Consensus signatures:** ML-DSA-65 (FIPS 204). +- **Transport key encapsulation:** ML-KEM-768 (FIPS 203). +- **Hashing:** SHA-256 (FIPS 180-4). +- **Transport handshake:** Noise_PQ XX — ephemeral ML-KEM-768 on both sides, an ML-DSA-65 signature binding the full transcript, ChaCha20-Poly1305 AEAD framing (RFC 8439) on the established session. +- **PeerId:** the SHA-256 multihash of each peer's ML-DSA-65 identity public key. No ECDSA. No EdDSA. No classical Diffie-Hellman. No assumption that Shor's algorithm will be late. -PeerId is the SHA-256 multihash of each peer's ML-DSA-65 identity public key. Routing identity and consensus identity are bound to the same key material. +## V. The Cash-System Tokenomics -## V. Architecture Without Compromise +The properties that make Montana a peer-to-peer electronic cash system are not features layered on a chain — they are the chain. -- **Zero fees.** Anti-spam is operated by time, not by money: per-identity rate per window, `account_chain_length` thresholds, seniority gating. The protocol contains no `fee` field on any operation. -- **Asynchronous finality.** Transfers do not wait for blocks. They are cemented through a P2P quorum of signatures from active operators in approximately 300 milliseconds. -- **No plutocracy.** Whoever holds one billion `Ɉ` has no more power in consensus than the operator of a Mac Mini. Emission (chronometric) and consensus (Proof of Time) are mathematically separated. The lottery seed incorporates `cemented_bundle_aggregate(W-2)` — a value an attacker cannot precompute without forging the signatures of honest participants. -- **No governance in state.** There is no DAO, no treasury, no founder veto. Advisory councils may exist outside the protocol; none of them have binding force inside it. The author is removed from the protocol. -- **No genesis nodes.** Montana launches as a peer-to-peer network in the style of Bitcoin. Any participant joins by running one command in a terminal. There is no founder-controlled bootstrap quorum. -- **67% honest active chain length.** Safety holds while honest operators control more than two-thirds of `active_chain_length`. Capital does not enter this threshold. +- **Zero fees.** The protocol contains no `fee` field on any operation. The seven-cent transaction settles. +- **Asynchronous finality.** Transfers do not wait for blocks. They are cemented through a P2P quorum of signatures from active operators within a single window of the canonical order (approximately one minute of wall-clock at the genesis-hardware calibration; the wall-clock duration is emergent, not part of consensus state). The merchant lets the customer leave. +- **Constant monotonic emission.** `13 Ɉ` per window, fixed by the Genesis Decree, closed-form. No halving, no supply cap, no discretionary issuance. Supply is predictable for decades through one formula. The unit of money is not speculative; it is the record of a sealed window. +- **No plutocracy by construction.** Whoever holds a billion `Ɉ` has no more power in consensus than the operator of a Mac Mini. A node's weight is its chain length — its history of cemented presence. The lottery seed incorporates `cemented_bundle_aggregate(W-2)`, signatures from honest operators two windows back, which closes the grinding attack class under hardware asymmetry without depending on rational-cost arguments. +- **Two-thirds honest chain length.** Safety holds while honest operators control more than two-thirds of `active_chain_length`. Capital does not enter the threshold. -## VI. The Scale Baseline +## VI. The Economics of Time -Every decision in Montana is calibrated for **at least one billion active users**. Mechanisms that do not scale to 10⁹ are discarded without discussion. AccountRecord is 2 059 bytes; state at 10⁹ accounts is approximately 2.06 TB, holdable on commodity disks. The pruning rule is canonical: state size is bounded by active population, not by chain age. +Anti-abuse is done by time, not by money — three independent scarcities, each derived from time elapsed. -## VII. Privacy as a Choice +- **Per-identity rate per window.** One operation per account per window τ₁. An attacker with N Sybil identities gets at most N operations per window, but each identity has its own creation cost. +- **`account_chain_length` thresholds.** Privileged operations require the operating account to have been active for at least `k` windows. The threshold cannot be purchased. +- **Sequential entry barrier for node operators.** Node registration requires producing a sequential SHA-256 chain of length `vdf_chain_length × D` iterations — approximately fourteen days of wall-clock on a commodity x86_64 core. Sequential time is non-acquirable; an attacker with `M` parallel machines produces `M` identities at the same wall-clock cost, not faster. -Balances, transfers and operator identities are public by default. Privacy is achieved through **Anchor** objects: a 32-byte hash is committed to the chain and the encrypted content is held off-chain by its owner. The protocol has no visibility into the contents. Privacy is what the user chooses to keep — not what the protocol imposes nor what the protocol forbids. +Together these three close DoS without monetary barriers. Time as scarcity does not require a price feed, an oracle, or an exchange to measure. Its valuation is fixed by the protocol: one window is one window, regardless of `Ɉ` price. -## VIII. What Montana Is Not +## VII. The Ladder of Sovereignty -Montana is not a faster Ethereum. Montana is not an L2. Montana is not a privacy mixer. Montana is not yield. Montana is not governance. Montana is not a brand. +Two roles, one chain. -Montana is the digital atomic clock for the internet. It is the standard of frequency from which money, presence and history derive. +- **Account user.** A key in a smartphone or hardware wallet. Sends and receives Montana; commits 32-byte hashes via `Anchor`; runs applications on top of someone else's node. No protocol-layer earnings. Barrier: a first incoming Transfer (the AccountRecord is created atomically together with crediting the amount). +- **Node operator.** Commodity hardware (one CPU core), 24/7 uptime, a network connection, and the sequential SHA-256 entry barrier at registration. Full participation in consensus. Earnings through the per-window node lottery. + +The seed phrase and the account chain belong to the user, not to the node. The user moves up the ladder when they choose to. + +## VIII. The Scale Baseline, Privacy, and Removal of the Author + +- **Scale.** Every decision is calibrated for at least one billion active users. Mechanisms that do not scale to 10⁹ are discarded without discussion. AccountRecord is 2 059 bytes; state at 10⁹ accounts is approximately 2.06 TB, holdable on commodity disks. Pruning is canonical: state size is bounded by active population, not by chain age. +- **Privacy.** Balances and account graphs are public by default ([I-2]). Application-level privacy is achieved through `Anchor`: a 32-byte hash is committed to the chain; encrypted content is held off-chain by its owner. The protocol has no visibility into the contents. Privacy is what the user chooses to keep — not what the protocol imposes nor what the protocol forbids. +- **No governance in state.** No DAO, no treasury, no founder veto. Advisory councils may exist outside the protocol; none of them have binding force inside it. The author is removed from the protocol by construction. Montana launches as a peer-to-peer network with no founder-controlled bootstrap quorum. + +## IX. What Montana Is + +Not a blockchain with a timestamping feature. Not a faster Ethereum. Not an L2. Not a privacy mixer. Not yield. Not governance. Not a brand. Not digital gold. + +Montana is **the peer-to-peer electronic cash system whose anti-abuse scarcity is time, not money** — the cash system Bitcoin's title promised and Bitcoin did not deliver, built on top of **the economics of time** the digital-money tradition has not yet built. + +A time frame of reference with a value-transfer feature. The standard of frequency from which money, presence and history derive. --- -**Reference implementation:** Rust, Apache-2.0 / MIT. Twelve crates including `mt-timechain`, `mt-consensus`, `mt-lottery`, `mt-crypto`, `mt-net`, `mt-noise-pq`. Specification: [Whitepaper Montana.md](../Whitepaper%20Montana.md). +**Reference implementation:** Rust, Apache-2.0 / MIT. Twenty-three crates including `mt-timechain`, `mt-consensus`, `mt-lottery`, `mt-crypto`, `mt-net`, `mt-noise-pq`. Specification: [Whitepaper Montana.md](../Whitepaper%20Montana.md) and [Montana Protocol v35.25.1](../Montana%20Protocol%20v35.25.1.md). -**Symbol:** **Ɉ** — one second of Montana time. +**Symbol:** **Ɉ** — Montana. `moneta` — the smallest unit (`1 Ɉ = 10⁹ moneta`). **Ticker:** `MONT`. Alejandro Montana *Ничто_Nothing_无_金元Ɉ* diff --git a/Montana-Protocol/Manifesto/Manifesto RU.md b/Montana-Protocol/Manifesto/Manifesto RU.md index cd897d5c..ae895e18 100644 --- a/Montana-Protocol/Manifesto/Manifesto RU.md +++ b/Montana-Protocol/Manifesto/Manifesto RU.md @@ -1,80 +1,115 @@ # Манифест Монтаны -**Версия:** 1.0.0 +**Версия:** 1.1.0 **Дата:** 28 мая 2026 **Автор:** Alejandro Montana **Репозиторий:** [github.com/efir369999/Montana](https://github.com/efir369999/Montana) -> *«Тот, кто контролирует прошлое, контролирует будущее. Тот, кто контролирует настоящее, контролирует прошлое».* -> — Дж. Оруэлл, *1984* +> *«Кто контролирует прошлое — контролирует будущее. Кто контролирует настоящее — контролирует прошлое».* +> — Оруэлл, *1984* -## I. Вопрос +**Кэш-система, которую обещал Биткоин. Экономика времени, которую традиция цифровых денег ещё не построила.** -Биткоин ответил на один вопрос: **Кому доверять деньги?** *Никому. Доверяй математике.* +## I. Кэш-система, которую Биткоин не построил -Биткоин убрал доверие из денег, но оставил доверие во времени. Его сложность подстраивается под наручные часы майнеров; высота его блоков сверяется со временем мира снаружи. +Название whitepaper Биткоина — *«A Peer-to-Peer Electronic Cash System»*. Его криптографический ответ известен: *кому доверять деньги?* — никому, доверяй математике. Системного ответа на «кэш-систему» так и не пришло. -Монтана отвечает на более глубокий вопрос: **Кому доверять время?** +Продавец на углу не может принять семь центов от покупателя у кассы: комиссия съедает перевод. Финальность ждёт подтверждения блока — десять минут в лучшем случае и неограниченное время при заторе: продавец не может отпустить покупателя. Анти-спам выражен в той же валюте, которую система создаёт: при заторе мелкий пользователь вытеснен ценой, при свободе спамер возвращается по предельной цене — механизм осциллирует со спросом и не сходится. -Деньги — производная от времени, а не наоборот. Сегодня инфраструктура измерения времени (NTP), позиционирования (GPS), связи (серверы мессенджеров) и истории (централизованные базы данных) требует безусловного доверия к третьей стороне. Одна точка отказа — одна точка контроля. Контролировать эту инфраструктуру означает контролировать настоящее. Контролировать базы данных — переписывать прошлое. +Биткоин стал **digital gold**. Медиум-обмена-функция, обещанная в заголовке, не была доставлена. -Монтана делает *1984* технически невозможным. +Не хватало двух вещей. -## II. Время как вычисление +- **Токеномики кэш-системы.** Нулевые комиссии, чтобы перевод на семь центов имел смысл. Асинхронная финальность на закрытии окна — внутри одного окна канонического порядка (примерно одна минута wall-clock на генезис-калибровке), без fee-аукциона и без очереди блоков перед следующей операцией. Неспекулятивная единица эмиссии. +- **Экономики времени.** Неденежная нехватка, заменяющая комиссию в анти-абузе — иначе свойства кэш-системы будут подорваны тем же механизмом, который их защищает (это и есть способ, которым Биткоин потерял свой кэш-характер). -В Монтане функция отложенной верификации (VDF) — это не часы, которые *показывают* время. VDF — это само время, *записанное в работе* последовательной цепочки хэшей SHA-256 (FIPS 180-4). Каждое окно — последовательное вычисление `D ≈ 325 000 000` итераций на обычном процессоре x86_64. Его невозможно распараллелить, нельзя подделать, нельзя ускорить за пределами физики самого процессора. +Экономика времени — это домен, которого рамка Биткоина не увидела. Кэш-система — это то, что рамка Биткоина сказала, но не построила. Монтана берёт оба. -Монтана не потребляет внешнее время. Монтана его **производит**. На выходе — нерушимая криптографическая стрела времени — **TimeChain**. +Монтана адресует на одном уровне три места, где доверие нужно убрать: -Мы намеренно выбрали последовательную SHA-256 функцию вместо эффективно-верифицируемых конструкций Бонеха-Бонно-Бюнца-Фиша [CRYPTO 2018], Петрчака [ITCS 2019] и Весоловского [EUROCRYPT 2019]. Стоимость проверки равна стоимости вычисления. Минимальная криптографическая поверхность — это и есть аудит. SHA-256 в любом случае нужен для хеширования, адресации и обязательств Меркла; новых предположений не добавляется. +- **Доверие ко времени.** Протокол производит канонический порядок событий без внешнего источника. +- **Доверие к хранению.** Данные пользователя живут на узле пользователя, а не в базе корпорации. +- **Доверие к связи.** Сообщения текут между пользователями через их узлы без посредника. + +Решение первой задачи — фундамент двух остальных и носитель той экономики времени, которая делает кэш-систему жизнеспособной. + +## II. Канонический порядок, не наручное время + +Каждый узел Монтаны выполняет **последовательное вычисление с задержкой** — итерированную цепочку хэшей SHA-256 `T_W = SHA-256^D (T_{W-1})`, где `D = 325 000 000` итераций на окно. `D` зафиксирован в Указе Генезиса по единственному кварцевому замеру на генезис-железе (Apple iMac M1 2021, idle, single-thread); после Генезиса протокол не обращается к часам ([I-18]). Длительность окна в секундах внешнего мира — эмерджентное свойство железа узла, она не входит в consensus state. + +Это **не** verifiable delay function в смысле Бонех-Бонно-Бюнц-Фиш [CRYPTO 2018], Петрчака [ITCS 2019] или Весоловского [EUROCRYPT 2019]. Те конструкции дают сжатую верификацию `O(log T)` или `O(1)`, но работают над группами RSA или групп классов мнимо-квадратичных полей — предположения, ломаемые алгоритмом Шора. PQ-стойкого succinct VDF production-grade сегодня не существует. Монтана берёт более простой примитив: итерированную цепочку SHA-256. Стоимость проверки равна стоимости вычисления; верификатор повторяет те же итерации, что и вычислитель. SHA-256 в любом случае нужен для адресации, хеширования и обязательств Меркла — новых предположений не добавляется. Криптографическая поверхность сведена к одному примитиву ([I-7]). + +На выходе — **TimeChain**: канонический, монотонный, однозначный, независимо верифицируемый порядок окон. Монтана не измеряет физическую длительность. Сопоставление номера окна с календарём — задача наблюдателя, не протокола. ## III. Иерархия истины -Архитектура Монтаны строится на строгой зависимости. Каждый последующий слой невозможен без предыдущего. +Каждый последующий слой невозможен без предыдущего. -1. **Время** (`TimeChain`) — необратимое вычисление. Базовый слой физики. Каждый оператор тикает независимо; вместе они образуют единый глобальный осциллятор. -2. **Присутствие** (`NodeChain`) — доказательство того, что конкретный идентификатор сопровождал этот поток времени. Вес в сети измеряется доказанным временем присутствия, не капиталом. Капитал не покупает времени. -3. **Деньги** (`Account`, `TimeCoin`) — количественная производная от доказанного присутствия. Единица `Ɉ` — это не награда за решение бессмысленных задач, а запись прошедшей секунды в книге сети. Эмиссия в закрытой форме: `supply(W) = 13 × (W + 1) Ɉ`. Никакого премайна. Никакого пресейла. Никакой доли основателя. -4. **История** (`Anchor`) — привязка любого внешнего факта (документа, сообщения, транзакции) к этой защищённой временной линии. Хэш навсегда зафиксирован в TimeChain. Переписать его означает пересчитать каждую итерацию VDF от генезиса. Математически невозможно. +1. **Канонический порядок** (`TimeChain`) — необратимое последовательное вычисление. Базовый слой. +2. **Присутствие** (`NodeChain`) — длина цепочки узла, накапливающаяся по одному окну за раз по мере канонической фиксации узла в порядке. Вес в консенсусе — это присутствие, не капитал. Капитал не покупает ретроактивно прошлое участие. +3. **Деньги** (`Account`, валюта Монтана) — количественная производная от присутствия. Награда за окно — `EMISSION_moneta = 13 × 10⁹ moneta = 13 Ɉ`. Эмиссия в закрытой форме: `supply_moneta(W) = EMISSION_moneta × (W + 1)`. Никакого премайна, пресейла, доли основателя, халвинга, supply cap, дискреционной эмиссии. +4. **История** (`Anchor`) — 32-байтовый хэш, привязанный к окну на всю жизнь сети. Переписать его означает пересчитать каждую итерацию цепочки от Указа Генезиса. Математически невозможно. -*Деньги без доказанного присутствия — фантомы. Присутствие без верифицируемого времени — заявление. Время без необратимых вычислений — доверие.* +`1 Ɉ = 10⁹ moneta`. Международный тикер — `MONT`. ## IV. Постквантовая с первого дня -Все консенсусные подписи — **ML-DSA-65** (FIPS 204). Все инкапсуляции ключей транспорта — **ML-KEM-768** (FIPS 203). Хеширование — **SHA-256** (FIPS 180-4). Транспортное рукопожатие — **Noise_PQ XX**: эфемерные ML-KEM-768 с обеих сторон, подпись ML-DSA-65 связывающая весь транскрипт рукопожатия, шифрование установленной сессии ChaCha20-Poly1305 AEAD (RFC 8439). +- **Консенсусные подписи:** ML-DSA-65 (FIPS 204). +- **Инкапсуляция ключей транспорта:** ML-KEM-768 (FIPS 203). +- **Хеширование:** SHA-256 (FIPS 180-4). +- **Транспортное рукопожатие:** Noise_PQ XX — эфемерные ML-KEM-768 с обеих сторон, ML-DSA-65 подпись связывающая весь транскрипт, шифрование сессии ChaCha20-Poly1305 AEAD (RFC 8439). +- **PeerId:** SHA-256 multihash открытого ключа ML-DSA-65 каждого пира. Никакого ECDSA. Никакого EdDSA. Никакого классического Диффи-Хеллмана. Никаких надежд, что алгоритм Шора задержится. -PeerId — это SHA-256 multihash открытого ключа ML-DSA-65 каждого пира. Маршрутизация и консенсус привязаны к одному и тому же ключевому материалу. +## V. Токеномика кэш-системы -## V. Архитектура без компромиссов +Свойства, делающие Монтану peer-to-peer электронной кэш-системой, — это не «фичи поверх цепи». Это сама цепь. -- **Без комиссий.** Защита от спама построена через время, не через деньги: одна операция на идентичность за окно, пороги по `account_chain_length`, приоритет по выслуге. В протоколе нет поля `fee` ни в одной операции. -- **Асинхронная финальность.** Переводы не ждут блоков. Они закрепляются через P2P-кворум подписей активных операторов примерно за 300 миллисекунд. -- **Без плутократии.** Тот, у кого один миллиард `Ɉ`, не имеет в консенсусе больше власти, чем оператор Mac Mini. Эмиссия (хронометрическая) и консенсус (Proof of Time) математически разделены. Семя лотереи содержит `cemented_bundle_aggregate(W-2)` — значение, которое атакующий не может предвычислить без подделки подписей честных участников. -- **Никакого governance в состоянии.** Нет DAO, нет казны, нет права вето основателя. Совещательные советы могут существовать снаружи протокола; ни один из них не имеет обязывающей силы внутри. Автор удалён из протокола. -- **Никаких узлов генезиса.** Монтана запускается как peer-to-peer-сеть в стиле Биткоина. Любой участник присоединяется одной командой в терминале. Bootstrap-кворума под контролем основателя не существует. -- **67 % честной active_chain_length.** Безопасность сохраняется, пока честные операторы контролируют более двух третей `active_chain_length`. Капитал в этот порог не входит. +- **Нулевые комиссии.** В протоколе нет поля `fee` ни в одной операции. Семь центов проходят. +- **Асинхронная финальность.** Переводы не ждут блоков. Они закрепляются через P2P-кворум подписей активных операторов внутри одного окна канонического порядка (примерно одна минута wall-clock на генезис-калибровке; длительность окна — эмерджентное свойство, не часть consensus state). Продавец отпускает покупателя. +- **Константная монотонная эмиссия.** `13 Ɉ` за окно, зафиксировано Указом Генезиса, закрытая форма. Никакого халвинга, никакого supply cap, никакой дискреционной эмиссии. Supply предсказуем на десятилетия одной формулой. Единица денег — не спекулятивная, это запись закрытого окна. +- **Никакой плутократии по построению.** Тот, у кого миллиард `Ɉ`, не имеет в консенсусе больше власти, чем оператор Mac Mini. Вес узла — это длина его цепочки, история закреплённого присутствия. Семя лотереи содержит `cemented_bundle_aggregate(W-2)` — подписи честных операторов двумя окнами назад, что закрывает класс grinding-атак при асимметрии железа без опоры на рациональные cost-аргументы. +- **Две трети честной длины цепочки.** Безопасность сохраняется, пока честные операторы контролируют более двух третей `active_chain_length`. Капитал в этот порог не входит. -## VI. Базовый масштаб +## VI. Экономика времени -Каждое решение Монтаны рассчитывается под **не менее одного миллиарда активных пользователей**. Механизмы, не масштабирующиеся на 10⁹, отбрасываются без обсуждения. Запись аккаунта — 2 059 байт; состояние при 10⁹ аккаунтов — около 2,06 ТБ, помещается на обычных дисках. Правило очистки каноническое: размер состояния ограничен активным населением, не возрастом цепи. +Анти-абуз построен через время, не через деньги — три независимые нехватки, каждая выводится из прошедшего времени. -## VII. Приватность как выбор +- **Темп на идентичность за окно.** Одна операция на аккаунт за окно τ₁. Атакующий с N Sybil-идентичностями получает не более N операций за окно, и у каждой идентичности своя стоимость создания. +- **Пороги по `account_chain_length`.** Привилегированные операции требуют, чтобы аккаунт был активен не менее `k` окон. Порог нельзя купить. +- **Последовательный SHA-256 барьер на регистрацию узла.** Регистрация требует последовательной цепочки SHA-256 длины `vdf_chain_length × D` итераций — примерно четырнадцать суток wall-clock на одном ядре commodity x86_64. Последовательное время неприобретаемо; атакующий с `M` параллельными машинами получает `M` идентичностей за то же wall-clock, не быстрее. -Балансы, переводы и идентификаторы операторов открыты по умолчанию. Приватность реализуется через объекты **Anchor**: 32-байтный хэш записывается в цепь, а зашифрованное содержимое хранится у владельца вне цепи. Протокол не видит содержимого. Приватность — это то, что пользователь выбирает сохранить, а не то, что протокол навязывает или запрещает. +Вместе три механизма закрывают DoS без денежных барьеров. Время как нехватка не требует прайс-фида, оракула или биржи. Его оценка зафиксирована протоколом: одно окно равно одному окну, независимо от цены `Ɉ`. -## VIII. Чем Монтана не является +## VII. Лестница суверенитета -Монтана — не более быстрый Эфириум. Монтана — не L2. Монтана — не приватный миксер. Монтана — не доходность. Монтана — не governance. Монтана — не бренд. +Две роли, одна цепочка. -Монтана — это цифровые атомные часы интернета. Это эталон частоты, от которого выводятся деньги, присутствие и история. +- **Пользователь аккаунта.** Ключ в смартфоне или аппаратном кошельке. Отправляет и получает Монтану; коммитит 32-байтовые хэши через `Anchor`; запускает приложения поверх чужого узла. Заработка на уровне протокола нет. Барьер входа — первый входящий перевод (запись аккаунта создаётся атомарно вместе с зачислением суммы). +- **Оператор узла.** Обычное железо (одно ядро), 24/7 аптайм, сетевое соединение и последовательный SHA-256 барьер на регистрации. Полное участие в консенсусе. Заработок через лотерею окон. + +Сид-фраза и цепочка аккаунта принадлежат пользователю, а не узлу. По лестнице вверх — когда пользователь сам решит. + +## VIII. Базовый масштаб, приватность и удаление автора + +- **Масштаб.** Каждое решение калибруется под не менее одного миллиарда активных пользователей. Механизмы, не масштабирующиеся на 10⁹, отбрасываются без обсуждения. Запись аккаунта — 2 059 байт; состояние при 10⁹ аккаунтов — около 2,06 ТБ, помещается на обычных дисках. Очистка каноническая: размер состояния ограничен активным населением, не возрастом цепи. +- **Приватность.** Балансы и графы аккаунтов открыты по умолчанию ([I-2]). Прикладная приватность реализуется через `Anchor`: 32-байтовый хэш записывается в цепь, а зашифрованное содержимое хранится у владельца вне цепи. Протокол не видит содержимого. Приватность — это то, что пользователь выбирает сохранить, а не то, что протокол навязывает или запрещает. +- **Никакого governance в состоянии.** Нет DAO, казны, права вето основателя. Совещательные советы могут существовать снаружи протокола; внутри ни один не имеет обязывающей силы. Автор удалён из протокола по построению. Монтана запускается как peer-to-peer-сеть без bootstrap-кворума под контролем основателя. + +## IX. Чем Монтана является + +Не блокчейн с фичей timestamping. Не более быстрый Эфириум. Не L2. Не приватный миксер. Не доходность. Не governance. Не бренд. Не digital gold. + +Монтана — это **peer-to-peer электронная кэш-система, анти-абуз-нехватка которой — время, а не деньги**: кэш-система, которую обещал заголовок Биткоина и Биткоин не доставил, построенная поверх **экономики времени**, которую традиция цифровых денег ещё не построила. + +Система отсчёта времени с фичей передачи стоимости. Эталон частоты, от которого выводятся деньги, присутствие и история. --- -**Эталонная реализация:** Rust, Apache-2.0 / MIT. Двенадцать крейтов, включая `mt-timechain`, `mt-consensus`, `mt-lottery`, `mt-crypto`, `mt-net`, `mt-noise-pq`. Спецификация: [Whitepaper Montana.md](../Whitepaper%20Montana.md). +**Эталонная реализация:** Rust, Apache-2.0 / MIT. Двадцать три крейта, включая `mt-timechain`, `mt-consensus`, `mt-lottery`, `mt-crypto`, `mt-net`, `mt-noise-pq`. Спецификация: [Whitepaper Montana.md](../Whitepaper%20Montana.md) и [Montana Protocol v35.25.1](../Montana%20Protocol%20v35.25.1.md). -**Символ:** **Ɉ** — одна секунда времени Монтаны. +**Символ:** **Ɉ** — Монтана. `moneta` — наименьшая единица (`1 Ɉ = 10⁹ moneta`). **Тикер:** `MONT`. Alejandro Montana *Ничто_Nothing_无_金元Ɉ* diff --git a/Montana-Protocol/Manifesto/Manifesto ZH.md b/Montana-Protocol/Manifesto/Manifesto ZH.md index 9ac8f908..be06880d 100644 --- a/Montana-Protocol/Manifesto/Manifesto ZH.md +++ b/Montana-Protocol/Manifesto/Manifesto ZH.md @@ -1,80 +1,115 @@ # 蒙塔纳宣言 -**版本:** 1.0.0 +**版本:** 1.1.0 **日期:** 2026 年 5 月 28 日 **作者:** Alejandro Montana **仓库:** [github.com/efir369999/Montana](https://github.com/efir369999/Montana) > *「谁控制过去,谁就控制未来;谁控制现在,谁就控制过去。」* -> ——乔治·奥威尔《1984》 +> ——奥威尔《1984》 -## 一、问题 +**比特币所承诺的现金系统。数字货币传统尚未建立的时间经济学。** -比特币回答了一个问题:**谁来托管金钱?** *无人。请信任数学。* +## 一、比特币未曾建造的现金系统 -比特币把信任从金钱中移除,却把信任留在了时间里。它的难度调整依赖于矿工的钟表,它的区块高度以外界的时钟为度量。 +比特币白皮书的标题是 *《A Peer-to-Peer Electronic Cash System》*。其密码学答案早已知名:*谁来托管金钱?*——无人,请信任数学。其现金系统的答案从未到来。 -蒙塔纳回答一个更深的问题:**谁来托管时间?** +街角的商家无法收取顾客交出的七分钱:手续费吞掉了交易。终局等待区块确认——最佳情况下十分钟、拥堵时无上界:商家无法让顾客离开。反垃圾以系统所创造的同一货币计价:拥堵时小用户被价格挤出,闲置时垃圾以边际成本回流——机制随需求而振荡,不收敛。 -金钱是时间的衍生物,反之则不然。今天,测量时间的基础设施(NTP)、定位的基础设施(GPS)、通讯的基础设施(消息服务器)以及历史的基础设施(中心化数据库),都要求无条件信任第三方。一个故障点,就是一个控制点。控制这套基础设施,就是控制现在;控制这些数据库,就是改写过去。 +比特币成了 **数字黄金**。其标题所许诺的「交换媒介」属性从未兑现。 -蒙塔纳让《1984》在技术上不可能成立。 +缺了两样东西: -## 二、时间即计算 +- **现金系统的代币经济学。** 零手续费,使七分钱的交易得以结清。窗口固化时的异步终局——发生于规范顺序的单一窗口之内(在创世硬件校准下约一分钟外部时钟),无手续费拍卖,下一笔操作前无区块队列。一个非投机性的发行单位。 +- **时间经济学。** 一种取代手续费在反滥用中位置的非货币性稀缺——否则上述现金属性,将被其自身的防御机制所拆毁(这正是比特币失去现金特性的方式)。 -在蒙塔纳中,可验证延迟函数(VDF)不是一个 *显示* 时间的时钟。VDF 本身 *就是* 时间,写在 SHA-256(FIPS 180-4)顺序哈希链的工作之中。每一个时间窗口是约 `D ≈ 325 000 000` 次顺序迭代的计算,运行于普通 x86_64 处理器之上。它无法并行,无法伪造,也无法在处理器物理极限之外加速。 +时间经济学,是比特币的语境从未看见的领域。现金系统,则是比特币的语境说过却未曾建造的东西。蒙塔纳两者皆取。 -蒙塔纳不消耗外部时间,而是 **生产** 时间。其输出,是一支不可摧毁的密码学时间之箭——**TimeChain**。 +蒙塔纳在同一层面上处理三个仍需移除信任的位置: -我们刻意选用顺序 SHA-256 延迟函数,而非 Boneh-Bonneau-Bünz-Fisch [CRYPTO 2018]、Pietrzak [ITCS 2019]、Wesolowski [EUROCRYPT 2019] 的可高效验证型 VDF。验证成本等于计算成本。最小的密码学表面,本身就是审计。SHA-256 在哈希、寻址与默克尔承诺中本就必须存在,并未引入任何新的假设。 +- **时间之信任。** 协议在无外部时间源的情况下生成事件的规范顺序。 +- **存储之信任。** 用户数据存于用户自己的节点,而非企业数据库。 +- **通讯之信任。** 消息通过用户的节点在用户之间流动,无中介。 + +第一个问题的解,是后两个问题的基础——也是承载那门让现金系统得以成立的时间经济学的载体。 + +## 二、规范顺序,而非外部时钟时间 + +蒙塔纳的每个节点都执行 **顺序延迟计算**——一条迭代式 SHA-256 哈希链 `T_W = SHA-256^D (T_{W-1})`,每个窗口包含 `D = 325 000 000` 次迭代。`D` 由创世法令固定,源自创世硬件上的单次石英测量(Apple iMac M1 2021,空闲,单线程);创世之后协议不再查阅任何时钟([I-18])。窗口在外部世界中的实际持续时间,是节点硬件所体现出的衍生属性,并不属于共识状态。 + +这 **不是** Boneh-Bonneau-Bünz-Fisch [CRYPTO 2018]、Pietrzak [ITCS 2019]、Wesolowski [EUROCRYPT 2019] 意义上的可验证延迟函数。那些构造提供 `O(log T)` 或 `O(1)` 的简洁验证,但它们建立于 RSA 群或虚二次域类群之上——这些假设会被 Shor 算法攻破。当今尚不存在生产级别的抗量子简洁 VDF。蒙塔纳采取更简单的原语:迭代式 SHA-256 链。验证成本等于计算成本;验证者重复运行与证明者相同的迭代。SHA-256 本就必须用于寻址、哈希与默克尔承诺,并未引入任何新的假设。密码学表面被压缩至单一原语([I-7])。 + +其输出即 **TimeChain**:一个规范的、单调的、无歧义的、可独立验证的窗口序列。蒙塔纳并不测量物理持续时间。把窗口编号映射为日历时间,是观察者的任务,而非协议的任务。 ## 三、真相的层级 -蒙塔纳的架构建立在严格的依赖之上,每一层都不可能脱离其下一层而成立。 +每一层皆不可能脱离其下一层而存在。 -1. **时间**(`TimeChain`)——不可逆的计算。物理学的基础层。每个运营者独立地嘀嗒,共同构成一个全球振荡器。 -2. **在场**(`NodeChain`)——证明某个特定身份伴随了这一时间流。网络中的权重,由可证明的在场时间度量,而非由资本度量。资本不能购买时间。 -3. **货币**(`Account` 与 `TimeCoin`)——可证在场的数量化衍生物。单位 `Ɉ` 不是解决无意义难题的奖励,而是网络账本中一秒钟的记录。发行量是封闭式的:`supply(W) = 13 × (W + 1) Ɉ`。没有预挖。没有预售。没有创始人份额。 -4. **历史**(`Anchor`)——把任何外部事实(文档、消息、交易)绑定到这条受保护的时间线。其哈希被永久封存于 TimeChain 之中。改写它,意味着从创世起重新计算每一次 VDF 迭代。在数学上不可能。 +1. **规范顺序**(`TimeChain`)——不可逆的顺序计算。基础层。 +2. **在场**(`NodeChain`)——节点的链长,随节点被规范地固化进顺序,一次一个窗口地累积。共识中的权重是「在场」,而非「资本」。资本无法追溯购买过去的参与。 +3. **货币**(`Account`,蒙塔纳货币)——可证在场的数量化衍生物。封存一个窗口的奖励为 `EMISSION_moneta = 13 × 10⁹ moneta = 13 Ɉ`。供应量为封闭式:`supply_moneta(W) = EMISSION_moneta × (W + 1)`。无预挖、无预售、无创始人份额、无减半、无总量上限、无任何裁量发行。 +4. **历史**(`Anchor`)——一个 32 字节哈希在网络的整个生命周期内被绑定到某一窗口。改写它意味着从创世法令开始重新计算链的每一次迭代。在数学上不可能。 -*没有可证在场的货币,是幻影;没有可验证时间的在场,是断言;没有不可逆计算的时间,是信任。* +`1 Ɉ = 10⁹ moneta`。国际行情代码为 `MONT`。 ## 四、自第一天起的抗量子 -所有共识签名采用 **ML-DSA-65**(FIPS 204)。所有传输层密钥封装采用 **ML-KEM-768**(FIPS 203)。哈希采用 **SHA-256**(FIPS 180-4)。传输握手为 **Noise_PQ XX**:双方各自的临时 ML-KEM-768、绑定到完整握手记录的 ML-DSA-65 签名、以及在已建立会话上的 ChaCha20-Poly1305 AEAD 帧加密(RFC 8439)。 +- **共识签名:** ML-DSA-65(FIPS 204)。 +- **传输层密钥封装:** ML-KEM-768(FIPS 203)。 +- **哈希:** SHA-256(FIPS 180-4)。 +- **传输握手:** Noise_PQ XX——双方各自的临时 ML-KEM-768、绑定整个握手记录的 ML-DSA-65 签名、已建立会话上的 ChaCha20-Poly1305 AEAD 加密(RFC 8439)。 +- **PeerId:** 每个节点 ML-DSA-65 身份公钥的 SHA-256 multihash。 没有 ECDSA。没有 EdDSA。没有经典 Diffie-Hellman。不指望 Shor 算法会迟到。 -PeerId 是每个节点 ML-DSA-65 身份公钥的 SHA-256 multihash。路由身份与共识身份绑定在同一份密钥之上。 +## 五、现金系统的代币经济学 -## 五、不妥协的架构 +让蒙塔纳成为对等电子现金系统的那些属性,并非「附在链上的功能」,而是链本身。 -- **零手续费。** 防垃圾通过时间而非金钱实现:每身份每窗口一次操作、`account_chain_length` 阈值、资历门控。协议中任何操作都没有 `fee` 字段。 -- **异步终局。** 转账不等待区块,而是由活跃运营者的 P2P 法定签名在约 300 毫秒内固化。 -- **不行金权政治。** 持有十亿 `Ɉ` 的人,在共识中并不比一台 Mac Mini 的运营者拥有更多权力。发行(按时间计量)与共识(时间证明)在数学上彼此分离。抽签种子包含 `cemented_bundle_aggregate(W-2)`——攻击者若不伪造诚实参与者的签名便无法预计算的值。 -- **状态中无治理。** 没有 DAO,没有金库,没有创始人否决权。咨询委员会可在协议之外存在;它们在协议之内皆无约束力。作者将自己从协议中移除。 -- **不设创世节点。** 蒙塔纳以比特币式的对等网络方式启动。任何参与者皆可通过终端中的一条命令加入。不存在由创始人掌控的引导法定人数。 -- **诚实 `active_chain_length` 的三分之二。** 只要诚实运营者掌握 `active_chain_length` 的三分之二以上,安全性即得到保持。资本不进入这一门槛。 +- **零手续费。** 协议中任何操作都没有 `fee` 字段。七分钱可以通过。 +- **异步终局。** 转账不等待区块,而是由活跃运营者的 P2P 法定签名在规范顺序的单一窗口之内固化(在创世硬件校准下约一分钟外部时钟;窗口时长为衍生属性,不属于共识状态)。商家敢让顾客离开。 +- **恒定单调发行。** 每窗口 `13 Ɉ`,由创世法令固定,封闭式。无减半、无总量上限、无裁量发行。供应量可由一条公式预测数十年。货币单位不是投机品,而是一次封窗的记录。 +- **构造上即非金权政治。** 持有十亿 `Ɉ` 的人,在共识中并不比一台 Mac Mini 的运营者拥有更多权力。节点的权重是其链长——其被固化的在场历史。抽签种子包含 `cemented_bundle_aggregate(W-2)`,即两个窗口前诚实运营者的签名,这在不依赖任何成本理性论证的前提下,封堵了硬件不对称情境下的研磨攻击。 +- **链长三分之二的诚实门槛。** 只要诚实运营者掌握 `active_chain_length` 的三分之二以上,安全性即得到保持。资本不进入该门槛。 -## 六、规模基准 +## 六、时间经济学 -蒙塔纳的每一项决策都以 **至少十亿活跃用户** 为基准。无法扩展到 10⁹ 的机制不予讨论。账户记录为 2 059 字节;10⁹ 账户下的状态约 2.06 TB,普通磁盘即可承载。修剪规则是规范的:状态大小由活跃人口决定,而非由链龄决定。 +反滥用以时间而非金钱构造——三种独立的稀缺,每一种皆出自已逝时间。 -## 七、隐私即选择 +- **每身份每窗口的速率。** 每个账户每窗口 τ₁ 至多一次操作。攻击者拥有 N 个 Sybil 身份至多得到 N 次操作;每个身份都有自己的创建成本。 +- **`account_chain_length` 阈值。** 特权操作要求所操作账户已活跃至少 `k` 个窗口。这一门槛无法购买。 +- **节点运营者的顺序进入门槛。** 节点注册需生成一条长度为 `vdf_chain_length × D` 的顺序 SHA-256 链——约相当于普通 x86_64 单核外部时钟约十四天的工作量。顺序时间不可购买;攻击者用 `M` 台并行机器仅能在同一外部时钟内得到 `M` 个身份,并不更快。 -余额、转账与运营者身份默认公开。隐私通过 **Anchor** 对象实现:32 字节的哈希被提交到链上,加密内容由所有者保存在链外。协议看不见内容。隐私是用户选择保留的,而不是协议强加或禁止的。 +三者合力,在无金钱壁垒的前提下封堵 DoS。时间这种稀缺,不需要价格喂价、不需要预言机、也不需要交易所来度量。其估值由协议固定:一个窗口等于一个窗口,与 `Ɉ` 的价格无关。 -## 八、蒙塔纳不是什么 +## 七、主权阶梯 -蒙塔纳不是更快的以太坊。蒙塔纳不是 L2。蒙塔纳不是隐私混币。蒙塔纳不是收益率。蒙塔纳不是治理。蒙塔纳不是品牌。 +两种角色,一条链。 -蒙塔纳是互联网的数字原子钟。它是频率的基准,金钱、在场与历史皆由此衍生。 +- **账户用户。** 智能手机或硬件钱包中的一把钥匙。收发蒙塔纳;通过 `Anchor` 提交 32 字节哈希;在他人节点上运行应用。协议层无收益。进入门槛:第一笔进账(账户记录与入账金额原子地被同时创建)。 +- **节点运营者。** 普通硬件(一颗 CPU 核心)、24/7 在线、网络连接,以及注册时的顺序 SHA-256 进入门槛。完全参与共识。通过窗口抽签获得收益。 + +种子短语与账户链属于用户,而非节点。用户何时沿阶梯而上,由用户自己决定。 + +## 八、规模基准、隐私与作者的移除 + +- **规模。** 每一项决策都以至少十亿活跃用户为基准。无法扩展到 10⁹ 的机制不予讨论。账户记录为 2 059 字节;10⁹ 账户下的状态约 2.06 TB,普通磁盘即可承载。修剪规则是规范的:状态大小由活跃人口决定,而非由链龄决定。 +- **隐私。** 余额与账户图谱默认公开([I-2])。应用层隐私通过 `Anchor` 实现:32 字节的哈希被提交到链上,加密内容由所有者保存在链外。协议看不见内容。隐私是用户选择保留的,而不是协议强加或禁止的。 +- **状态中无治理。** 没有 DAO,没有金库,没有创始人否决权。咨询委员会可在协议之外存在;在协议之内皆无约束力。作者按构造将自己从协议中移除。蒙塔纳以无创始人控制的引导法定人数启动,是比特币式的对等网络。 + +## 九、蒙塔纳是什么 + +不是带有时间戳功能的区块链。不是更快的以太坊。不是 L2。不是隐私混币。不是收益率。不是治理。不是品牌。不是数字黄金。 + +蒙塔纳是 **一种反滥用稀缺为时间而非金钱的对等电子现金系统**——比特币的标题所承诺、但比特币未曾交付的那种现金系统;建立于 **数字货币传统尚未建立的时间经济学** 之上。 + +一个带有价值转移功能的时间参考系。频率的基准,金钱、在场与历史皆由此衍生。 --- -**参考实现:** Rust,Apache-2.0 / MIT。十二个 crate,包括 `mt-timechain`、`mt-consensus`、`mt-lottery`、`mt-crypto`、`mt-net`、`mt-noise-pq`。规范:[Whitepaper Montana.md](../Whitepaper%20Montana.md)。 +**参考实现:** Rust,Apache-2.0 / MIT。二十三个 crate,包括 `mt-timechain`、`mt-consensus`、`mt-lottery`、`mt-crypto`、`mt-net`、`mt-noise-pq`。规范:[Whitepaper Montana.md](../Whitepaper%20Montana.md) 与 [Montana Protocol v35.25.1](../Montana%20Protocol%20v35.25.1.md)。 -**符号:** **Ɉ**——蒙塔纳时间的一秒。 +**符号:** **Ɉ**——蒙塔纳。`moneta`——最小单位(`1 Ɉ = 10⁹ moneta`)。**代码:** `MONT`。 Alejandro Montana *Ничто_Nothing_无_金元Ɉ* diff --git a/Montana-Protocol/Manifesto/README.md b/Montana-Protocol/Manifesto/README.md index 352778d7..5c8d4f46 100644 --- a/Montana-Protocol/Manifesto/README.md +++ b/Montana-Protocol/Manifesto/README.md @@ -1,20 +1,27 @@ # Montana Manifesto -**Version:** 1.0.0 +**Version:** 1.1.0 **Date:** 2026-05-28 **Author:** Alejandro Montana **Repository:** [github.com/efir369999/Montana](https://github.com/efir369999/Montana) A single declaration of what Montana is and refuses to be, published in three languages from one canonical version. The three texts say the same thing. -- [English](Manifesto%20EN.md) — for the Metzdowd Cryptography mailing list and independent reviewers +- [English](Manifesto%20EN.md) — for the Metzdowd cryptography list and independent reviewers - [Русский](Manifesto%20RU.md) — голос автора - [中文](Manifesto%20ZH.md) — 中文版本 -The English version is canonical for cryptographic claims; the Russian version is canonical for the author's voice. For the academic specification of the protocol, see [Whitepaper Montana.md](../Whitepaper%20Montana.md). +The English version is canonical for cryptographic claims; the Russian version is canonical for the author's voice. For the academic specification of the protocol, see [Whitepaper Montana.md](../Whitepaper%20Montana.md) and [Montana Protocol v35.25.1](../Montana%20Protocol%20v35.25.1.md). + +**v1.1.0 (2026-05-28):** + +- *Terminology* aligned with Montana Protocol v35.25.1. The primitive is named «sequential delay computation» / «iterated SHA-256 hash chain», not VDF. Montana's chain is deliberately not a verifiable delay function in the Boneh-Pietrzak-Wesolowski sense (see §II for the rationale). Consensus is named Proof of Time. The smallest unit is `moneta`; `1 Ɉ = 10⁹ moneta`; the international ticker is `MONT`. +- *Cash-system frame* foregrounded. §I makes explicit that Bitcoin's title — *A Peer-to-Peer Electronic Cash System* — was never delivered, and identifies the two missing pieces Montana takes on: a cash-system tokenomics (§V) and an economics of time (§VI). §IX names Montana as the cash system Bitcoin promised, built on top of the economics of time the digital-money tradition has not yet built. +- *Finality claim corrected* against spec v35.25.1. Asynchronous finality is at window cementing — within a single window of the canonical order (approximately one minute of wall-clock at the genesis-hardware calibration), not the obsolete «~300 ms» claim carried from an early draft. The wall-clock duration of a window is an emergent property of the operating hardware, not part of consensus state. +- *Reference-implementation count corrected.* Twenty-three crates in `Code/crates/`, not twelve. --- -**Symbol:** **Ɉ** — one second of Montana time. +**Symbol:** **Ɉ** — Montana. Alejandro Montana diff --git a/Russian/Site/explorer/explorer-api.py b/Russian/Site/explorer/explorer-api.py new file mode 100644 index 00000000..5b33933d --- /dev/null +++ b/Russian/Site/explorer/explorer-api.py @@ -0,0 +1,158 @@ +#!/usr/bin/env python3 +"""Montana explorer JSON API — читает state files docker-volume montana-data.""" +import os, sys, json, struct, glob, time +from http.server import BaseHTTPRequestHandler, HTTPServer +from urllib.parse import urlparse, parse_qs + +DATA_DIR = os.environ.get("MT_DATA_DIR", "/var/lib/docker/volumes/montana-data/_data") +PROPOSALS = os.path.join(DATA_DIR, "proposals") +ACCOUNTS_BIN = os.path.join(DATA_DIR, "accounts.bin") +NODES_BIN = os.path.join(DATA_DIR, "nodes.bin") +CANDIDATES_BIN = os.path.join(DATA_DIR, "candidates.bin") +META_LAST = os.path.join(DATA_DIR, "meta_last_cemented.bin") +CURRENT_WIN = os.path.join(DATA_DIR, "current_window.bin") + +ACCOUNT_SZ = 2059 +NODE_SZ = 2098 +CANDIDATE_SZ = 2082 +PROPOSAL_SZ = 3722 # header; cemented envelope may be larger + +def read_u64_le(path): + try: + with open(path, "rb") as f: + return struct.unpack("= 3724 else 0), + } + +def parse_node_record(buf): + if len(buf) < NODE_SZ: + return None + return { + "node_id": buf[0:32].hex(), + "suite_id": struct.unpack(" + + + +Montana Explorer + + + + +
+

Ɉ MONTANA EXPLORER

+ +
+ +
+ +
+

Узлы (NodeTable)

+ + + +
node_idchain_lengthstart_windowlast_conf
+
+ +
+

Последние Proposals

+ + + +
windowproposerwinnerstate_rootenvelopebundles
+
+ +
+

Детали окна

+

+
+ +
+ Montana Reference Implementation · обновление каждые 5с · +
+ + + + diff --git a/Russian/Site/explorer/montana-explorer.service b/Russian/Site/explorer/montana-explorer.service new file mode 100644 index 00000000..8380df2a --- /dev/null +++ b/Russian/Site/explorer/montana-explorer.service @@ -0,0 +1,17 @@ +[Unit] +Description=Montana Explorer JSON API +After=docker.service network-online.target +Wants=network-online.target + +[Service] +ExecStart=/usr/bin/python3 /opt/montana-explorer/explorer-api.py +Restart=on-failure +RestartSec=5 +Environment=MT_EXPLORER_PORT=5010 +Environment=MT_DATA_DIR=/var/lib/docker/volumes/montana-data/_data +User=root +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=multi-user.target diff --git a/Russian/Site/explorer/nginx-snippet.conf b/Russian/Site/explorer/nginx-snippet.conf new file mode 100644 index 00000000..5dbf0d4e --- /dev/null +++ b/Russian/Site/explorer/nginx-snippet.conf @@ -0,0 +1,13 @@ +# /etc/nginx/sites-available/efir_org additions for Montana explorer +location = /montana { return 301 /montana/; } +location /montana/ { + alias /var/www/efir_org/montana/; + try_files $uri $uri/ /montana/index.html; +} +location /montana-api/ { + proxy_pass http://149.154.184.205:5010/api/; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_read_timeout 10s; + proxy_connect_timeout 5s; +} diff --git a/_internal-private/Metzdowd-letter.txt b/_internal-private/Metzdowd-letter.txt new file mode 100644 index 00000000..0daf1f23 --- /dev/null +++ b/_internal-private/Metzdowd-letter.txt @@ -0,0 +1,74 @@ +Subject: Montana — manifesto for review + +Dear list, + +This list discussed Bitcoin as a peer-to-peer electronic cash system +before it discussed it as anything else. I would like to share for +review a manifesto for a protocol I have been building since +January 2026. + +The position the manifesto takes: + +Bitcoin's title was "A Peer-to-Peer Electronic Cash System". The +cryptographic answer is famous; the cash-system answer was never +delivered. Bitcoin's anti-spam is denominated in the same money the +system creates; settlement waits for block confirmation that is ten +minutes at best and unbounded under congestion; the seven-cent +transaction is uneconomical because the fee consumes it. Bitcoin +became digital gold. + +Montana takes the two pieces that an actual peer-to-peer electronic +cash system needs and Bitcoin did not deliver: + + 1. A cash-system tokenomics: zero fees on every operation; + asynchronous finality at window cementing (within one window + of the canonical order, approximately one minute on commodity + x86_64); closed-form linear emission of 13 Ɉ per window — no + fees, no halving, no premine, no founder allocation, no + governance. + + 2. An economics of time: a non-monetary scarcity that replaces + fees in anti-abuse — per-identity rate per window, account + chain-length thresholds, and a sequential SHA-256 entry + barrier for node registration (~14 days of wall-clock on a + commodity core). Time-based scarcity does not require a price + feed, an oracle, or an exchange to measure. Anti-abuse cannot + undermine the cash properties because it is not denominated + in money. + +On the cryptographic primitives: + +The chain advances by an iterated sequential SHA-256 hash chain +T_W = SHA-256^D (T_{W-1}) with D = 325 000 000 per window. This is +deliberately not a verifiable delay function in the Boneh-Bonneau- +Bünz-Fisch [CRYPTO 2018], Pietrzak [ITCS 2019] or Wesolowski +[EUROCRYPT 2019] sense: production-grade post-quantum succinct +VDFs do not yet exist, and verification cost equals computation +cost (verifiers re-run the iterations). SHA-256 is already required +for addressing, hashing and Merkle commitments, so the cryptographic +surface stays at one primitive. Consensus signatures are ML-DSA-65 +(FIPS 204); transport key encapsulation is ML-KEM-768 (FIPS 203); +the transport handshake is Noise_PQ XX over TCP/Yamux with +ChaCha20-Poly1305 AEAD (RFC 8439). PeerId is the SHA-256 multihash +of the ML-DSA-65 identity public key; routing identity and +consensus identity are bound to the same key material. + +Quorum is 67% of active_chain_length, not headcount. Capital does +not enter the threshold. The lottery seed incorporates +cemented_bundle_aggregate(W-2), signatures from honest operators +two windows back, which closes the hardware-asymmetry grinding +attack class without rational-cost arguments. + +Manifesto (English, also Russian and Chinese): + https://github.com/efir369999/Montana/tree/main/Manifesto + +Whitepaper: + https://github.com/efir369999/Montana/blob/main/Whitepaper%20Montana.md + +I would value the list's reading — on the cryptographic choices, +on the cash-system / time-economics framing, or on the relation +between them. + +Best regards, +Alejandro Montana +github.com/efir369999/Montana