2010年8月15日,比特币网络遭遇了历史上最严重的一次通胀漏洞。异常最早出现在区块74638中,Core开发者 Jeff Garzik 注意到一笔“非常奇怪”的交易输出:两笔转账金额各自高达92233720368.54 BTC。这意味着,攻击者通过一次漏洞利用,凭空制造出了总计1840亿枚BTC,远远突破了比特币原本设定的2100万枚总量上限。
漏洞如何发生
这次事件的根源,是一个典型的整数溢出问题。正常情况下,一笔比特币交易的输入总额应当等于输出总额,差额部分最多表现为矿工手续费。但由于程序在计算总输出时发生了溢出,导致交易总值意外变成负数。按照当时的校验逻辑,这个负值被错误地解释为“手续费空间”,从而绕过了网络检查,最终让一笔明显不合法的交易成功进入区块链。
从结果来看,攻击者显然已经发现并主动利用了这一漏洞。报道提到,如果对方不是一次性制造出如此夸张的数量,而是选择更隐蔽的规模,这次攻击或许不会在短短90分钟内就被社区发现。
社区紧急响应与修复
漏洞曝光后,论坛很快出现题为“overflow bug serious”的讨论帖,呼吁开发者尽快修复。仅在漏洞被利用后的大约两小时内,Gavin Andresen 与中本聪便着手处理,推动补丁发布,并将这笔制造1840亿BTC的异常交易从区块74638中清除。
中本聪当时在讨论中表示,一旦超过50%的节点算力完成升级,修复后的正确链就会超过错误链,使异常交易难以再获得确认。这也意味着,比特币在早期已经展现出一种关键能力:当协议出现重大问题时,开发者、节点和社区能够迅速协同,通过升级与链重组恢复系统秩序。
为何这次事件意义重大
在2010年之前,比特币已经经历过多次漏洞或脆弱性问题,但这一次与众不同。它被认为是比特币历史上的首次重大通胀型漏洞,直接触及这套系统最核心的经济承诺——稀缺性。如果1840亿BTC未被及时移除,比特币的货币可信度将遭受毁灭性打击。
从历史视角看,CVE-2010-5139不仅是一场技术危机,也是一次重要的压力测试。它证明了比特币早期代码并非完美无缺,但也显示出社区在极端情况下的修复效率与协调能力。更值得注意的是,中本聪在这次事件中高度活跃,多次参与讨论并推动修复;而在仅仅数月之后,他便逐渐离开了自己创建的社区。
回望这段历史,1840亿BTC漏洞提醒市场:任何去中心化系统都可能在早期遭遇严重缺陷,但决定其能否存续的,不只是漏洞本身,更是发现、修复与达成共识的速度。对比特币而言,这次危机最终没有摧毁网络,反而成为其韧性的重要注脚。

