第 4 章 · 看懂量子

两把杀器:Shor 与 Grover

1994 年,数学家 Peter Shor 发布了一个算法,让密码学界集体失眠;1996 年,Lov Grover 发布了另一个,让密码学界松了半口气。这两把杀器一个斩首、一个减员,奠定了量子威胁的全部版图。这一章讲清楚它们的直觉原理,以及为什么说比特币面临的从来不是「一种威胁」,而是「一半灭顶、一半可控」的不对称威胁

约 14 分钟 难度 ★★★☆☆ 前置:第 2、3 章

一、Shor 算法:把「找钥匙」变成「听节拍」

先回忆第 2 章的台球桌:私钥是杆数,公钥是终点,从终点反推杆数(离散对数)在经典计算机上没有捷径。这个「没有捷径」,在 1994 年之前被认为近乎数学定律。

Shor 的发现可以浓缩成一句话:这类难题背后都藏着一个「周期」——一种重复的节拍——而量子计算机恰好是宇宙中最好的节拍探测器。

比喻:从杂音里听出主旋律

想象体育场里十万人同时说话,一片嘈杂——你根本听不清任何一句话(这是经典计算机的处境:只能在嘈杂里一把一把试钥匙)。

但如果你有一个「量子耳朵」,能把十万个声音全部同时收进一个声场里(这是第 3 章说的叠加),然后做一件事:让不同步的杂音相互抵消,让重复出现的节拍同相叠加(这是干涉)。几轮之后,嘈杂退去,剩下清晰的节拍声:「咚——咚——咚——」。

测出这个节拍(周期),再用小学水平的经典数学一换算——私钥就出来了。

那个「量子耳朵」的操作,学名叫量子傅里叶变换(就是把信号分解成节拍的数学工具的量子版)。不需要更多细节——你只需知道:凡是「找周期」的问题,量子计算机都是降维打击;而因数分解(RSA 的命门)和椭圆曲线离散对数(ECDSA 的命门),恰好全都是找周期问题。

这就是为什么 Shor 一个算法能同时宣判 RSA、Diffie-Hellman、ECDSA 三大主流公钥体系的死刑:它们表面不同,内里同族——都把安全性押在「经典机器找不到周期」上。

经典计算机找私钥

在 2256 根钥匙里一把一把试。即使全世界的算力加起来,跑到宇宙热寂也试不完零头的零头。锁是安全的。

量子计算机找私钥(Shor)

把所有可能性叠加成一场「声场」,用傅里叶变换听出周期节拍,节拍一换算——钥匙自己浮出水面。所需时间:小时级。所需机器:约 1,000–2,500 个逻辑量子比特。

二、Grover 算法:只能砍掉一半的男人

第二把杀器对付的是哈希。但它的故事完全不同——不是神话,是天花板。

Grover 算法做的事很朴素:在没有任何结构的黑箱里找那个唯一的答案,它把经典需要的 N 次尝试,压缩到约 √N 次。原理用比喻说:

比喻:舀水

想象一片巨大的水面,某个角落有一个属于正确答案的「小水洼」。经典搜索是一瓢一瓢舀整片海。Grover 的做法是每「转一圈」,就把正确答案的水位舀高一点、把其他地方的水舀低一点(每圈 = 一次函数调用 + 一次干涉)。转 √N 圈后,正确答案的水洼变成了一片池塘,一测量,大概率就命中。

听起来很猛,但有三个「但是」,每一个都致命:

  1. 平方根是数学天花板。已经从理论上证明:不可能比 √N 更快。2256 的搜索降到 2128——只是从「宇宙热寂也跑不完」降到「依然宇宙级」。128 位强度在密码学里仍是「安全」的及格线以上。
  2. 量子比特之间没法像矿机一样横向堆叠。Grover 是一场必须一气呵成的连贯舞蹈:不能把它拆成一万台量子机各跑一小段再汇总——干涉需要所有水洼同步舀。这与经典算力的堆叠逻辑完全相反。
  3. 量子机跑一次哈希本身贵得吓人。一台 ASIC 矿机一秒算 1014 次哈希,功耗几十瓦;量子机做一次同样哈希的电路规模与耗时(微秒级逻辑门 + 纠错开销)意味着「量子矿工」的单位算力成本高出十几个数量级。两个平方根的劣势相乘,Grover 在挖矿上很可能永远不划算(第 5 章细算这笔账)。
顺带纠个错

很多旧文章写「量子计算机破解 SHA-256 只需 264 次运算,所以比特币挖矿完了」。错在拿「碰撞攻击」的数字吓唬「原像攻击」的场景,且完全无视上面三个「但是」。挖矿需要的是原像(找到小于目标值的 nonce),2256→2128,依然遥不可及;而「量子矿机」的能效比被 ASIC 吊打。挖矿,是这场威胁剧里最安全的主角。

三、双杀对照表:一眼看清威胁版图

Shor(1994)Grover(1996)
打击对象有周期结构的难题:RSA、ECC(ECDSA)一切「暴力搜索」:哈希原像、密钥穷举
加速幅度指数级 → 多项式级(换引擎)平方根(提效,封顶且已证明最优)
对签名锁 ECDSA死刑:公钥 → 私钥,小时级
对哈希锁 SHA-256降级:强度减半,可通过加大输出长度对冲
对挖矿无关理论加速,实际成本倒挂,基本无效
可并行性需整台大机器一气呵成差(干涉无法拆机执行)

四、硬核区:威胁的量化快照(2026 视角)

硬核区

破解一把 secp256k1 私钥需要多少资源?引用最多的估计来自 Webber 等人 2022 年的论文(arXiv:2110.00002):约 2,330 个逻辑量子比特、约 1.9×109 个 Toffoli 门;换算成物理比特,与「想在 10 分钟到一个小时内完成破解」的速度要求强相关——10 小时级约 1,300 万物理比特,1 小时级约 3 亿。2025–2026 年,多个团队(包括一个中国团队)通过优化算术电路把逻辑比特需求压到 835–1,200 个,代价是门数增加约 20 倍——机器可以更小,但更慢。趋势明确:硬件要求随算法进步持续下降,这也是时间线判断必须动态更新(第 6 章)的原因。

时间压力问题:比特币交易从广播到确认约 10–60 分钟。若攻击者想抢在确认前破解你刚广播的签名(然后用更高费率抢发一笔「偷窃版」交易),必须在几分钟内破解——这需要更快(更大)的机器。而对早已暴露的公钥(第 5 章),攻击者可以从容不迫,用最慢最便宜的配置慢慢算。「来得及」与「来不及」之间,是几个数量级的资源差。

✅ 记住三件事

  1. Shor 的本质是把找钥匙变成听节拍——凡是押注「经典机器找不到周期」的密码(RSA、ECDSA 全部中招)都会被降维打击。比特币的签名锁死刑已判,只是「行刑时间」未定。
  2. Grover 只是给穷举提效一个平方根,且难并行、单位成本高。哈希世界靠「锁号升位」即可续命;挖矿更是基本无虞。
  3. 所以真正的战场只有一个:签名。而签名只在「公钥暴露」后才能被攻击——下一章,我们去链上盘点哪些币的公钥已经暴露、暴露了多久。