围绕 COLDCARD 固件随机数的讨论,最近在币圈社群里持续发酵。有人担心自己的助记词“不够随机”,有人连夜更换钱包,也有人认为这是过度恐慌。
由于具体的技术细节和受影响范围,应当以厂商 Coinkite 的官方公告和独立安全研究为准,本文不复述未经证实的说法。但这场风波确实把一个长期被忽视的问题推到了台前:助记词的安全,取决于它生成时是否足够随机。
而历史已经证明,随机数漏洞可以潜伏好几年,持币者却毫无察觉。
要点速览
- 助记词本质上是一串随机数的“翻译”,12 个单词对应 128 位熵,24 个单词对应 256 位熵。
- 如果随机数生成器有缺陷,实际的熵可能远低于理论值,攻击者可以批量暴力破解。
- Milk Sad、Trust Wallet 浏览器插件、Profanity 等真实案例,都造成了实际资产损失。
- 遇到相关公告时,先查官方说明,确认受影响的型号、固件版本和生成时间,再决定是否需要更换助记词。
助记词为什么必须足够随机

钱包生成助记词时,会先产生一串随机数(称为“熵”),再按照 BIP39 标准转换成单词。
| 助记词长度 | 熵的位数 | 可能的组合数量 |
|---|---|---|
| 12 个单词 | 128 位 | 约 3.4 × 10^38 |
| 24 个单词 | 256 位 | 约 1.2 × 10^77 |
| 有缺陷的生成器(举例) | 32 位 | 约 43 亿 |
128 位熵意味着,即使动用全世界所有的计算机,也几乎不可能猜中一组助记词。想了解详细的计算,可以阅读 有人能猜中你的 12 个助记词吗。
但这一切有个前提:随机数必须是真正随机的。 如果生成器有缺陷,比如只用了 32 位的种子,那么无论最终输出的助记词看起来有多长,实际的可能性只有约 43 亿种。对一台普通电脑来说,遍历 43 亿种可能可能只需要几个小时到一天。
真实发生过的随机数漏洞
| 时间 | 事件 | 问题 | 后果 |
|---|---|---|---|
| 2022 年 | Profanity 靓号地址生成器 | 生成私钥时使用的随机种子空间太小 | 做市商 Wintermute 损失约 1.6 亿美元 |
| 2022–2023 年 | Trust Wallet 浏览器插件 | 某个版本的随机数生成方式存在缺陷 | 部分在该期间创建的钱包被盗,损失约 17 万美元 |
| 2023 年 | Milk Sad(Libbitcoin Explorer) | 命令行工具用 32 位系统时间作为随机种子 | 漏洞存在多年,被大规模利用后损失超过 90 万美元 |
| 2023 年 | Randstorm(早期 BitcoinJS) | 2011–2015 年间部分网页钱包的随机数较弱 | 研究人员提醒这期间创建的钱包存在风险 |
说明:以上数据来自公开的安全研究和报道,损失金额为当时统计的约数。
Milk Sad 是最典型的“潜伏型”漏洞。问题代码在 2016 年左右就已存在,直到 2023 年攻击者开始大规模清空钱包,安全研究人员才追查到根源。几年里,用户一直以为自己的助记词安全无虞。
这些案例的共同点是:漏洞都出在软件的随机数生成环节,而不是助记词标准本身。 用户既看不出来,也无法通过“看起来很乱”的单词判断是否安全。
硬件钱包是怎么生成随机数的

主流硬件钱包通常会使用芯片内置的真随机数发生器,有些设备还会混合多个来源的熵,降低单一来源出错的风险。
COLDCARD 一类的设备还提供了 掷骰子生成助记词 的功能:用户亲手掷骰子,把结果输入设备,作为熵的来源之一。这样即使设备的随机数发生器出现问题,只要你掷的次数足够多,助记词依然足够随机。
| 熵的来源 | 优点 | 局限 |
|---|---|---|
| 芯片真随机数发生器 | 方便,无需用户操作 | 用户无法验证,依赖厂商实现 |
| 多来源混合 | 单一来源出错时仍有保障 | 依然依赖固件实现正确 |
| 用户掷骰子 | 用户自己掌控随机性,可独立验证 | 操作繁琐,次数不够时熵不足 |
提示:以 6 面骰子为例,每掷一次约提供 2.58 位熵。要达到 256 位熵,大约需要掷 99 次;只掷十几次,熵远远不够。
听到漏洞消息时,该怎么做
- 先看官方公告:确认受影响的型号、固件版本和助记词生成时间段。不要轻信社群里的截图和转述。
- 判断自己是否在范围内:回忆钱包是何时、用什么设备、什么固件版本创建的。
- 如果确认受影响:在一台确认安全的设备上生成全新的助记词,尽快把资产转移过去。旧助记词不要导入新设备。
- 警惕借机诈骗:漏洞消息一出,冒充官方的“紧急迁移”邮件和假网站往往随之而来。任何要求你输入助记词的“修复工具”都是骗局。
- 加上密码短语:密码短语不在助记词里,即使助记词的随机性出了问题,攻击者也需要额外破解密码短语。
常见问题
我怎么知道自己的助记词够不够随机?
单凭肉眼无法判断,看起来再杂乱的单词,也可能来自有缺陷的生成器。可靠的方法是关注官方公告和独立安全研究,确认你的设备和固件版本是否受影响。
自己随便想 12 个单词当助记词,是不是更随机?
恰恰相反。人类挑选的单词往往有规律可循,熵远低于随机生成的助记词,而且不符合校验规则。千万不要自己编助记词。
掷骰子生成助记词,安全吗?
如果设备支持、操作正确、掷的次数足够,掷骰子能让你独立掌控随机性。但要在私密环境中进行,不要拍照或录像,结束后妥善处理记录。
换了新钱包,旧钱包里的币还安全吗?
如果旧助记词确实存在随机性缺陷,资产随时可能被盗。确认受影响后,应尽快把全部资产转移到新钱包,包括不同链上的资产。
小结
一个随机数漏洞可以潜伏多年,因为 用户永远无法从助记词的外表判断它是否安全。COLDCARD 这次风波,与其说是某个品牌的问题,不如说是对所有持币者的提醒:关注官方安全公告、了解熵的来源、必要时用掷骰子补充随机性,并为助记词再加一道密码短语。
想了解密码短语如何提供额外保护,可以阅读 第 25 个密码就能救命?;想了解被篡改设备的风险,可以阅读 硬件钱包居然能藏额外电路板?。
需要提醒的是,中国大陆对虚拟货币相关业务有明确的限制性规定,请务必遵守所在地的法律法规。本文仅为知识科普,不构成任何投资建议。



