十六年前,Satoshi Nakamoto 在 2010 年于一个论坛上回应质疑者,而这条回复至今仍在指引网络如何守护它的钱。
要点速览
2010 年 7 月 16 日,名为 bdonlan 的用户在 Bitcointalk 论坛上质疑比特币对“双重 SHA-256”哈希的设计。他问这种设计是否削弱了安全性。
Satoshi 直接作答。比特币的发明者将 SHA-256 类比为从 32-bit 计算跳到 64-bit 计算,而不是位长上的小幅提升。他说,计算机在 4 gigabytes 时就会耗尽 32-bit 地址空间,但没有人会指望很快就耗尽 64-bit 空间。SHA-256 也是同样的方式,而且数学计算给比特币留下了充足余量。
Satoshi 也为网络制定了“退出计划”。如果 SHA-256 真的被削弱,开发者可以在预设的区块高度进行软分叉,切换到新的哈希函数。旧哈希与新哈希会并行运行,直到每个节点都完成升级。
自那以后,比特币的市值已增长到超过 700万亿,而该网络每天都在结算数以 1000 亿美元计的价值。参与这一切的每一美元,仍然依赖于十六年前 Satoshi 在一条论坛回复中力挺的那个哈希函数。
比特币的代码会对数据进行两次哈希:SHA256(SHA256(data)),开发者将其称为 SHA256d。密码学家 Niels Ferguson 和 Bruce Schneier 建议采用这种方法来防范块长度扩展攻击,这是一种 Merkle-Damgard 结构(SHA-2 使用的结构)中的缺陷。
矿工为满足网络的难度目标会对区块头哈希两次,节点为构建 Merkle 树会对交易哈希两次。钱包则增加第三层:在 SHA-256 上再进行 RIPEMD-160,把公钥压缩成地址以缩短长度。
Satoshi 选择 SHA-256 也有原因。美国国家标准与技术研究院(NIST)于 2001 年将该算法发布为 SHA-2 家族的一部分,提供了相较 SHA-1 的大幅强度提升。SHA-1 在比特币于 2009 年 1 月上线时就已经显露裂缝。SHA-256 需要大约 2^128 次运算才能制造碰撞,且需要大约 2^256 次运算才能制造原像(preimage)。
十六年过去了,这套设计尚无人破解。没有任何研究者找到针对完整 SHA-256 的可行碰撞、原像或二次原像攻击。降轮版本确实遭遇过密码分析,但这些攻击在扩展到真正的 64 轮算法之前就会停止扩展。NIST 以及诸如 ECRYPT-CSA 之类的独立团体仍持续将该完整函数评为安全。
挖矿硬件也讲述着相同的故事。面向特定应用的集成电路(ASIC)厂商围绕 SHA-256d 构建了整条产品线,而网络算力(hashrate)如今已经运行在 exahash(艾哈希)范围。Satoshi 预测仅靠摩尔定律(Moore’s Law)本身永远不会威胁该函数,而难度调整也让区块时间几乎维持在十分钟附近,尽管挖矿算力出现了指数级增长。
经典的穷举暴力从未让 Satoshi 担忧,它至今也并未威胁比特币。量子计算将风险拆分为两个彼此独立的问题。
Grover 算法会加速暴力搜索。对 SHA-256 运行的话,它会把有效安全性从 256 bits 降到大约 128 bits,而这仍远在可达范围之外。研究者表示,攻击者需要具备达到世界尚未构建的规模的量子硬件,因此就目前而言一切仍然安全。
Shor 算法才是更大的问题,它瞄准的是签名,而不是哈希。运行该算法的量子计算机可能从比特币所使用椭圆曲线上的某个“暴露公钥”中推导出私钥。据估计,约 7 million bitcoin(接近总供应的 35%)存放在带有暴露公钥的地址中;如果这类硬件存在,这些资产将承担风险。
Google Quantum AI 在 2026 年发布了研究:将破解比特币曲线所需的量子比特数量降低至大约 500,000 个物理量子比特。目前的量子机器运行在 1,000 到 1,500 量子比特的范围内。研究者仍将可工作的威胁时间点估计在 2029 到 2035 之间,取决于纠错方面的进展。
Satoshi 在 2010 年期间不止一次回到与哈希相关的担忧上,包括如果 SHA-256 遭遇部分碰撞会发生什么。他的回答始终一致:在麻烦扩散前先锁定诚实链路,然后迁移到新的函数。
之后的比特币升级并未触及核心哈希。隔离见证(Segregated Witness)在 2017 年激活,Taproot 在 2021 年激活,这两者都旨在提升效率与隐私,而非更换哈希。直到 2020 年代期间“Grover 和 Shor 算法”的认知在密码学社区扩散开来,抗量子电阻才成为开发者更关注的议题。
比特币开发者已经提出了 Satoshi 在 2010 年描述的迁移路径,只不过目标从哈希变成了签名。已经有多种想法被摆上桌面。
BIP-360 引入了一种新的地址格式:以 bc1z 开头的 pay-to-Merkle-root 地址,围绕抗量子电阻签名方案构建。开发者在 2026 年合并了该提案。配套提案 BIP-361 则说明网络如何在未来逐步下线更早的、已暴露类型的地址。至于后者的方案,争议会更大一些。
现在,钱包提供方面临压力:在任何量子截止期限到来之前,停止地址复用,并引导用户切换到更新的输出类型。
迁移还面临自身的障碍。开发者仍需要为“锁在旧地址中的币”制定方案:这些币的所有者可能不活跃或无法联系,包括与 Satoshi 早期自有钱包相关的任何比特币。后量子签名也会比比特币当前使用的签名占用更多的区块空间,研究者正在测试基于哈希的签名方案,以让这次迁移保持可控。
今天,SHA-256 并不需要任何行动。用于保护挖矿与交易历史的哈希函数,尚未被任何已知攻击影响,无论是经典攻击还是量子攻击。
真正值得关注的是“签名暴露”。将币放在旧式地址中的持有人,或任何复用了比特币地址的人,所承受的暴露程度会比那些使用现代输出类型的人更高——后者的公钥在花费之前会保持隐藏。
Satoshi 在 2010 年关闭该线程时留下了一条警告,至今仍像现行政策那样适用。任何足以破解 SHA-256 的攻击,可能也会同时损害诸如 SHA-512 这类更强的亲缘算法,因此“完全破解”单凭现有条件看起来不太可能。比特币的防御从来不在于永久不变。它在于能够在威胁真正变成现实之前完成迁移。
73.02万 热度
74.81万 热度
24.71万 热度
101.86万 热度
2915.4万 热度
中本聪在量子担忧出现前 16 年预测了比特币的哈希防御
十六年前,Satoshi Nakamoto 在 2010 年于一个论坛上回应质疑者,而这条回复至今仍在指引网络如何守护它的钱。
要点速览
一篇制定规则的论坛帖子
2010 年 7 月 16 日,名为 bdonlan 的用户在 Bitcointalk 论坛上质疑比特币对“双重 SHA-256”哈希的设计。他问这种设计是否削弱了安全性。
Satoshi 直接作答。比特币的发明者将 SHA-256 类比为从 32-bit 计算跳到 64-bit 计算,而不是位长上的小幅提升。他说,计算机在 4 gigabytes 时就会耗尽 32-bit 地址空间,但没有人会指望很快就耗尽 64-bit 空间。SHA-256 也是同样的方式,而且数学计算给比特币留下了充足余量。
Satoshi 也为网络制定了“退出计划”。如果 SHA-256 真的被削弱,开发者可以在预设的区块高度进行软分叉,切换到新的哈希函数。旧哈希与新哈希会并行运行,直到每个节点都完成升级。
自那以后,比特币的市值已增长到超过 700万亿,而该网络每天都在结算数以 1000 亿美元计的价值。参与这一切的每一美元,仍然依赖于十六年前 Satoshi 在一条论坛回复中力挺的那个哈希函数。
为什么比特币要跑两次哈希而不是一次
比特币的代码会对数据进行两次哈希:SHA256(SHA256(data)),开发者将其称为 SHA256d。密码学家 Niels Ferguson 和 Bruce Schneier 建议采用这种方法来防范块长度扩展攻击,这是一种 Merkle-Damgard 结构(SHA-2 使用的结构)中的缺陷。
矿工为满足网络的难度目标会对区块头哈希两次,节点为构建 Merkle 树会对交易哈希两次。钱包则增加第三层:在 SHA-256 上再进行 RIPEMD-160,把公钥压缩成地址以缩短长度。
Satoshi 选择 SHA-256 也有原因。美国国家标准与技术研究院(NIST)于 2001 年将该算法发布为 SHA-2 家族的一部分,提供了相较 SHA-1 的大幅强度提升。SHA-1 在比特币于 2009 年 1 月上线时就已经显露裂缝。SHA-256 需要大约 2^128 次运算才能制造碰撞,且需要大约 2^256 次运算才能制造原像(preimage)。
十六年过去了,这套设计尚无人破解。没有任何研究者找到针对完整 SHA-256 的可行碰撞、原像或二次原像攻击。降轮版本确实遭遇过密码分析,但这些攻击在扩展到真正的 64 轮算法之前就会停止扩展。NIST 以及诸如 ECRYPT-CSA 之类的独立团体仍持续将该完整函数评为安全。
挖矿硬件也讲述着相同的故事。面向特定应用的集成电路(ASIC)厂商围绕 SHA-256d 构建了整条产品线,而网络算力(hashrate)如今已经运行在 exahash(艾哈希)范围。Satoshi 预测仅靠摩尔定律(Moore’s Law)本身永远不会威胁该函数,而难度调整也让区块时间几乎维持在十分钟附近,尽管挖矿算力出现了指数级增长。
量子计算改变了讨论内容
经典的穷举暴力从未让 Satoshi 担忧,它至今也并未威胁比特币。量子计算将风险拆分为两个彼此独立的问题。
Grover 算法会加速暴力搜索。对 SHA-256 运行的话,它会把有效安全性从 256 bits 降到大约 128 bits,而这仍远在可达范围之外。研究者表示,攻击者需要具备达到世界尚未构建的规模的量子硬件,因此就目前而言一切仍然安全。
Shor 算法才是更大的问题,它瞄准的是签名,而不是哈希。运行该算法的量子计算机可能从比特币所使用椭圆曲线上的某个“暴露公钥”中推导出私钥。据估计,约 7 million bitcoin(接近总供应的 35%)存放在带有暴露公钥的地址中;如果这类硬件存在,这些资产将承担风险。
Google Quantum AI 在 2026 年发布了研究:将破解比特币曲线所需的量子比特数量降低至大约 500,000 个物理量子比特。目前的量子机器运行在 1,000 到 1,500 量子比特的范围内。研究者仍将可工作的威胁时间点估计在 2029 到 2035 之间,取决于纠错方面的进展。
十六年来,开发者反复重提该问题
Satoshi 在 2010 年期间不止一次回到与哈希相关的担忧上,包括如果 SHA-256 遭遇部分碰撞会发生什么。他的回答始终一致:在麻烦扩散前先锁定诚实链路,然后迁移到新的函数。
之后的比特币升级并未触及核心哈希。隔离见证(Segregated Witness)在 2017 年激活,Taproot 在 2021 年激活,这两者都旨在提升效率与隐私,而非更换哈希。直到 2020 年代期间“Grover 和 Shor 算法”的认知在密码学社区扩散开来,抗量子电阻才成为开发者更关注的议题。
开发者提出 Satoshi 承诺的“退出通道”
比特币开发者已经提出了 Satoshi 在 2010 年描述的迁移路径,只不过目标从哈希变成了签名。已经有多种想法被摆上桌面。
BIP-360 引入了一种新的地址格式:以 bc1z 开头的 pay-to-Merkle-root 地址,围绕抗量子电阻签名方案构建。开发者在 2026 年合并了该提案。配套提案 BIP-361 则说明网络如何在未来逐步下线更早的、已暴露类型的地址。至于后者的方案,争议会更大一些。
现在,钱包提供方面临压力:在任何量子截止期限到来之前,停止地址复用,并引导用户切换到更新的输出类型。
迁移还面临自身的障碍。开发者仍需要为“锁在旧地址中的币”制定方案:这些币的所有者可能不活跃或无法联系,包括与 Satoshi 早期自有钱包相关的任何比特币。后量子签名也会比比特币当前使用的签名占用更多的区块空间,研究者正在测试基于哈希的签名方案,以让这次迁移保持可控。
这对比特币持有者意味着什么
今天,SHA-256 并不需要任何行动。用于保护挖矿与交易历史的哈希函数,尚未被任何已知攻击影响,无论是经典攻击还是量子攻击。
真正值得关注的是“签名暴露”。将币放在旧式地址中的持有人,或任何复用了比特币地址的人,所承受的暴露程度会比那些使用现代输出类型的人更高——后者的公钥在花费之前会保持隐藏。
Satoshi 在 2010 年关闭该线程时留下了一条警告,至今仍像现行政策那样适用。任何足以破解 SHA-256 的攻击,可能也会同时损害诸如 SHA-512 这类更强的亲缘算法,因此“完全破解”单凭现有条件看起来不太可能。比特币的防御从来不在于永久不变。它在于能够在威胁真正变成现实之前完成迁移。