如果有一天,他人仅凭知晓你的银行卡号,就能逆向推导出你的支付密码,将会发生什么?
比特币所面临的量子计算风险,大致遵循这一逻辑。
目前,比特币之所以能安全运作,在于每个钱包都配备了一对“钥匙”:一把名为公钥,可对外公开;另一把名为私钥,须由用户独自保管。通常来说,即便他人获知你的公钥,也几乎无法推算出私钥。因此,只要私钥不泄露,你的资产就难以被他人转移。
然而,量子计算带来了一个隐患。未来若量子计算机足够强大,它便能利用一种名为 Shor 算法 的技术,从公开的公钥反向推导出私钥。换言之,原先需要“窃取钥匙”才能开启的钱包,未来或许只需“审视锁具”,就能重新生成一把钥匙。
这恰恰是量子计算对比特币构成真正威胁之处。如果他人也能计算出你的私钥,那么这枚比特币究竟该如何证明属于你?
过去,这个问题一直被认为离现实很遥远。因为理论上量子计算确实能破解比特币所使用的密码体系,但普遍观点认为,要制造出这样一台机器,其规模可能极其庞大。
今年3月,一篇来自 Google Quantum AI、斯坦福大学、加州大学伯克利分校及 Ethereum Foundation 研究人员的论文,使这一判断发生了变化。这篇长达57页的论文重新进行了估算,未来究竟需要多大规模的量子计算机,才能具备攻击比特币的能力?
作者给出的结论是,破解比特币所使用的 secp256k1 密码体系,可能仅需大约 1200至1450个逻辑量子比特。在他们假设的一种超导量子计算架构下,所需的物理量子比特甚至可能降至 50万个以内。
更引人注目的一个数字是:9分钟。根据论文的模型,未来一台足够强大且快速的量子计算机,有可能在大约9分钟内,从公开的公钥计算出私钥。
更为棘手的是,还有一些币根本无人能主动“更换锁具”。例如中本聪时代遗留的大量比特币,已超过十年未曾移动,其私钥甚至可能早已丢失。若未来量子计算机能重新计算出这些私钥,那么这些沉睡多年的比特币将再次变得可被他人开启。
因此,这篇论文真正值得探讨的,并不仅仅是 “量子计算是否会破解比特币?” ,而是进一步追问了一系列深层问题:
带着这些问题,我们来审视这篇论文的解答。
本篇论文并未聚焦于量子计算机的算力比经典计算机强在哪里,而是探讨了一个更具体的密码学问题。
大量现代区块链的安全性依赖于椭圆曲线离散对数问题,即 ECDLP(Elliptic Curve Discrete Logarithm Problem)在经典计算机上难以求解。
具备密码学相关性的量子计算机 CRQC(Cryptographically Relevant Quantum Computer)将威胁现有公钥密码体系。其中,RSA 面临的问题源于 Shor 算法对整数分解的高效量子求解,而椭圆曲线密码学 ECC 面临的问题,则来自 Shor 算法可以高效求解 ECDLP。
这与加密货币的关系非常直接。比特币、以太坊等区块链大量使用建立在 ECDLP 之上的数字签名。
而大多数加密货币安全性的核心,都建立在一个基本假设之上,即 ECDLP 很难求解。 依赖这一困难性假设的具体区块链功能,包括比特币和以太坊的交易验证,以及以太坊的权益证明(PoS)共识机制。
基于这些估算,该论文讨论了两种可能出现的 CRQC 演进情景,这些情景将成为后文讨论潜在缓解策略的基础。特别是,早期 CRQC 能以多快的速度完成攻击,将直接决定哪些区块链脆弱性可以被现实利用,因而也决定了在全面迁移至 PQC 之前,应优先采用哪些中间缓解措施。
根据攻击所要求的执行速度,以及每次攻击是否都需要访问 CRQC、还是只需使用 CRQC 一次即可制备一个可通用复用的攻击工具,可将量子攻击分为三类:
需要指出的是,对加密货币的量子攻击还可以采取其他分类方式。例如,可以按照被破坏的安全属性进一步细分为:
比特币和以太坊的交易验证、以太坊的 PoS 共识等,都不同程度地依赖这一假设。
以比特币为例,其基本资产单位是 UTXO。一个 UTXO 能否被花费,需要花费者提交与相应公钥匹配的有效数字签名;生成有效签名需要掌握相应私钥。因此论文把比特币的密码学所有权关系概括得非常直接。从密码学意义上说,拥有比特币,就意味着掌握与锁定这些比特币的公钥相对应的私钥。
而 CRQC 带来的根本变化就在这里。一旦公钥已经公开,CRQC 可以利用 Shor 算法,通过求解 ECDLP 推导出与之对应的私钥。
该论文因此认为,这会从根本上动摇比特币当前建立在密码学难题之上的所有权模型。
为什么加密货币尤其值得关注?
第一,许多区块链为了效率和可扩展性,高度依赖基于 ECDLP 的密码体系。在相同安全级别下,这类密码体系所需密钥长度比 RSA 小近一个数量级,因此破解它们所需的 CRQC 规模也更小。
第二,传统金融通常具有多层安全防护和交易追索机制,而区块链往往缺乏针对欺诈交易的追索能力。论文明确指出:一次成功的数字签名伪造,就可能导致无法追回的资产盗窃。
所以,严格按照论文的逻辑,量子计算对加密货币的威胁可以归结为:
ECDLP 是数字签名安全的底层困难问题。Shor 算法能够在 CRQC 上高效求解 ECDLP,已公开公钥可能被用于恢复私钥,攻击者能够生成合法数字签名,导致现有以私钥证明所有权的机制受到威胁。
但论文同时特别强调,不能由此推导出“量子计算能够轻易攻破区块链所有部分”。不同协议和功能的量子韧性不同。例如论文认为,比特币的 PoW 共识本身并非现阶段现实的量子攻击目标。
这篇论文阐述了一个很重要的观点:衡量一台能够攻击 secp256k1 的量子计算机,不能只看“有多少量子比特”。
原因在于,针对 n 位 ECDLP 问题,现有最先进 Shor 算法编译方案的比较并不简单,因为存在一个关键的时空权衡(space-time tradeoff)。一方面是逻辑量子比特数量,它决定了发动量子攻击所需 CRQC 必须有多大;另一方面是 Toffoli 门数量。
在容错执行 Shor 算法时,Toffoli 门通常主导总体资源成本,并决定算法的总运行时间,因此也直接决定交易时攻击是否可行。目前公开文献中逻辑量子比特数量最低的结果来自 Chevignard 等人的近期预印本:对于 n=256,他们估算只需约 1100 个逻辑量子比特(渐近情况下为 3.12n+o(n))。
不过,如此小的逻辑量子存储空间是以超过 1000 亿个 Toffoli 门为代价的。如此巨大的门数量既意味着极高的运行时间,也意味着需要大量物理量子比特。因为实际所需物理量子比特数同时取决于逻辑量子比特数量和电路门数。
在另一个极端,此前公开文献中 Toffoli 门数最低的结果大约来自 Litinski,约为 2 亿个 Toffoli 门。需要说明的是,该论文标题写的是 5000 万而不是 2 亿,这是因为其计入了一些能够降低多实例求解摊销成本的优化,而本文关注的是单实例攻击。Litinski 方案降低 Toffoli 门数的代价,是逻辑量子比特数量超过 Chevignard 等人方案的两倍。进一步计入量子纠错开销后,Litinski 方案在光子量子计算架构上预计需要约 900 万个物理量子比特。
本文报告,团队已经开发出用于破解有限域上椭圆曲线 ECDLP 的逻辑量子电路:对于素数模长和群阶均为 n 位的情形,其空间开销约为 4.5n。论文给出了两种方案在不同 n 下的资源需求:一种优化量子比特数量,另一种优化门数量。
当 n=256 时,两种电路分别需要:
如果以时空体积(spacetime volume)衡量,这是一个尤其会影响量子纠错开销的关键资源指标,那么在求解单个 ECDLP 实例时,我们的估算相比此前最高效的方案大约改进了一个数量级。这正是前文所述 ZK 证明所验证的资源估算。结论可直接应用于 secp256k1 上的 ECDLP;该椭圆曲线被比特币、以太坊等主流区块链广泛用于数字签名。
在对超导量子比特硬件采用标准假设,例如平面四度连接(planar degree-four connectivity)、物理错误率为10⁻³,并运行与假设类似的表面码架构变体时,计算得出,上述量子电路可以在少于 50 万个物理量子比特上执行。
这一估算之所以显著下降,一方面源于优化后的逻辑电路规模更小,从而降低了量子纠错开销;另一方面源于使用 “yokes” 保护的高密度表面码配置,以更加高效的方式存储逻辑量子比特。
为了估算电路的实际墙钟运行时间,作者假设量子计算以反应时间受限(reaction-limited)方式执行,即执行速度主要受到控制系统反应时间的限制。如果假设控制系统反应时间为 10 微秒,这是超导量子比特常用的标准数值 [100],并假设每个 Toffoli 门存在 50% 的额外开销,那么在超导 CRQC 上执行 7000 万或 9000 万个 Toffoli 门,分别需要约 18 分钟或 23 分钟。这一时间已经接近比特币平均 10 分钟的出块时间。
如果考虑量子计算机可以对算法的前半部分提前进行预计算,交易时攻击还会更快。算法前半部分只依赖所有地址共享的协议参数,因此量子计算机可以预先计算并保持在一个“预备(primed)”状态,一直等待目标公钥出现。这样,从公钥被公开到对应私钥被求出的时间可以缩短一半。
因此,从攻击者获知公钥并从预备状态开始计算算起,交易时攻击预计只需大约 9 分钟或 12 分钟。这意味着,一台能够对链上静态持有资产实施静态持有攻击的超导 CRQC,很可能同时也能够对活跃交易实施交易时攻击。
正如后文将进一步讨论的,并不认为从 1200 个逻辑量子比特扩展到 1450 个逻辑量子比特会产生显著的额外扩展障碍。为简化后续讨论,本文因此假设:第一代快时钟 CRQC 平均能够在约 9 分钟内求解 secp256k1 及类似椭圆曲线上的 ECDLP。
如果攻击者拥有多台已经处于预备状态的机器,这一时间还可以进一步缩短。若使用 11 台预备机器并行发动攻击,则每台机器只需执行 32 次椭圆曲线点加法,而不是单台预备机器所需的 208 次,可获得约 6.5 倍加速。
要在 9 分钟内执行 7000 万个 Toffoli 门,需要每秒生成约 50 万个 T 态(T states)。一个具有足够低错误率的 T 态可以通过约 50,000 个 qubit-rounds(量子比特-轮次)制备。在纠错轮次为 1 微秒的快时钟架构中,这意味着需要分配约 25,000 个物理量子比特用于魔态制备(magic-state production)。
与运行整个算法所需的约 50 万个物理量子比特相比,25,000 个量子比特只是较小的一部分。因此,在快时钟架构上,我们预计交易时攻击将与静态持有攻击几乎同时变得可行。
相比之下,在纠错轮次为 100 微秒或更长的慢时钟架构中,为了获得足够的 T 态生成速率,需要约 250 万个物理量子比特。这一数量远大于以较慢速度运行算法本身所需的量子比特数。因此,我们目前预计,在慢时钟架构上,静态持有攻击会先于交易时攻击变得可行。
不过,未来如果出现新的魔态制备技术,例如更高效的 T 态产生方法,并且能够在慢时钟架构的约束条件下高效运行,那么慢时钟平台未来也可能具备实施交易时攻击的能力。
为了进一步理解这些资源估算的意义,我们请读者参考图 3。该图最初发表于 Google Quantum AI 近期的一篇观点文章。
图 3 传达的核心信息是,过去十年中,量子算法和量子纠错架构的进步持续大幅降低实施重要量子应用所需的物理资源。正如密码学领域的一句常见说法:“攻击只会越来越好(attacks always get better)”。
当然,资源估算不可能无限下降。但图 3 中重点展示的两类应用——破解 RSA 与量子化学模拟——是历史上获得的公开研究投入远多于使用量子算法破解 ECDLP。因此,这些应用的算法可能已经比 ECDLP 攻击算法更接近最优状态。换言之,未来 ECDLP 的资源估算仍可能存在更大的下降空间。
容错量子计算之所以成本高昂,很大程度上来自量子纠错的开销。 从工程角度构建一个完整可行的系统,需要在多个条件之间进行艰难平衡,包括与硬件兼容的连接拓扑、高噪声容忍度、快速的综合征解码器(syndrome decoder)以及具有足够表达能力的逻辑指令集。
成熟且研究充分的表面码能够满足这些条件,但相比其他现代量子纠错码,其效率较低。这种效率通常由逻辑量子比特数与物理量子比特数之比表示,也称为纠错码的编码率(encoding rate),简称“码率(rate)”。
例如,近年对**量子低密度奇偶校验码(quantum Low-Density Parity-Check,qLDPC codes)**的研究提供了一个非常有吸引力的替代方向:通过引入长程连接来提高编码率。当前资源估算通常仍默认使用表面码,这是因为其可解码性已经得到验证,同时对硬件设计提出的要求较为现实;但如果 qLDPC 技术进一步成熟,未来有可能继续降低物理量子比特需求。近来,研究人员还开始使用 AI 技术加速寻找更优的量子纠错码。
本文讨论的物理资源估算,例如约 50 万个物理量子比特,采用的是相对温和的硬件能力假设:平面四度连接,物理门错误率为 10⁻³。换言之,这基本相当于对 Google 已经通过实验演示的量子处理器进行规模放大。
如果采取更激进的硬件假设,物理量子比特需求还可能降至接近 10 万个。例如,用于 2-gross qLDPC 码的“bicycle”架构就可能达到这一水平,但该方案需要非局域七度连接,而这种连接方式尚未在真实超导量子比特器件上得到验证。
类似地,近期提出的 “Pinnacle” 架构表明,理论上可以用少于 10 万个超导量子比特破解 2048 位 RSA;但其依赖更具挑战性的十度、非平面连接,所使用的纠错码目前又缺乏用于刻画性能的大规模模拟和高效解码器,而且整个计算需要接近一个月。
满足这些更苛刻规格的器件在物理实现上更加复杂,因此,与规模更大但工程要求较温和的器件相比,可能更难以制造到足够低的物理错误率。由此,即使 Pinnacle 风格设备从理论上可以使用少于 10 万个超导量子比特破解 256 位 ECDLP,约 50 万个量子比特、平面四度连接的设备仍然是目前理解更充分、工程上也更可能实现的路径。尽管如此,寻找同时具有高编码率并满足现实工程约束的量子纠错码,仍然是一个活跃且很有前景的研究方向。
同时,考虑到快时钟与慢时钟量子计算平台之间存在显著速度差异,同时缓解策略的选择又取决于静态持有攻击是否会比交易时攻击早得多地成为现实,我们认为,加密货币社区应当为以下两种潜在情景制定应急预案: