藏了11年的bug,差点把限量1000亿的币印成无限供应

你手机里那个计算器,加到一亿后面会显示"E",算是体面地告诉你"我算不动了"。但XRP的账本不会,它算不动的时候,直接把账算错了——而且一错就错了11年,没人发现。

这几天币圈最炸的瓜:XRP的底层账本里藏着一个2015年就写进去的bug,理论上能让人凭空印出钞来。

原理其实特好理解。XRP总量是1000亿枚,创世时就定死了,协议里不允许再增发。但账本的支付引擎有个计数器,买方付款时要把账加总,这个计数器是个64位的数字,加到上限就会"溢出",直接回绕成一个很小的数。于是攻击者这么玩:开几百个账户,挂一堆天价卖单,再发一笔精心构造的付款一次性吃掉所有卖单——卖方按全价拿到钱,买方只被扣了溢出后的零头,中间的差价,凭空变成了新的XRP。

更绝的是,账本里本来有个专门防止"凭空印币"的检查机制,结果这个检查用的也是同一种会溢出的计数器,完美失明。双保险双失灵,就这么在账本里躺了11年。

发现它的不是人,是AI。研究员Cayden Liao和Veria AI在9月22日通过漏洞赏金计划上报,官方复现后确认"印出来的币真的能花",紧急程度从"重大"拉到"最高",三天后发布了xrpld 3.4.1紧急修复,连标准的验证者投票流程都跳过了——十多年来头一回。好消息是,官方说在公网链上没找到被利用过的痕迹;坏消息是,没人能证明它真的没被用过。

细思极恐的地方在于:一个管着几百亿美元市值的账本,核心防线11年没人看一眼,最后是靠AI审计翻出来的。币圈天天吹"代码即法律",这次差点被代码上了一课——法律条文里藏了个印刷机,谁都能开,只是恰好还没人开过。