mt logoMyToken
ETH Gas
EN

量子计算即将攻破BTC?真相是最早也要2035年

Favoritecollect
Shareshare

原文作者:Derrick Cui

原文编译:深潮 TechFlow

深潮导读: 尽管理论进步已将破解椭圆曲线密码所需的量子硬件需求从 3.17 亿个物理量子比特(2022 年)降至 50 万个(2026 年),但当前量子计算机能实际运行算法的量子比特数仅约 105 个,距离实用攻击仍有数个数量级的差距。本文拆解了破解 ECC 到底需要什么条件,以及我们离那一天还有多远。

核心要点

下表对比了 2026 年论文理论上破解 ECC(椭圆曲线密码,用于 TLS、比特币和 HTTPS)所需条件与当前实际进展。结论是:我们远未接近。

最大的进步来自理论层面,比如算法和纠错设计将所需操作次数和量子比特数从约 3.17 亿个物理量子比特(2022 年)降至 50 万以下(2026 年)。硬件也有改进(双量子比特保真度从 2005 年的约 90%提升至如今的 99.9%以上,相干时间从约 1 微秒延长至约 1 毫秒)。但最关键的硬件指标——单台机器中可用的量子比特数——几乎没有增长:约 105 个能运行真实算法,而所需数量是约 50 万个。

Q 日(量子计算破解密码之日)预估:

Justin Drake 认为 2030 年前概率 10%,2032 年前概率 50%

美国国家标准与技术研究院/国家安全局将淘汰易受攻击密码的目标定在 2035 年

量子计算没有摩尔定律的等价物。所需条件在四年内下降了约 600 倍,而机器规模在过去十年可能只增长了 10 倍。因此,不可能知道真实时间表是什么。

量子计算进展的当前前沿

定义:

物理量子比特:量子计算机中的量子比特总数

逻辑量子比特/纠错量子比特:纠错后实际可用的量子比特数(经典计算机的对应概念是信息比特与总比特数之比)。例如,量子计算中的 distance-5 码意味着用约 49 个物理量子比特存储 1 个量子比特的信息

非 Clifford 门:对量子比特执行的、经典机器难以模拟的计算。包括 T 门

T 门:对单个量子比特施加 45 度相位旋转的操作。诱导 T 门取决于量子计算机的硬件;对于超导量子计算机,使用微波脉冲来诱导该效应

魔术态:预制的、一次性的量子比特,其中预先烘焙了非 Clifford 门。由于非 Clifford 门无法直接应用于纠错量子比特,你通过消耗魔术态来间接应用该门——通过纠缠+测量+纠正(一种称为门"隐形传态"的过程)

Toffoli 门:作用于 3 个量子比特(2 个控制比特、1 个目标比特),仅当两个控制比特都为 1 时才翻转目标比特。它由约 7 个 T 门(优化后为 4 个)加 Clifford 门构建。在纠错量子比特上,应用一个 Toffoli 门的唯一方法是消耗一个魔术态

Shor 算法:1994 年发明,作为量子计算机破解 RSA 和 ECC 的方法(通过解决周期查找问题)

校验子:用于检测数据量子比特是否发生错误的量子比特("检查量子比特")产生的结果流

提纯:将许多噪声魔术态组合的过程,消耗 15 个噪声态以输出一个干净得多的态

用 Shor 算法破解 ECC:

2026 年,一篇论文引入了新的电路设计和 Shor 算法的"预处理",需要更少的计算来破解 ECC(这会破解比特币以太坊、SSH、TLS、HTTPS)

该论文理论化破解 ECC 在一台超导量子计算机上是可能的,需要约 1,200 个逻辑量子比特无错误地链接约 9,000 万个 Toffoli 门。按目前的纠错水平,这意味着约 50 万个物理量子比特和数分钟的运行时间

计算管线

大致流程:将物理量子比特放在芯片上 → 将许多物理量子比特捆绑成每个纠错逻辑量子比特 → 在逻辑量子比特上运行算法的门,为困难的(非 Clifford)门消耗魔术态 → 测量并在经典计算机上后处理。

从噪声物理量子比特开始

挑战:将足够多的量子比特物理地放入一台机器(控制线路、解码芯片、激光束、布线等)

进展:算法设计的改进已将需求从约 3.17 亿个量子比特(2022 年)降至约 900 万个(Litinski 2023 年)再降至 50 万个(2026 年)。加州理工在 2025 年用光镊固定了 6,100 个量子比特(固定它们,而非计算)。IBM 的 Condor 芯片可容纳 1,121 个量子比特,但太噪声无法运行真实算法。运行过实际算法的最大芯片约 105 个(谷歌 Willow,2026 年 3 月)

通过纠错将它们捆绑成可靠的逻辑量子比特

挑战:2026 年论文需要约 9,000 万个 Toffoli 门依次链接且每个都必须成功,每次操作的逻辑错误率必须低于约 1/90,000,000。实际上目标("北极星")是逻辑错误率为约 10⁻⁹或更低

进展:2024 年,谷歌展示了由 101 个物理量子比特构成的 1 个逻辑量子比特(distance-7)的错误率比 49 个物理量子比特的(distance-5)低 2.14 倍,后者又比 17 个物理量子比特的(distance-3)低 2.14 倍。这篇论文证明了随着物理量子比特增加,错误持续下降。101 量子比特(distance-7)的错误率为每周期 1.4×10⁻³;大约高出一百万倍

保持纠错运行以维持它们存活

挑战:解码随着量子比特数量增加变得更难。超导量子计算机每约 1 微秒发出一轮校验子数据,经典解码器必须在不到约 1 微秒内完全处理每一轮,持续进行。解码必须跟上添加到计算机的量子比特数量

进展:Riverlane 的局部聚类解码器(《自然通讯》,2025 年 12 月)是第一个达到每轮 1 微秒以下且具有自适应性的硬件(FPGA)解码器。谷歌的 AlphaQubit 2(2026 年 3 月)以每周期 1 微秒以下进行实时神经解码至 distance 11;模拟表明一个 TPU 可达 distance 25。距离 50 万量子比特规模还差得远

消耗魔术态来执行困难的门

挑战:每个困难的门(Toffoli)消耗一个魔术态,而 ECC 需要约 9,000 万个。足够快地制造和纯化魔术态是一个主要的吞吐量瓶颈。提纯工厂是一块逻辑量子比特块+路由通道,在计算时处于闲置状态。在规模化时,工厂通常占总物理量子比特的约 2-10%以上

进展:魔术态培养(2024 年)使每个魔术态的成本大幅降低。QuEra 在 2024 年仅用 5 个逻辑量子比特展示了逻辑级提纯

测量 → 经典计算机完成数学运算

不是瓶颈。测量逻辑量子比特并运行经典后处理(测量结果 → 周期 → 私钥)已被充分理解且成本低廉。

我未讨论的一些研究前沿:

快时钟与慢时钟架构

模块化/多芯片架构

阈值以下纠错码

表面码与 qLDPC 码:我没有讨论 IBM 在 qLDPC 方面的进展,因为他们迄今只展示了存储量子比特(存储器),而非在其上进行计算

魔术态成本

魔术态路由/编译

相干时间

在量子比特上运行存储与计算

低温控制电子设备

泄漏和相关错误

比特币风险

关于比特币使用 ECC 会被破解的恐慌言论很多。破解 ECC 对比特币到底意味着什么?

Shor's 算法允许攻击者在拥有你的公钥 Q 的情况下恢复你的私钥 k。一旦他们做到这一点,他们就变成了你。他们可以签署一笔将你的币转移到自己手中的交易,而这是一笔完全有效的交易。

然而,比特币地址不是你的公钥,而是你公钥的哈希值(公钥先经过 SHA-256 再经过 RIPEMD-160)。哈希是一种不同的数学运算,Shor's 算法无法破解它。

但是,要授权一笔交易,你必须公开公钥 Q,它会永久留在链上。所以任何向另一个地址发送过比特币的地址都可能被攻破。现代钱包每次发送比特币时都会将全部余额转移到一个新地址,这样可以保护用户。

大约有 670 万枚 BTC 已经暴露,可能会通过量子计算被盗。

Justin Drake 还写到了在 10 分钟比特币区块时间内私钥被窃取的风险。他列出的论文显示这可能在 9 分钟内完成。这个问题远不如丢失已经暴露的 670 万枚 BTC 严重。

真正解决这个问题的唯一方法是让所有人都切换到量子安全密钥(技术已经存在),并且在一段时间后销毁未转移的比特币。让比特币社区同意这样做将是一项艰巨的任务。

以太坊风险

以太坊使用与比特币相同的曲线(secp256k1)和相同的签名方案(ECDSA),所以底层的破解方式是相同的:给定公钥,Shor's 算法恢复私钥,私钥持有者就是账户所有者。

以太坊有持久账户,意味着地址会被重复使用。这意味着如果量子计算今天能用,每个发送过交易的钱包都可能被接管。

替换 ECDSA 很简单。问题在于后量子签名比 ECDSA 大得多,意味着节点必须存储更多内存。这也是以太坊在改变签名方案的同时转向 zk 的原因。

它还要求每个用户主动从旧密钥迁移到新密钥。人们没有转移的账户必须被销毁,这样黑客就无法控制它们。

技术解释

公钥密码学允许两个人在不可信的网络(比如公共互联网)上安全通信,而不需要事先共享秘密。

有很多不同的协议(你可以把它们看作适合特定用例的最终用途工具)。比如 Diffie-Hellman 密钥交换、ECDSA 签名、RSA 加密。它们的底层难题分别是离散对数、EC 离散对数和因式分解。经典计算机很难解决的核心数学瓶颈是周期性。

量子计算机能够做的实际数学运算是寻找周期。

什么是 ECC

ECC(用于 TLS、比特币和 HTTPS)建立在单向街道上。从曲线上的公共点 G 开始,"跳跃" k 次到达新点 Q。向前跳跃很快。但如果有人向你展示起点(G)和终点(Q),找出跳了多少次实际上是不可能的。

跳跃次数 k 是你的私钥;终点 Q 是你的公钥。每个人都能看到你的起点和终点,但只有你知道它们之间的步数。

数学解释是:

椭圆曲线只是满足方程 y² = x³ + ax + b 的有限域上的点集

G 是基点(公开的,由标准固定)。对于私钥 k,公钥是点 Q = kG

通过倍加法从 k 计算 Q 需要 O(log k) 次群运算

从 (G, Q) 恢复 k 是 ECDLP(椭圆曲线离散对数问题),经典方法是试错,所以非常慢

Shor's 算法在多项式时间内解决 ECDLP,将其归结为在 G 生成的群上寻找周期

这是一条椭圆曲线。

展示 y² ≡ x³ + 7 (mod 17) 上 EC 点乘法的图表。曲线和基点 G 是公开的,终点 Q 也是公开的。秘密是 k = 6,从 G 到 Q 的跳跃次数。向前计算(计算 Q = kG)很快;从 G 和 Q 恢复 k 没有已知的经典捷径。这个例子使用 mod 17,你可以数跳跃次数——真实的 ECC 使用约 2²⁵⁶ 的模空间

Shor's 算法如何破解 ECC

破解 ECC 归结为一个看似简单的函数:f(x, y) = xG + yQ,其中 G 是公共生成器,Q 是你要攻击的公钥。由于 Q = kG,这实际上是 f(x, y) = (x + ky)G。

这带来一个后果:将输入步进 (k, −1) 永远不会改变输出,因为 (x + k) + k(y − 1) = x + ky。所以 f 沿着通过 (x, y) 网格的平行对角线重复,这些对角线的方向编码了 k(私钥)。

找到这个方向需要两个不同的 (x, y) 对产生相同的输出。经典方法必须通过暴力搜索这样的碰撞。

量子计算机让你能够:

在叠加态中一次性评估所有 (x, y) 对的 f,所以整个条纹网格同时存在于机器中

但你仍然无法观察——测量会坍缩到一个随机点,这什么也告诉不了你

傅里叶变换使除了重复方向之外的所有东西都相互抵消,产生一个频率峰值,通过一些经典数学运算可以得到 k

每个金色单元格是一个输入对 (x, y),产生相同的输出点。它们以固定步长重复——向右 k,向下 1——所以私钥编码在对角线的方向上。(玩具示例:k = 2, n = 13。在真实规模下,网格有 2²⁵⁶ 列,你一次只能检查一个单元格,这就是为什么这个模式在经典情况下不可见。)

来看一个例子:取整数 mod 17 上的曲线 y² = x³ + 2x + 2。(这个问题很简单因为它在 mod17 下。通常是在 mod 2²⁵⁶ 下)它恰好有 n = 19 个点,G = (5, 1) 生成所有点。假设我的公钥是 Q = (0, 6)。你的任务:找到 k 使得 Q = kG。(答案是 k = 7,因为 G, 2G, 3G, ... 依次走过 (5,1), (6,3), (10,6), (3,1), (9,16), (16,13),在第 7 步到达 (0,6)。)

设置。两个计数寄存器,一个用于 x,一个用于 y,每个保存 0 到 18 的值。一个工作寄存器保存曲线点。与因式分解的关键区别:对于 RSA,周期 r 是未知数,所以寄存器必须过大(2n 量子比特),峰值是近似的。这里 n = 19 是公开的,所以我们可以在 mod-19 算术上精确进行 QFT,峰值每次都完全尖锐。

阶段 1——初始化。重置一切。将工作寄存器设置为单位点 O(曲线的"零")。

阶段 2——叠加。对两个计数寄存器进行 Hadamard 式叠加。它们现在一次性保存所有 19 × 19 = 361 对 (x, y)。

阶段 3——点加法(纠缠步骤)。事先,经典地计算每个比特位置 j 的常数 2ʲG 和 2ʲQ。然后,根据每个计数量子比特的控制,将相应的常数添加到工作寄存器中。完整序列后,工作寄存器保存 xG + yQ,与每个 (x, y) 对纠缠。

完整状态是一个大纠缠和:对所有 361 对求和 Σ |x⟩|y⟩|xG + yQ⟩。由于 Q = 7G,工作寄存器实际保存 (x + 7y mod 19)G——只有 19 个不同的值。按工作寄存器值对和分组:

所有 x + 7y ≡ 0 (mod 19) 的 (x, y) ⊗ |O⟩

所有 x + 7y ≡ 1 (mod 19) 的 (x, y) ⊗ |(5, 1)⟩

所有 x + 7y ≡ 2 (mod 19) 的 (x, y) ⊗ |(6, 3)⟩

... 19 组,每组 19 对

秘密 k = 7 现在编码在每组的斜率中:每组是通过 (x, y) 网格的对角线。但你无法直接读出来,因为测量会坍缩给出一个随机对,无法告诉你关于斜率的任何信息。

阶段 4——逆 QFT + 测量。对两个计数寄存器应用逆 QFT。振幅集中在恰好满足 v ≡ k·u (mod 19) 的 19 对 (u, v) 上。傅里叶变换将线的斜率转换为频率空间的斜率。测量随机产生这 19 对中的一对。

左边的网格是阶段 3 后的状态。所有 361 对 (x, y) 存在于叠加态中,每个不同的工作寄存器值收集它们的对角线族。绿色和橙色是两组。右边的网格是逆 QFT 后的状态。所有振幅坍缩到单线 v ≡ k·u (mod 19) 上。

芯片外后处理:

测量 (u, v) = (3, 2):k = 2 · 3⁻¹ mod 19 = 2 · 13 = 26 ≡ 7 ✓(检查:7G = (0, 6) = Q ✓)

测量 (u, v) = (5, 16):k = 16 · 5⁻¹ mod 19 = 16 · 4 = 64 ≡ 7 ✓

测量 (u, v) = (0, 0):无信息,重新运行任何 u ≠ 0 的结果都有效(18/19 次运行)。

我们关心找到 k 是因为 k 是私钥。你现在可以发送消息,你和被破解密钥的人之间没有任何区别。

量子计算机的类型

简单来说,量子比特可以在任何输出概率性地存在于 1 和 0 之间的系统中制造。

量子比特的类型有:

超导电路(Google、IBM、Rigetti、IQM)基于 LC 电路。基本上,这是一个行为非常类似于原子的电路("人造原子")。就像电子存在于量子化能级中一样,我们可以制造电路振荡的量子化能级。

囚禁离子(IonQ、Quantinuum)。取一个缺少一个电子的单原子,然后用激光创建叠加态,再照射另一束激光并拍照捕获其状态(要么发光要么不发光,两种状态)。

中性原子(QuEra、Pasqal、Atom Computing)与离子相同的想法(单原子的两个内部状态,通过成像读出),但原子不带电,由光学镊子固定。

光子(PsiQuantum、Xanadu)。单光子具有水平或垂直偏振的属性(或走两条路径之一)。

硅自旋量子比特(Intel、Diraq、Quantum Motion)属性是电子的自旋;它们存在于自旋向上或自旋向下之间。

留给读者的练习

作为一个有趣的练习,这是我几年前密码学课上的一道作业题和我的解答。

Disclaimer: This article is copyrighted by the original author and does not represent MyToken’s views and positions. If you have any questions regarding content or copyright, please contact us.(www.mytokencap.com)contact
More exciting content is available on
X(https://x.com/MyTokencap)
or join the community to learn more:MyToken-English Telegram Group
https://t.me/mytokenGroup