本文介绍了首个针对比特币的后量子确定性钱包方案DilithiumRK,它基于Dilithium签名,通过可重随机化密钥实现隐私保护和量子安全。该方案在量子随机预言机模型下满足不可伪造性和不可链接性,为比特币在量子威胁来临前提供了迁移路径, 但公钥和签名尺寸显著增加,交易吞吐量下降。
Michel Seck and Adeline Roux-Langlois, Towards Post-Quantum Bitcoin Blockchain using Dilithium Signature. IACR Communications in Cryptology, vol. 2, no. 3, Oct 06, 2025, doi: 10.62056/ak5wom2hd.
Michel Seck和Adeline Roux-Langlois提出首个针对比特币的后量子确定性钱包方案DilithiumRK,通过可重随机化密钥的Dilithium签名实现隐私保护和量子安全。该方案在量子随机预言机模型(QROM)下满足不可伪造性(Uf-CMA-HRK)和不可链接性(Unl-PK),为价值2.4万亿美元的比特币市场在2028-2030量子威胁来临前提供了理论严格、实践可行的迁移路径。
关键权衡: 公钥扩大41倍(1312字节 vs 32字节),签名扩大34倍(2420字节 vs 71字节),交易吞吐量降至18%(维持1MB区块时),但换取量子时代的长期安全性。

比特币现用ECDSA的BIP32层级钱包通过加法派生子密钥: $pk{child} = pk{parent} + G \cdot h$。Dilithium基于MLWE问题的格结构不支持简单加法,需要重新设计密钥派生机制,同时保持热/冷钱包分离和隐私保护。
通过扩展Dilithium签名方案,添加两个确定性重随机化函数:
利用MLWE的加法结构 $t = As_1 + s_2$,通过添加小向量实现更新:
$$ s_1' = s_1 + \delta_1, \quad s_2' = s_2 + \delta_2 $$ $$ t' = A(s_1 + \delta_1) + (s_2 + \delta_2) = t + A\delta_1 + \delta_2 $$
关键是从随机种子ρ确定性派生 $(\delta_1, \delta_2)$ 并维持安全性。UpdatePk算法 接收公钥 $pk = (\rho, t_1)$ 和参数ω,通过SHAKE256派生小向量 $(\delta_1, \delta2)$,确定性展开矩阵A,重构 $t{approx} = t_1 \cdot 2^d$ (此处丢失 $t0$ 精度),计算 $t' = t{approx} + A\delta_1 + \delta_2$,最后用Power2Round重新分割得到 $(t_1', t_0')$。
Power2Round问题: 该函数非同态性导致 $t_1'$ 可能偏离真实值,DilithiumRKC通过传输t1_diff增量纠正累积误差。
安全参数: 模数 $q = 8380417$ (支持256次单位根的NTT优化),维度 $k=6, l=5$ (Dilithium3),噪声界 $\eta=4, \beta=2\tau\eta=196$,范数界 $\gamma_1 = 2^{19}, \gamma_2 = (q-1)/32$。

DilithiumRK0(基础): 直接应用重随机化,公钥/签名尺寸与标准Dilithium相同(1952/3293字节)。
DilithiumRK(标准): 优化参数,公钥1472字节,签名2701字节。
DilithiumRKC(压缩): 通过t1_diff机制解决Power2Round非同态性问题,公钥压缩至约1000字节,但签名增至约3200字节。传输增量而非完整公钥,实现前向安全。

热钱包存储 $(mpk, chaincode)$ 可独立派生子公钥生成接收地址,冷钱包存储 $(msk, chaincode)$ 可派生私钥签名。密钥派生: $\omega = H(mpk | chaincode | ID)$,然后调用UpdatePk/UpdateSk。无需维护派生历史,备份仅需主密钥和链码。
增加派生状态追踪,支持强化派生(需秘密密钥计算ω,热钱包无法派生),防止密钥重用,安全性更高但需维护索引集合。
定理: 如果格基签名方案在QROM下是 $(t, q_s, \epsilon)$-EUF-CMA安全,则DilithiumRK是 $(t', q_s, \epsilon')$-EUF-CMA-HRK安全,其中 $\epsilon' \leq \epsilon + \text{negl}(\lambda)$。
证明利用格基委派技术:给定 $pk = A$,对重随机化查询生成 $pk' = R_l A R_r$,使用BasisDel为 $\Lambda_q^{\perp}(AR_r)$ 生成短基,无需原始秘密密钥即可签名,将DilithiumRK伪造归约到底层格问题。
定理: DilithiumDW满足DWUNL安全,优势界 $\text{Adv}^{\text{unl-pk}}_{\mathcal{A}}(\lambda) \leq \frac{2q_H}{2^{256}} + \text{negl}(\lambda)$。
证明使用O2H(One-way to Hiding)引理:在挑战点重编程随机预言机,派生的子公钥与独立生成公钥计算不可区分,确保不同地址间隐私。
量子安全: 经典BKZ格归约需 $2^{138}$ 位运算,量子格筛算法需 $2^{125}$ 量子操作(Dilithium3达192位量子安全)。
提供Python概念验证实现。基于Giacomo Pope的dilithium-py库,优先可读性而非常数时间或性能优化。
src/
├── dilithiumrk.py # 标准DilithiumRK
├── dilithiumrk0.py # 基础变体
├── dilithiumrkc.py # 压缩变体
└── test-*.ipynb # 交互式测试
实测数据(test-dilithiumrk.ipynb):

密钥更新(UpdatePk):
def update_pk(pk, rho_prime):
rho, t1 = pk
delta1, delta2 = expand_from_seed(rho_prime)
A = expand_matrix(rho)
t_new = t1 * (2**d) + A @ delta1 + delta2 # 重构并更新
t1_new, _ = power2round(t_new, d)
return (rho, t1_new)
拒绝采样签名: 平均需6.6次迭代,检查范数界 $\gamma_1 - \beta$ 和 $\gamma_2 - \beta$ (关键区别:调整了β项以适应重随机化)。
安全警告: 实现非常数时间,存在侧信道风险。生产环境需恒定时间库(如libpqcrypto)和形式化验证(CryptoVerif)。
| 方案 | 公钥 | 签名 | 总和 | 量子安全 |
|---|---|---|---|---|
| ECDSA | 32B | 71B | 103B | ✗ |
| Dilithium2 | 1312B | 2420B | 3732B | 128位 |
| Dilithium3 | 1952B | 3293B | 5245B | 192位 |
| DilithiumRKC | ~1000B | ~3200B | ~4200B | 192位 |
| Falcon512 | 897B | 690B | 1587B | 128位 |
交易吞吐量(1MB区块):
存储增长:
经济影响: 节点运营成本增5.4倍,可能推动中心化;交易费用因容量稀缺上涨;激励Layer-2(闪电网络)采用。
| 方案 | 密钥生成 | 签名 | 验证 |
|---|---|---|---|
| Dilithium2 | 124K周期 | 333K周期 | 118K周期 |
| DilithiumRK | +20-30% | +10-15% | +5-10% |
密钥派生(UpdatePk/UpdateSk)增加20-30%开销,但绝对时间仍在毫秒级,实用可接受。
与先前工作对比: Alkadri等人(CCS 2020)首次提出基于qTESLA的通用后量子HD钱包框架,但缺乏针对NIST标准Dilithium的优化和完整QROM证明。本文创新点包括:首个Dilithium HD钱包实现,Power2Round问题的DilithiumRKC解决方案,完整的Uf-CMA-HRK和Unl-PK证明,以及详细的Bitcoin网络影响分析。
协议层需硬分叉增加区块限制至4-8MB,引入新地址类型。钱包需升级至DilithiumDW/SDW标准,硬件钱包需扩容(当前2-5KB存储不足)。网络过渡期必须维持ECDSA+Dilithium混合签名,已暴露公钥的665万BTC在量子威胁下即刻脆弱。
DilithiumRK证明后量子比特币在技术上可行,在QROM下可证明安全,迁移路径清晰可操作。代价是41倍公钥膨胀和82%容量下降(维持1MB),但这恐怕是这个价值2.4万亿美元的市场在量子时代生存的必要成本。
- 本文转载自: mp.weixin.qq.com/s/HPDy0... , 如有侵权请联系管理员删除。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!