Coldcard:70亿美元比特币被盗,一个保险箱都没碰

保险箱开着五年了,没人发现


超过1,000枚比特币,也就是大约7,000万美元,从那些从未连接过互联网的硬件钱包里被转走了。窃贼没有碰任何设备。他没有进入任何人的家。他没有发送任何诱骗消息。他只是猜出了密钥。这些密钥从2021年3月起就可以被猜出来。

这就是比特币社区十年来一直认为不可能发生的场景。所谓的“冷”钱包,也就是那个把你的密钥离线保存在抽屉里的设备,本该是最后一道防线。它就这样倒下了,没有任何人碰过它。

事情经过

在2026年7月30日至31日的夜间,有人不到一小时就清空了大约500个比特币钱包。总计594.5枚比特币,也就是大约3,800万美元,在区块链的几个区块中连续被转移。很多钱包已经沉睡了多年,没有发生过哪怕一丁点动静。

分析师随后翻查了历史记录。Block的安全工程师Clay Garrett找到了695笔更早的交易,它们使用了完全相同的签名。这些交易还涉及另外488枚比特币。很可能,同一个人早就已经动过手脚,只是没人发现。

柱状图,488枚比特币在无人察觉的情况下被盗,594.5枚比特币在25分钟的清扫过程中被转走,统计总数为1,082.65枚比特币

最隐蔽的盗窃是上面那一波。没人发现它。这两波里,它可能是更令人担忧的那一波。

截至8月1日,统计总数达到1,082.65枚比特币。研究人员提醒说,这个数字仍是暂时的。赃款中最大的一部分,也就是562枚比特币,被集中到了一个地址上。之后它就再也没有动过。所有人都能一直看到它,但没人能碰到它。这是这件事最讽刺的地方之一。

漏洞源于一个选错的词

这就是一行代码如何让人损失7,000万美元。

硬件钱包会用纯粹的随机性生成你的24个秘密单词。为了做到这一点,它会使用一块专用芯片,根据物理现象产生随机数。这就是所谓的硬件随机数生成器。这个组件至关重要。软件却从来没有调用它。

2021年3月,Coinkite,Coldcard的制造商,把代码迁移到了Bitcoin Core的密码学库。在这个过程中,负责生成随机数的函数改了名字。开发者原本打算把软件备用生成器的值设为零,从而停用它。

但代码里写的测试并没有问“这个设置的值是不是零”。它问的是“这个设置是否存在”。这个设置确实存在,即使它的值是零。于是测试通过了。编译器悄悄把备用生成器接到了真正的生成器位置上,没有发出任何警报。

这就像是问某人他有没有驾照,和问他把驾照拿出来给你看之间的区别。芯片的代码确实存在于设备中。它只不过从来没有被执行过。

结果,说白了

插图对比了一把有几十个拨轮的巨大挂锁,那是原本的设计,和一把只有三个拨轮的小挂锁,那才是真正运行的东西

左边是卖给你的那把锁。右边是实际保护你积蓄的那把锁。

一组由24个单词组成的秘密短语必须提供128位随机性。这意味着一个拥有39位数字的组合数量。即使动用地球上的所有计算机,运行整个宇宙的年龄那么久,也没人能把它们全部试一遍。

受影响的Coldcard Mk3上只剩下大约40位。更新的型号上则还剩下大约72位。40位代表一万亿种可能性。这个数字看起来很大。对一台普通机器来说,它却只意味着几个小时的工作量,以及一张披萨价格的电费。备用生成器并没有真正产生随机数。它从芯片的内部状态和时钟状态出发,而攻击者可以重新计算这两个值。

保险箱不是被撬开的。锁上只有三个数字,而攻击者把它们数出来了。

病毒式传播的帖子哪里说歪了

从昨晚开始到处流传的那条消息包含真实信息,但至少也有三处错误。它正在那些有资金处于风险中的人的消息应用里传播。还是在这份总结变得比漏洞更危险之前,先把损害纠正过来吧。

  • “Mk4、Mk5 和 Q 都没事。”这是错的,而且是最严重的错误。这些型号同样受到了影响。它们更能抵抗攻击,是因为它们混入了来自安全芯片的随机性。根据 Coinkite 的说法,这把安全级别提高到了大约 72 位。但攻击仍然可能成功。考虑到攻击者可以猜到的数值,Galaxy Research 估计还剩下大约四十亿种组合需要尝试。Coinkite 已经为所有型号发布了修复版固件,不只是 Mk3。
  • “你的单词来自你按按钮的节奏。”这个解释听起来很漂亮,但官方分析并不是这么说的。生成器使用了设备状态和时间,尤其是时钟寄存器以及芯片的序列号。这些值没有一个是秘密。这样就足以酿成灾难。
  • “有了密码短语你就没事了。”这话只对了一半。Coinkite 解释说,一个强大且唯一的密码短语可以增加独立的保护。这是事实,但制造商仍然建议迁移。弱密码短语已经什么也保护不了了,因为种子如今已经公开。

有一点完全正确:掷骰子可以保护你。Coinkite 确认,50 到 98 次私下掷骰子本身就能带来至少 128 位,而 99 次或更多大约能带来 256 位。如果你曾经花一晚上掷骰子来创建种子,现在可以松口气了。其他品牌,Ledger 和 Trezor,不受影响。它们的设备和代码都不同。

你受影响了吗,以及该怎么办?

规则简单而残酷。重要的不是你今天拥有的型号。而是你创建种子那天所使用的软件版本。

  • Mk3:4.0.1 到 4.1.9 版本受到影响。4.2.0 已修复。
  • Mk4 和 Mk5:5.6.0 版本之前受到影响,Edge 分支则是 6.6.0X 之前。
  • Q:1.5.0Q 版本之前受到影响,Edge 分支则是 6.6.0QX 之前。

以下是最难接受的信息,这是你动任何东西之前必须理解的:更新固件无法修复已经创建的种子。固件是设备的内部软件。更新固件只能修复未来密钥的创建。你的密钥只生成过一次,有时已经是几年前的事了,当时用的是错误的骰子。它们永远都可以被猜出来。

Coinkite 发布的流程包含六个步骤。你需要更新设备,创建新的种子,记下备份并验证它,在设备屏幕上检查一个收款地址,发送一笔小额测试交易,然后转移剩余资产。你必须保留旧备份,直到所有资产都已转移。

最后一点,同样紧急:私信里充斥着假冒的客服账号。没有哪个正经制造商会要求你提供 24 个单词。也没有哪个会给你发链接,让你去“保护”钱包。那些昨晚没有丢掉比特币的人,可能会在这周因为一种普通得多的骗局而丢掉它们。

开源没有兑现承诺,这一点必须说出来

Coldcard 的代码是公开的。它一直都是公开的。这个圈子的口号“不要相信,去验证”,十年来一直被人像祈祷一样反复念诵。这个 bug 整整五年都暴露在那里。直到一个小偷利用了它,才终于有人注意到。

这才是这起事件真正的教训。开放的代码不一定是有人审阅过的代码。“成千上万双眼睛”是一种修辞,不是审计。而且说实话,没人会在星期天早上起床时,迫切地想要重新审阅某个固件的编译选项。

最后一个有意思的细节,至少对那些没有损失的人来说是这样:Coinkite 认为,有人使用人工智能仔细检查了它旧版本的固件。该公司特别说明,几周前它自己也让“现有最优秀的模型之一”检查过自己的代码,却什么都没发现。安全圈对这个解释挑了挑眉。这个想法仍然令人不寒而栗:机器可以耐心地重新阅读二十年的自由代码,只为找出那一行没人看过的代码。

那么,把比特币放在银行里更安全吗?

这是从昨天开始所有人都在问的问题。它值得一个比粉丝式回答更好的答案。

两幅画面,左边是一个人在自己家里亲自拿着一把大钥匙,右边是同一把钥匙挂在银行玻璃后面

没有完美的答案。有两种不同的方式可以让你失去一切。选择在于决定哪一种更让你害怕。

当你在银行或经纪商的应用里购买比特币时,你并不持有自己的密钥。公司替你保管它们。你拥有的是它的账本里的一行记录,以及一个承诺。用行话来说,这叫交易对手风险。如果公司倒闭、消失或被洗劫一空,你就会变成一个等着排队的债权人。那些把币留在 FTX 或 Celsius 的人,并没有丢掉他们的密钥。他们失去的是与他们打交道的对象。

在欧洲,情况已经变了。这不再是蛮荒西部。自2026年7月1日起,欧洲加密资产法规过渡期结束,要求服务商持有许可证。它尤其要求服务商严格将客户资产与企业资产分开。这正是2022年那些破产事件中所缺少的东西。这并不能让破产变得不可能。这会让老板掏空金库变得困难得多。

但还有一个很多人都不知道的陷阱:这些加密资产不是银行存款。保护你活期账户资金的10万欧元欧洲担保,并不适用于它们。在和你的工资使用同一个应用里看到一行“bitcoin”,会让你产生一种受保护的感觉。这种保护并不存在。

这对一个普通家庭意味着什么

如果要对一个不想把晚上时间都花在这上面的人说明这个选择,我会这样说。

如果你拿500或2,000欧元来试试,你的银行应用,或者一家受监管的经纪商的应用,很可能就是正确的选择。不是因为它绝对更安全。而是因为普通人的绝大多数损失,来自丢失的备份、写在一张后来弄丢的纸上的密码、搬家,或者死亡时没有留下交接信息。那些稀奇古怪的密码学漏洞远远排在后面。忘记的密码可以找回。丢失的助记词永远找不回来。

如果你持有一笔能改变你人生的金额,正确答案既不是这个,也不是那个。不能把所有东西放在同一个地方。本周,那些把资产分散在两个钱包品牌和一个受监管账户中的人,损失了其中某样东西的三分之一。那些把一切都放在同一台设备里的人,什么都没了。这是世界上最无聊的建议。这也是过去十五年每次灾难中唯一奏效的建议。

如果你坚持自己保管密钥,这仍然是一个完全站得住脚的选择,那么教训很具体:加入你自己的随机性。在这件事里,骰子是唯一有效的保护。掷五十次骰子,花一个晚上,你就不再依赖别人的随机数生成器。

我的看法

留在我心里的,不是那7,000万。这是一名男子在论坛上发的一条消息。短短几行字里,他解释说自己八年的积蓄已经消失了。他39岁,本来希望在50岁之前攒出一笔缓冲金,现在已经不知道自己是否还相信这一切。他还说,他之所以选择这台设备,正是因为它的代码是公开的,任何人都可以验证。他做过功课。正是这个细节,让这件事变得如此残酷。

比特币的承诺,是不依赖任何人。这周,我们发现所有人都依赖于一个在2021年3月某天写下的编译选项。有人把“存在”写成了“有价值”。没有客服可以修复这个问题,没有保障基金,也没有申诉途径。这笔交易有效、不可撤销,并且永远对所有人可见。

这不是硬件钱包的终结。宣布这一点的人,通常是在卖别的东西。这是一种天真的终结:相信一个东西是安全的,只因为它的代码是公开的,并且别人肯定已经检查过它。

Join the conversation

You need an account to comment on this article. Creating one is free and takes under a minute.

  • The XMLTV file, free to download every day
  • Comment on articles and reply to other readers
  • Get an e-mail when an article you follow is updated

No comments yet.

Une erreur s'est produite. Cette application peut ne plus répondre jusqu'à ce qu'elle soit rechargée.Veuillez contacter l'auteur. Reload 🗙