安全新手学院

如果有人猜中了你的 12 个助记词,真的能直接拿走钱包里的所有比特币吗?

12 个单词、2048 个候选词,听起来好像也没多少组合?有人担心黑客用超级计算机一个个试,总有一天能猜中。答案是:猜中了确实能拿走一切,但“猜中”这件事,难到超出你的想象。真正的危险,藏在别处。

“助记词只有 12 个单词,词库也就 2048 个词。黑客用超级计算机一个一个试,总能试出来吧?”

这是很多新手第一次了解助记词时都会产生的担忧。而且这个担忧的前半部分是对的:如果有人真的猜中了你的助记词,他确实可以拿走你钱包里的所有资产,不需要密码,不需要你的手机,也不需要任何人批准。

但后半部分,“总能试出来”,就大错特错了。这篇文章用数字带你算一笔账,再告诉你真正需要警惕的是什么。

要点速览

  • 猜中助记词 = 获得钱包的全部控制权,这一点是真的。
  • 12 个助记词的有效组合约有 2¹²⁸ 种,暴力破解在现实中不可能完成。
  • 真正的风险不是“被猜中”,而是 泄露、随机数缺陷和部分信息暴露。
  • 如果有人知道了你助记词中的大部分单词,剩下的几个就可能被试出来。
  • 设置密码短语(Passphrase),可以为助记词再加一道锁。

猜中了,真的能拿走一切吗?

是的。助记词可以推导出钱包里的所有私钥,而区块链只认私钥签名。任何人只要在任意钱包软件里输入你的 12 个单词,就能恢复出完全相同的钱包,转走里面的所有资产。

没有“异地登录提醒”,没有“短信验证码”,也没有“冻结账户”。 这就是为什么助记词如此重要。

唯一的例外是:如果你为钱包设置了 密码短语(俗称“第 25 个词”),那么只有助记词加上正确的密码短语,才能恢复出你真正的钱包。单独猜中助记词,只会打开一个空钱包。

算一笔账:12 个单词到底有多少种组合

助记词的每个单词都来自一个固定的 2048 词词库。12 个单词的排列数是:

2048¹² ≈ 5.4 × 10³⁹

其中最后一个单词包含校验信息,扣除之后,有效的助记词大约有:

2¹²⁸ ≈ 3.4 × 10³⁸ 种

这个数字有多大?我们换几种方式感受一下:

假设需要的时间
一台电脑每秒尝试 1 万亿次约 1.08 × 10¹⁹ 年,是宇宙年龄(约 138 亿年)的 7 亿多倍
10 亿台这样的电脑同时尝试约 108 亿年,接近宇宙的年龄
24 个单词的助记词(约 2²⁵⁶ ≈ 10⁷⁷ 种)已经逼近可观测宇宙中原子的总数(约 10⁸⁰)
12 个助记词的组合数量,比你能想象的任何数字都大
12 个助记词的组合数量,比你能想象的任何数字都大

再打个比方:猜中一组随机生成的 12 个助记词,比 连续 5 次中双色球一等奖 还要难得多(双色球一等奖的中奖概率约为 1/1772 万)。

而且,每尝试一组助记词,还需要经过一系列计算推导出地址,再去区块链上核对是否有余额,实际速度远比“每秒 1 万亿次”慢。所以,靠暴力猜中别人的助记词,在现实中是不可能的。

在浩瀚的可能性中找到唯一正确的那一把钥匙,几乎不可能
在浩瀚的可能性中找到唯一正确的那一把钥匙,几乎不可能

真正的危险:不是被猜中,而是这些情况

既然猜不中,那钱包被盗的人是怎么回事?答案是:几乎所有的助记词被盗,都不是“猜”出来的,而是“拿”到的。

1. 直接泄露。 截图存在相册、存在网盘、发给“客服”、输入到钓鱼网站、被人偷拍……这些才是最常见的被盗原因。

2. 随机数有缺陷。 助记词的安全性,建立在“真正随机生成”的基础上。如果生成助记词的软件存在缺陷,随机性不足,可能的组合数量就会大幅缩小。2023 年曝光的“Milk Sad”漏洞就是一个例子:某款命令行钱包工具生成助记词时使用的随机数范围过小,导致大量钱包可以被暴力破解,用户损失了约 90 万美元。

3. 自己编的“助记词”。 有人觉得随机单词不好记,就自己挑了 12 个有意义的单词,或者用一句名言、歌词来生成钱包。人类挑选的词语远没有想象中随机,黑客可以用词典和常用短语批量尝试。

4. 部分信息暴露。 这是最容易被忽视的风险。如果有人知道了你助记词中的大部分单词,剩下的就可能被试出来:

缺少的单词数(12 词助记词,位置已知)大约需要尝试的组合能否被破解
1 个约 2048 种(通过校验后更少)瞬间完成
2 个约 420 万种普通电脑很快完成
3 个约 86 亿种有专门设备即可完成
4 个约 17.6 万亿种成本较高,但并非不可能
6 个及以上数量急剧增长现实中很难

所以,即使只是被人看到了一半的助记词,也应该视为泄露,立刻把资产转移到新钱包。

如何让你的助记词更安全

  1. 只用正规钱包生成助记词:使用经过长期验证的主流钱包或硬件钱包,不要用来路不明的工具,更不要自己编。
  2. 永远不要让助记词接触网络:不截图、不拍照、不存网盘、不输入任何网页。
  3. 保护完整性,也保护局部:不要把助记词拆开后随意放置,被看到一部分也很危险。
  4. 设置密码短语:在助记词之外再加一层保护,单独拿到助记词也打不开真正的钱包。但要妥善备份密码短语,忘记同样无法恢复。
  5. 疑似泄露就立刻转移:不要抱有侥幸心理。

常见问题

黑客能不能专门挑“有余额的钱包”去猜?

不能。黑客无法从地址反推出助记词。地址是公开的,但从地址到私钥是单向的,无法逆推。猜助记词只能盲目尝试,和你钱包里有多少钱无关。

会不会有两个人碰巧生成了同一组助记词?

理论上可能,但概率低到可以忽略不计。在 2¹²⁸ 种组合中随机生成,两个人撞上同一组的概率,比你被陨石击中还要低得多。

量子计算机能猜中助记词吗?

理论上,量子算法可以加快搜索速度,但即便如此,暴力搜索 12 个助记词所需的计算量仍然远远超出现实能力。目前量子计算更受关注的是对公钥密码学的潜在影响,业界也在研究相应的升级方案。

12 个词和 24 个词,我该选哪个?

两者都足够安全,无法被暴力破解。24 个词提供了更大的安全余量,但抄写和保管也更麻烦。比起长度,更重要的是你如何保管它。

小结

猜中你的 12 个助记词,确实能拿走钱包里的所有资产。但在 2¹²⁸ 种可能性面前,“猜中”几乎是不可能完成的任务。真正让人丢币的,从来不是数学,而是泄露、缺陷工具和疏忽大意。

守住助记词,不让它接触网络,不让它被任何人看到,哪怕是一部分。更多保管方法,可以阅读 加密钱包完全指南;想了解常见的骗取助记词手法,可以阅读 防骗指南。

需要提醒的是,中国大陆对虚拟货币相关业务有明确的限制性规定,请务必遵守所在地的法律法规。本文仅为知识科普,不构成任何投资建议。

相关阅读