比特币如何对抗量子计算机:三大格基签名方案深度对比

一场正在逼近的加密危机
1994 年,数学家 Peter Shor 提出了一个让整个密码学界坐立不安的算法——只要量子计算机足够强大,就能在极短时间内破解 RSA 和椭圆曲线加密。这意味着,比特币目前使用的 Schnorr 和 ECDSA 签名机制,在理论上都难逃量子攻击的魔爪。
问题在于:这台机器什么时候能造出来?没人说得准。但一个理性的决策者不会等到洪水淹到脚脖子才想起造船。比特币需要在问题真正爆发之前,准备好一套可行的后量子签名部署方案。
格基签名方案正是当前最有希望的继任者。格密码有着超过一个世纪的研究历史,其密码学应用也发展了近三十年。与其他后量子方案相比,格基签名有几个让人心动的优点:公钥和签名加起来可以压缩到 1.6KB 以下,而且它独特的代数结构,未来有望支持多重签名、门限签名和简洁证明——这些对比特币生态来说都是极具价值的功能。
Blockstream Research 最近发布了一份关于格基签名的综合研究报告,深入剖析了三种主流方案:Dilithium、Falcon 和 Hawk。本文带你快速读懂这份报告的核心结论。
比特币选签名方案,看什么?
比特币不是普通软件,选签名方案有一套自己的硬性标准:
链上成本是硬指标。 公钥和签名的大小直接决定了每笔交易的费用,而且全网每个全节点都要下载、存储、验证每一个字节。验证速度慢一点,整个网络都要跟着遭殃。
实现难度决定生死。 一个方案如果设计得花里胡哨,用到了浮点运算或者高斯采样这类精细操作,在实现时很容易出错,甚至可能因为时间侧信道攻击导致私钥泄露。能不能安全地实现,比功能是否强大更重要。
部署风险不可忽视。 比特币共识层用的是 SHA-256,而大多数格基签名候选方案用的是 SHAKE 哈希函数,这个差异需要仔细处理。签名输出能否跨平台复现、硬件钱包的内存是否放得下签名程序——这些现实问题都会在真正集成时冒出来。
未来潜力同样关键。 绝大多数比特币钱包依赖 BIP-32 分层确定性机制,一个主公钥就能推出无数个子公钥,全程不需要碰私钥。但现有的后量子签名方案,没有一个原生支持这个功能。这背后的代价有多大,需要认真评估。
安全等级:选 2 还是选 3?
在比较大小之前,得先定一个目标安全等级。这看起来是个技术细节,实际上是个战略决策。
NIST 把安全等级分为 1 到 5 级,等级越高越安全,但密钥和签名也越大。Blockstream 认为,比特币至少要达到 3 级安全标准。
理由很实在:比特币输出可能几十年不动,如果未来密码分析技术取得突破,导致某方案的实际安全等级下降,那些被锁在弱化密钥背后的资产就会长期暴露在风险中。格基假设已经经过了近三十年的公开密码分析考验,比当年比特币采用椭圆曲线时的研究基础还要扎实。但格的代数结构复杂,未来仍有不少攻击途径值得担忧,不能把全部身家都押在一个篮子里。
主流科技巨头也做了同样的判断。苹果的 iMessage PQ3 协议完全弃用 1 级格参数,全线采用 3 级和 5 级参数;Cloudflare 在后量子 TLS 部署中使用 ML-KEM-768(3 级),明确表示虽然 1 级目前看起来安全,但要为未来几十年的密码分析预留安全余量。比特币的安全时间跨度比这两者都要长得多。
当然,提高安全等级是有代价的。以 Dilithium 为例,从 2 级升到 3 级,公钥加签名的总大小大约增加 1.5KB。Hawk 方案的命运也证明,保守的安全考虑绝非杞人忧天。
三种方案,三种命运
Dilithium:简单至上,但体积偏大
Dilithium 已被 NIST 标准化为 ML-DSA(FIPS 204),它把 Schnorr 签名的承诺-挑战-响应范式移植到了模格运算上。
它的核心优势就是简单。所有操作都是整数运算:环运算、矩阵-向量乘法、哈希、舍入——没有浮点运算,不需要离散高斯采样。这让它更容易写出安全且恒定时间的实现。也正因如此,它已经是目前部署最广的候选方案,OpenSSL、BoringSSL、AWS-LC、苹果 CryptoKit 都已经集成。
代价是体积。在 3 级安全等级下,ML-DSA-65 的公钥 1952 字节,签名 3309 字节,合计 5261 字节——比比特币原生的公钥加签名大约 55 倍,是三种方案中同等级下最胖的。
Dilithium 对比特币最宝贵的价值在于:它是三种方案中唯一有望实现 BIP-32 式密钥推导的。DilithiumRK 的密钥重随机化构造,可以仅用公开信息从父密钥生成子密钥。报告分析了三种变体,包括他们自己提出的 DilithiumRKS,其中推导逻辑完全包含在钱包软件内,链上只需要标准的 ML-DSA 验证器。但三种变体都还没到生产可用的程度:两个需要修改验证器,DilithiumRKS 本身还缺少完整的不存在伪造证明。Blockstream 的结论很务实:基于 Dilithium 的公钥推导目前只是概念验证,不能实际部署。
Falcon:最小巧,也最纠结
Falcon 被 NIST 选中并标准化为 FN-DSA,是三种方案中最紧凑的。1 级安全下 Falcon-512 公钥加签名总共 1563 字节;5 级安全下 Falcon-1024 总共 3073 字节——即使安全裕量更高,也比 3 级的 Dilithium 还小。
Falcon 走的是另一条技术路线:基于 NTRU 格的哈希-签名方案。签名者持有格的一个短基,把消息哈希后映射到空间中的一个点,然后用短基找到距离该点最近的格向量。点和邻近向量合起来就是签名;验证时只需要检查向量属于格并且距离足够近。
实现难点在于:找到向量的过程不能泄露基的信息。早期方案 GGH 和 NTRUSign 简单地取最近格点,每次签名都会泄露几何信息。Falcon 采用 GPV 框架,从高斯分布中采样邻近向量,可以证明采样输出与基无关,消除了泄露风险——但采样器实现难度急剧上升。
采样器正是 Falcon 的工程软肋。它在复数傅里叶域中运行,依赖浮点运算。不同处理器、不同编译器、不同编译优化选项,都会产生不一致的浮点输出。这不仅是兼容性问题,更是安全问题:GPV 安全证明要求签名者不能对同一摘要输出两个不同的短向量;一旦签名变成确定性的,平台差异导致的浮点舍入差异就会破坏这个条件。
好消息是,解决方案是存在的:确定性 Falcon 可以用整数模拟替代硬件浮点,在所有平台上产生相同的签名。代价是签名速度慢约 15 倍,密钥生成慢约 2 倍。
但这里有个对比特币非常有利的不对称性:验证不受影响。Falcon 验证使用全整数运算,结果确定性,而且它是所有候选中验证最快的。签名只在花交易时由钱包生成一次,而验证是全网所有全节点都要做的。15 倍的签名减速是低频成本,用它换跨平台可复现性和整数运算,这笔交易相当划算。浮点问题是一个可以解决的工程障碍,不是致命缺陷。
两个注意事项:第一,由于结构限制,Falcon 没有 3 级参数——只有 1 级或 5 级可选。基于安全裕量考虑,Blockstream 推荐 Falcon-1024。第二,签名过程内存消耗大:1024 参数集的采样器依赖一棵预计算树,占约 90KB 内存。硬件钱包可以逐分支动态重建这棵树,把内存压缩到 16KB,但签名时间会翻倍。硬件设备上签名慢一点是实际成本,但可以接受。
Hawk:一个天才方案的陨落
Hawk 的目标是集前两者之长:Hawk-512 的签名只有 555 字节——比 Falcon 还小;签名端全整数运算,内存占用最低只需 6KB。它也是 NIST 附加签名竞赛第三轮中唯一的格基候选,报告花了大量篇幅介绍它。
代价在安全假设上。它不依赖经过几十年密码分析的 NTRU 和 SIS 问题,而是依赖格同构问题和 one-more-SVP 假设——这两个问题的研究历史相对较短。
就在报告即将定稿之际,Anthropic 的 Straznickas 和 Weis 发现了 Hawk 格构造的一个结构性缺陷:实际需要解决的密钥恢复 SVP 问题维度,只有设计者设想的一半。候选参数集的密钥恢复安全位数被大幅削弱。研究者对挑战参数 HAWK-256 完成了完整的端到端密钥恢复攻击;即使在攻击下,官方提出的 HAWK-512 和 HAWK-1024 实际上仍然不可破解。Hawk 团队确认了攻击的有效性,并从 NIST 流程中撤回了该方案。团队承认,如果通过加倍参数来修复漏洞,Hawk 引以为傲的签名体积优势将彻底消失。
报告保留了 Hawk 的章节,因为攻击针对的是特定数域的代数性质,而非整个设计范式。能否通过重新设计绕过漏洞,仍是一个开放问题。Hawk 事件也生动地印证了保持保守安全裕量的理由:一个方案可以体积优秀、速度惊人、走过多轮标准化流程——然后一篇论文就能大幅降低其估计安全等级。
部署路上还有哪些坎?
Falcon 缺少可用的密钥推导方案。 目前唯一公开的 BIP-32 式 Falcon 推导方案是对私钥基进行重随机化,这会把签名范数界急剧膨胀,链上签名膨胀到约 23.7KB。而且该方案的参数本身不满足其安全条件,修复这个问题会导致体积进一步膨胀。没有可行的 Falcon 公钥推导实现,也是报告指出的最有价值的开放问题。
Falcon 标准还没定稿。 NIST 虽然选中了 Falcon,但 FN-DSA 草案尚未正式发布。标准化将带来审计过的实现、测试向量和硬件级支持。广泛采用会降低集成到比特币共识层的风险和难度。Blockstream 建议等 FN-DSA 正式发布——在那之前,Falcon 仍在变化中。
Falcon-WS 变体值得关注。 这种变体放宽内部参数,用拒绝采样来补偿,在 1 级安全下总大小压缩到 1114 字节,5 级下为 2387 字节——比原版 Falcon 进一步缩小。这个方向有研究价值,但不会进入官方标准,需要更多密码分析验证。已有研究发现其派生变体的强不可伪造性证明存在缺陷(普通不可伪造性不受影响)。
未来会有更好的方案吗? Fiat-Shamir 家族的历史可以追溯到 2013 年的 BLISS,CRYPTO 2025 上 Gärtner 的最新成果在成熟假设上实现了与 Falcon 相当的体积。但这家族实现部署的根本障碍在于实现安全性:BLISS 因为高斯采样不恒定时间而被侧信道攻击破解;后续方案没有完全解决这个问题,最新成果也表明保护采样步骤更加困难。在这个问题解决之前,这类方案只有理论价值,不适合部署。
格基签名和哈希签名是互补关系。 格基签名可以作为混合方案中的组件。例如在 SHRINCS 中,无状态恢复路径目前使用几 KB 的 SPHINCS+ 签名;用 Falcon(或 Falcon-WS)签名替代,体积更小、验证更快,可以大幅降低低频恢复路径的开销,同时不影响日常使用路径。
结论:现在选什么?
格基候选的排名已经清晰:Hawk 在被攻击后退出了竞争;Dilithium 实现难度最低、是唯一有密钥推导研究基础的方案,但体积对比特币链上开销不友好;Falcon 兼具紧凑体积、快速验证和成熟安全假设——它唯一的短板(签名端浮点运算)已有可行的工程解决方案。如果今天必须为比特币选一种格基签名方案,选 Falcon-1024。
但就眼下而言,Blockstream 的观点与哈希签名报告一致:短期保守路径仍然是哈希签名,它拥有最成熟的安全假设和最低的风险,适合作为过渡方案。等 FN-DSA 正式定稿——有了稳定规范、审计代码库和硬件钱包支持——Falcon 将比纯哈希签名带来显著改进;混合部署也是可行的,让两个签名家族互补长短。
比特币的量子抗性不是一道选择题,而是一道必答题。只是交卷时间,还没有人知道。





