加密货币:4,000枚比特币一夜之间离开 Liquid,没有任何密钥被盗
9月6日星期日,UTC时间14:27。Liquid的储备显示有4,205.29枚比特币。六十秒后,只剩202.63枚。两者之间,只有一笔交易,以及被转走的3,996.0183枚比特币。按当时的价格,每枚约79,000美元,也就是略高于320,000,000美元。
没有人偷走哪怕一把私钥。没有保险箱被撬开,也没有人贿赂员工。这是整个故事中最重要的细节,也正是我们所有人都应该关注的地方。网络完全按照要求运行了。
后续发展很快。Liquid切断了自己的桥接,交易平台暂停L-BTC的存取款,客户发现自己再也拿不回放在那里的东西。两天后,区块生产恢复了。资金流出没有恢复。在我写下这些话的时候,L-BTC仍然无法转换成比特币。
所以我从头说起,因为这件事比十篇文章都更能解释为什么单独说“比特币”毫无意义。
Liquid就是比特币的衣帽间
你走进剧院,交出自己的外套,人家给你一枚编号牌。编号牌不是外套。它告诉你,出去时,如果一切顺利,而且衣帽间还开着,会有人把外套还给你。整篇文章说的就是这个。
Liquid是一个平行于比特币的网络,由Blockstream于2018年推出。这个想法是:比在原始链上更快、更隐蔽地转移比特币,手续费低得离谱,而且外部没人能读懂交易内容。交易平台和支付公司每天都在使用它,而你在一个主链费用很高的国家提取加密货币时,也会在不知情的情况下用到它。
这个机制和衣帽间一模一样。你把比特币放进一个共用地址。这个地址不是由一个人掌管,而是由十五家公司共同签名:十五个签名中需要十一 个才能打开。作为交换,你会收到L-BTC,这种代币价值完全相同,并且运行在平行网络上。当你想回家时,你销毁代币,衣帽间把真正的比特币还给你。这就叫退出,如果你读的是业内媒体,也叫peg-out。
这个模式已经维持了八年。它有一个我们从来没有用足够大的字写出来的缺陷:从你寄存外套到取回外套的这段时间里,你已经没有自己的外套了。
你的编号牌的价值只在于持有它的人做出的承诺,而衣帽间可能会在夜里关门
漏洞不在钥匙里,而在入口检查处
十五家公司,十五个签名中需要十一个签名,硬件密钥,操作流程:这一整套东西都正常运行了。授权退出的密钥没有被攻破,衣帽间按照应该签署的方式为每次取回都签了名。问题高了一层,出在驱动Liquid的开源软件里,这是Bitcoin Core的一个衍生版本,名叫Elements。
为了避免不停地重新计算相同的检查结果,这个软件会把已经验证过的证明保存在内存里。就像入口处的一本检查登记簿,上面记着已经盖过章的编号牌。只不过这本登记簿用一个不完整的键来整理记录:它记得某个证明已经通过验证,却不记得这个证明属于网络中的哪种资产。于是,某种货币上盖过章的编号牌,就可能被拿去给另一种货币使用。
你看明白了吧。有人拿着一张已经验证过的票来到柜台,只不过对应的是错误的币种,而门开了。
这也不是最后一刻碰上的好运。准备工作花了十四个小时。攻击者把68份相同的证明,以每笔交易41聪的成本,埋进4,049,384号到4,050,246号区块里,这几乎不花钱。他在准备自己的登记簿。接着是出手,在4,050,336号区块中:83个输入,每个都带着整整十一个签名。然后他从正门出去,把完全符合要求的假代币转换成真正的比特币,而联邦签了字付款。
2026年9月6日星期日,14:27到14:28之间衣帽间的储备。来源:Blockstream,公开的链上记录
修复程序早就存在,只是没有出现在任何已发布的版本中
这是我怎么也放不下的一段。这个漏洞早已被发现,早已修复,却被收进了抽屉。
将软件内存与相关资产绑定的修复程序于8月3日写好。它于9月1日合并。它于9月2日和3日被移植到开发者分支中。而软件发布的所有版本都不包含它。至于联邦参与者,他们运行的是4月13日发布的版本。Jameson Lopp,一位业内知名观察者,发现的一份技术说明更进一步指出:更衣室成员运行的软件,比代码本身落后了两年多。
四天。修复程序在9月1日晚间进入代码,漏洞在6日被利用。我不知道,也没人知道,那家伙是否在查看公开代码库。我知道的是,他根本不需要付出多少努力,而这个漏洞对任何想看的人都是敞开的。
你想要一个简单的比喻吗?一栋公寓楼,入口门已经在图纸上修好了,在会议上获得了批准,也已经通知了锁匠,但没人装上新锁。
纸面上已经修好,从未走出盒子,而在这期间漏洞一直敞开着
好心黑客留下了4600万
第二天,Blockstream在链上签署了一条消息,表示节点已经修好,资金可以安全地回来。资金也确实回来了:3,400枚比特币,大约2.7亿美元,出现在区块965 950中。百分之八十五。
还有598.5枚比特币留在那个家伙仍然控制着的地址里,大约4600万美元。他自称是一名善意黑客,通过塞进交易里的签名消息进行谈判,他的解释也是公开的。他的最后一条消息只有两个字符,而且是一个倒过来的悲伤笑脸。
Blockstream从未宣布达成协议,也从未宣布悬赏,更没有宣布任何条款。Ledger的技术总监Charles Guillemet提出了那个令人不舒服的问题:如果这600枚比特币是谈判得来的报酬,那就不再是善举,而是敲诈。我没有更好的说法,而且我觉得他说出来是对的。
具体来说,这对你有什么改变
三件事,第一件让人放心。
比特币没有被黑。主链完好无损,它的2100万枚币都还在原来的地方,它的密钥没有动过。出问题的是我们为了更快而装在旁边的管道,而这种管道到处都是:在其他链上,在中间商那里,在承诺收益的合约里。
第二件事,这个教训对所有人都适用。不在比特币链上的比特币,就不是比特币。那是一张欠条。你对某个人拥有一项债权。在交易平台上,你的余额是一项债权。在平行网络上,你的代币是一项债权。在一个向你承诺收益的合约里,还是一项债权。问题从来不是“这是不是比特币”,而是“谁欠我这些比特币,以及他的软件有多久没更新了”。
我家的全家福睡在储藏室里的Synology上,没人能打开它们,这花了我一个机箱的钱。我不是让你去买个保险箱把所有东西都放进去,那样就是在向你兜售什么东西。我是说,这两种存储方式之间唯一的区别,就是当你想取回东西的那天,能够说不的那个人叫什么。
第三件事,老实说,是期限。Liquid的转出仍然全部被冻结,没人知道什么时候会重新开放。百分之八十五的比特币已经回来,这意味着更衣室有足够的东西归还那些外套。这也意味着还少了百分之十五,而重新开放的日期取决于一群正在修复一款所有人都以为很可靠的软件的人。在这期间,如果你的加密货币在交易平台上,你和那些客户处在同样的位置,只是你自己还不知道。我前几天写过,比利时在338家中只有两家获批交易平台:这不是恐慌的理由,而是去看看你的币在哪里的理由。
你握在手里的东西,或者别人替你握着的东西。没有第三种选择
让我在意的不是那598枚比特币
被盗金额会过去,调查会继续进行,三周后就没人再谈这件事了。留下来的,是软件的版本。
一家规模相当于 Liquid、光自己就持有超过四千枚比特币的交易方,运行着两年前的代码,有现成的修复却没有安装。
这不是个人疏忽,而是一种运作方式:没人会去更新能正常工作的东西,也没人想成为部署当天引发故障的那个人。与此同时,寻找漏洞的人有的是时间。
那么我想问的问题,我也问你:这些你每天使用的服务,你能说出它们上次是什么时候更新的吗?不能?我也不能,大多数情况下都不能。
祝更衣室里的十五家公司重新开门好运。至于干了这事的人,我给你们一个建议:一个悲伤的笑脸,可没法从公开链上抹掉。




加入对话
您必须拥有一个账户才能评论这篇文章。注册免费,耗时不到一分钟。
目前没有评论。