montana/Монтана-Протокол/Whitepaper Montana ZH.md

193 lines
14 KiB
Markdown
Raw Permalink Normal View History

# 蒙塔纳:以时间为稀缺资源的后量子区块链
**Alejandro Montana(亚历杭德罗·蒙塔纳)**
[github.com/efir369999/Montana](https://github.com/efir369999/Montana)
> *时间是优雅的货币。*
## 摘要
后量子加密货币应当允许各方之间转移价值,而无需依赖于量子对手能够破解的经典密码原语。现有区块链依赖于在 Shor 算法下安全性崩溃的签名(ECDSA、EdDSA),并依赖于在大规模采用下将小用户排除在外的基于交易费的反垃圾机制。我们提出一种区块链,其安全性完全基于美国国家标准与技术研究院(NIST)于 2024 年标准化的后量子原语(ML-DSA-65、ML-KEM-768)及哈希(SHA-256),其反垃圾机制以时间而非货币为运作基础。基于 SHA-256 的可验证延迟函数产生约 60 秒一个的全局有序窗口链。每个窗口由顺序工作量证明封口,该证明无法并行化、无法跳过。窗口内的操作由每身份每窗口的速率、操作账户的累积链长以及资历约束三种独立的稀缺性进行限制——三者均源自时间流逝,而非余额持有。只要诚实的运营者执行可验证延迟函数,链便会延伸,无论参与者持有多少代币、愿意支付多少费用。
## 1. 引言
比特币及其后继者表明,无需可信中介的去中心化货币共识是可达成的。两项局限阻碍了这些系统在十亿用户规模上担当通用金融基础设施。
第一,所有生产级加密货币均从椭圆曲线离散对数假设中获得签名安全性。当 Shor 算法 [8] 运行于足够大的量子计算机上时,它能在多项式时间内破解此类假设。NIST 于 2024 年标准化了后量子签名与密钥封装方案(FIPS 203 [2]、204 [3]、205);现有主流链尚未迁移。该迁移并非简单的参数更替——线协议格式、地址派生、多重签名方案、轻客户端证明,均建立于底层原语之上。
第二,基于费的链中的反垃圾机制在采用增长下扩展性差。当区块空间稀缺时,小操作被价格淘汰,违背了「低摩擦在线支付」的初始用例。第二层系统(状态通道、卷集)转移了这一经济学,而非消除了内在稀缺性。
我们提出蒙塔纳——一条安全性仅依赖于后量子原语、反垃圾机制以时间而非货币运作的链。链由基于 SHA-256 的可验证延迟函数推进,产生约 60 秒一个的全局有序窗口。窗口内的操作由每身份每窗口、账户链长、资历三种从时间流逝中推导出的独立稀缺性进行限制。
## 2. 时间作为稀缺资源
在基于费的链中,稀缺资源是区块空间;访问按支付意愿分配。垃圾被纳入价格所威慑。两种失效模式接踵而至:在拥堵下,普通用户被价格排除;在富余下,垃圾发送者按边际成本回归。该机制不会收敛到稳定点,而是与需求一同振荡。
我们以时间稀缺替代区块空间稀缺。基于 SHA-256 的可验证延迟函数(VDF)[5,6,7] 强制进行不可并行的顺序计算:必须串行执行 D 次 SHA-256 迭代,其中 D 经过校准,使运算在通用 x86_64 硬件上耗时约 60 秒。一个窗口的输出成为下一个窗口的输入。链的总长度衡量自创世以来的墙钟时间流逝,任何能够验证 VDF 输出的人都可以恢复。
时间对所有参与者均匀可用。一个资源百倍于诚实运营者的攻击者并不会获得百倍的时间。攻击者可运行更多并行链,但每条链仍以同样的墙钟速率推进。Sybil 身份并不能为单一身份产生更多时间——它只能产生更多身份,而每个身份均受同样的「每身份每窗口」速率限制。
时间作为稀缺性无需价格馈送、无需交易所、无需价格预言机。其估值由协议固定:一个窗口等于一个窗口,与货币价格无关。
## 3. 时间链(TimeChain)
`T_r` 表示窗口 `r` 的 VDF 输出。时间链按下式推进:
```
T_r = SHA-256^D (T_{r-1})
```
其中 `T_0` 为创世种子,`D` 为每窗口迭代次数。`D` 初始化为 325 000 000,每 20 160 个窗口(约十四天)按一组绑定于诚实运营者中位墙钟窗口时间的公式重新校准。重新校准是规范的:每位诚实运营者从公开输入计算出相同的新 `D`
VDF 的可验证性允许任何节点通过执行同样的 `D` 次迭代,从 `T_{r-1}` 验证 `T_r`。无受信设置;输出是输入与参数的公开函数。
新加入网络的运营者必须产生一条长度至少为 20 160 窗口的候选 VDF 链(在通用硬件上约十小时墙钟时间)。这一要求即为协议的反 Sybil 防御:制造 N 个虚假身份需要 N 条候选链,各消耗 N 倍的墙钟时间。无捷径可言。
## 4. 后量子密码原语
签名由 ML-DSA-65(FIPS 204 模块格签名方案)产生与验证。在使用密钥封装的场景(运营者握手、加密的应用层载荷)中,采用 ML-KEM-768(FIPS 203 模块格方案)。两者均为 NIST 后量子密码标准化的产物。密钥规模:ML-DSA-65 公钥 1952 字节、私钥 4032 字节、签名 3309 字节;ML-KEM-768 公钥 1184 字节、密文 1088 字节、共享密钥 32 字节。
哈希采用 SHA-256(FIPS 180-4 [4])。Grover 算法 [9] 在量子模型下将 SHA-256 的有效原像安全性从 256 比特降至 128 比特,仍属充足。
由 24 词助记词派生密钥使用 PBKDF2-HMAC-SHA-256 与 iter=2^20 计算主种子,继而使用 HKDF-SHA-256 派生各用途密钥(账户签名、节点签名、加密的应用层载荷)。词表为 256 个俄语词,选取依据是在键入、聆听与转录场景下的可辨识度。协议本身与字母表无关;词表是部署选择,可由任何每词信息熵相同(8 比特)的 256 词集合替换。
## 5. 操作与账户表
状态是单一的账户表,将账户标识符映射至记录:
```
AccountRecord {
account_id 32 字节(账户公钥的 SHA-256)
public_key 1952 字节(ML-DSA-65)
balance 16 字节(u128,以 nɈ 计;1 Ɉ = 10^9 nɈ)
account_chain_length 8 字节(u64,该账户已固化操作的累积数)
last_active_window 8 字节(u64,最近一次操作所在的窗口索引)
is_node_operator 1 字节(节点运营者布尔标志)
...
}
```
操作通过 `apply_proposal(state, proposal) → state'` 转换状态。该转换是确定的,任何节点从同一 `(state, proposal)` 对中皆字节精确地复现之。操作类集合是封闭的:转账、开账户、换密钥、节点注册、锚点、昵称竞拍、转账激活、关账户。每种操作具有固定的规范化编码、固定的验证规则、固定的应用函数。
每次操作均保持守恒不变量:所有受影响记录的余额增量之和等于发行增量加销毁增量。任何操作均不会悄无声息地创造或销毁价值。
## 6. 抽签
完成窗口 `r` VDF 计算的运营者从已注册运营者集合中,经一次确定性抽签选出。每位运营者提交带签名的 `VdfReveal`(包含该窗口的 VDF 输出);抽签获胜者为:
```
获胜者 = argmin_运营者 ticket(运营者, r)
```
其中
```
ticket(运营者, r) = SHA-256(运营者.node_id || cemented_bundle_aggregate(r-2) || r)
```
`cemented_bundle_aggregate(r-2)` 项是抽签的网络绑定不可预测性来源:它纳入了窗口 `r-2` 中诚实运营者的签名,这些签名是攻击者在不持有诚实参与者私钥的情况下无法预先计算的。这便闭合了一类攻击,即拥有硬件优势的对手预先计算未来窗口并对攻击者可选字段进行碾磨。
## 7. 激励
窗口 `r` 的抽签获胜者获得 13 个 Ɉ 基本单位(`13 × 10^9 nɈ`),记入运营者账户。无交易费。无第二层通胀。无预挖、无预售、无创始人分配。窗口 `r` 的累计发行恰为 `13 × r` 个单位,是一个关于窗口数的闭式函数。
累积价值的持有不另行激励。协议不为持币付费。唯一的奖励路径是为某窗口运行 VDF 并赢得该窗口的抽签。
对任一运营者而言,单位时间的预期收益取决于该运营者跨窗口贡献的已固化 `VdfReveal` 占比。设有 `N` 位计算能力相等的运营者诚实运行 VDF,则每位运营者每窗口的预期奖励为 `13/N` Ɉ。在算力不均时,份额与按时提交的有效 `VdfReveal` 数成正比。
## 8. 无费的反垃圾
反垃圾保护是三种基于时间的机制的复合:
**每身份速率。**A 类操作(转账、昵称竞拍等)被限定为每账户每窗口 τ_1 = 1 个窗口一次。拥有 N 个 Sybil 身份的攻击者每窗口至多执行 N 次操作,但每个 Sybil 身份均有其自身的创建成本(见下)。速率在身份之间均一;无快速通道。
**链长阈值。**特权操作(例如节点注册、昵称竞拍)要求操作账户的 `account_chain_length` 超过阈值 k。账户必须先活跃至少 k 个窗口,方可发出此类操作。此阈值无法购买,只能由已流逝的活动获得。
**资历闸门。**抽签中的运营者权重随 `account_chain_length` 增长直至饱和点。新运营者权重较低,通过跨窗口参与累积权重。这削弱了大量敌对运营者同时注册的「闪团」攻击。
这些机制共同关闭了 DoS,而无需金钱壁垒。协议中的任何操作字段中均无「费用」字段。
## 9. 状态生命周期与裁剪
共识状态中每条持久记录,皆具有基于成本的壁垒、生命周期边界或硬配额之一。账户创建要求创建者提交一项开账操作,其验证包含链长前置条件。余额低于 `MIN_ACCOUNT_BALANCE = 1 nɈ`、且 `last_active_window` 距当前窗口超过 `8 × 20 160` 个窗口的账户,在下一纪元边界由 `apply_candidate_expiry` 裁剪。
裁剪并非可选;它是规范状态转移的一部分。两个遵循协议的诚实节点裁剪结果相同。账户表大小被上界限定:
```
|AccountTable(W)| ≤ 创建速率 × 保留窗口
```
该上界与累积墙钟时间无关,确保长寿命链不产生无界状态。
## 10. 隐私
协议默认公开余额、转账、账户图谱与运营者身份。应用层隐私通过锚点对象实现:账户向链承诺一个 32 字节哈希,而内容(以所有者密钥加密)由所有者或委托对等节点链下保有。锚点机制不向协议暴露内容的可见性。
隐私是用户的选择,而非协议强加的特性。通过「协议级隐私」实施大规模监控并非范围之内;通过用户管理的加密实现选择性隐私则属其内。这一边界使协议与监管框架(FATF、MiCA)保持一致——后者拒绝协议级的隐私混淆,但接受用户对链下内容的端侧加密。
## 11. 网络与同步
协议的线协议格式与同步机制描述于参考实现中的 [`mt-net`](https://github.com/efir369999/Montana/tree/main/Код/crates/mt-net) 与 [`mt-net-transport`](https://github.com/efir369999/Montana/tree/main/Код/crates/mt-net-transport)。运营者发现对等节点,交换 `VdfReveal``BundledConfirmation` 消息,经由 libp2p 在 TCP+TLS 之上复制已固化的链。
新节点的同步流程为:从任一诚实对等节点获取当前时间链头,本地验证 VDF 链,并复制以当前 Merkle 承诺为根的账户表快照。同步仅为验证;除 TLS 连接之外,无需对源对等节点施加任何信任。
## 12. 计算
设想诚实运营者与攻击者争夺窗口胜利的场景。攻击者赢得给定窗口的概率与其在 VDF 总算力中的份额成正比。设攻击者份额为 `p`、诚实份额为 `1 p`,则攻击者连胜 `k` 个窗口的概率为 `p^k`,呈几何下降。
要使抽签偏向攻击者,攻击者必须控制全部已注册运营者算力的过半。由于每位运营者的墙钟 VDF 是常量(不可并行化),Sybil 身份的倍增并不增加总算力——只是将同样的算力分摊到更多身份。攻击者份额受其所运营物理机器数量限制,而非资本限制。
这便是安全论证:货币资本不能购买时间。运营者经济收敛到硬件经济,在其中,单位商品(一个 VDF 窗口)的售价以焦耳计,价格统一。
```
P(攻击者连胜 k 个窗口) = p^k
```
`p = 0.3`、`k = 10` 时,P = 5.9 × 10^-6,与同等份额下攻击者于 10 次确认后重组比特币链的概率相当。
## 13. 结论
我们提出了一种区块链,其安全性建立在后量子密码原语之上,反垃圾机制以时间而非费用运作。该构造无需可信设置、无需价格馈送,亦不对参与施加货币壁垒。该机制以十亿活跃账户为基线架构目标进行扩展。
Rust 参考实现可在所引 URL 下获取,采用宽松许可证(Apache-2.0 / MIT)。后续工作包括:将网络层集成至节点二进制文件(M6 多节点部署)、基于快照的快速同步(M7),以及将一致性套件扩展至独立语言中的第二实现(M9)。
## 参考文献
[1] S. Nakamoto,《Bitcoin: A Peer-to-Peer Electronic Cash System》,2008.
[2] National Institute of Standards and Technology,《Module-Lattice-Based Key Encapsulation Mechanism Standard》,FIPS 203,2024.
[3] National Institute of Standards and Technology,《Module-Lattice-Based Digital Signature Standard》,FIPS 204,2024.
[4] National Institute of Standards and Technology,《Secure Hash Standard (SHS)》,FIPS 180-4,2015.
[5] D. Boneh, J. Bonneau, B. Bünz, B. Fisch,《Verifiable Delay Functions》,CRYPTO 2018.
[6] K. Pietrzak,《Simple Verifiable Delay Functions》,ITCS 2019.
[7] B. Wesolowski,《Efficient verifiable delay functions》,EUROCRYPT 2019.
[8] P. W. Shor,《Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer》,SIAM Journal on Computing,1997.
[9] L. K. Grover,《A fast quantum mechanical algorithm for database search》,STOC 1996.
---
Alejandro Montana(亚历杭德罗·蒙塔纳)