助记词可能被暴力破解吗?随机性 vs 熵
先给你一组数字感受一下:12 个英文单词组成的 BIP39 助记词,所有可能的组合大约是 2 的 128 次方——也就是 3.4 × 10^38 种。把全人类目前所有显卡、矿机、超级计算机加起来一起猜,一年也猜不完其中一个零头。这就是为什么你常听人说:“助记词在密码学上是安全的。” 这篇我们就把这句话拆开看:随机性怎么来、熵是什么、为什么 12 词就够、纯暴力破解为什么"算不动",以及——真正的风险其实不在算力上。
BIP39 是什么:一张固定的"单词菜单"
打开任何主流钱包,让它生成助记词,你拿到的那 12 或 24 个单词,都不是随便从英语词典里挑的。它们来自一份叫 BIP39 词表 的标准清单,里面正好有 2048 个英文单词。
为什么是 2048?因为 2048 = 2^11,意思是每一个单词正好编码 11 个二进制位(11 bit)。这是一个非常工程师的设计:
- 词表是公开的、固定的,所有钱包通用。
- 单词都经过精挑细选,避免拼写相近的(比如不会同时出现 build 和 built),降低你抄错的概率。
- 每个单词只要前 4 个字母就能唯一识别,方便手抄和金属备份。

所以一组助记词,本质上不是"一句英文",而是一串被翻译成英文的二进制数字。你看到的是 abandon、ability、able……钱包看到的,是 00000000000、00000000001、00000000010……这一组比特。理解了这一层,后面的"熵"和"安全位"就好懂了。
随机性从哪里来:你的钱包到底在做什么
钱包生成助记词的核心动作,不是"从词表里挑词",而是"先掷一把骰子,再把结果翻译成单词"。
具体过程大致是这样:
- 钱包向系统索要一段真正随机的二进制数,比如 128 个比特(即 16 字节)。这段随机数就叫熵(entropy)。
- 给这 128 bit 加上一段校验码(用哈希算法算出来的几位,用来防止抄错),凑成 132 bit。
- 把 132 bit 每 11 个一组切开,正好得到 12 组。
- 每组 11 bit 对应词表里的一个单词(0 到 2047)——12 个单词就出来了。
所以一组 12 词助记词,背后承载的真正"安全性"是这 128 bit 的随机熵。24 词的版本,则对应 256 bit 熵。换言之:
- 12 词 ≈ 128 bit 安全强度
- 24 词 ≈ 256 bit 安全强度
这里的关键不在"几个单词",而在"那段随机数有多随机"。如果你的钱包用的是操作系统级的密码学随机源(绝大多数正经钱包都是这样),那这 128 bit 就接近真正的"白噪声",任何模式都不可预测。这也是为什么我们一再强调:只从官方下载钱包,别用来路不明的版本——见 选第一个加密钱包的思路 那篇里讲过的几个原则。
128 bit 在物理世界里有多大
数字本身没什么直觉,我们换一种说法。
2^128 ≈ 3.4 × 10^38 种组合。假设有人造出了一台每秒能尝试 10^15 次助记词的怪兽机器(这个数字本身已经接近全球最快超算的单机吞吐)。
- 一年大约是 3.15 × 10^7 秒。
- 一年能算的次数 ≈ 3.15 × 10^22 次。
- 用 2^128 除以这个数,得到大约 10^16 年——也就是 一万万亿年。
而宇宙至今的年龄,也才大约 1.38 × 10^10 年(138 亿年)。换句话说:就算从宇宙诞生那一刻起,就有一台这样的怪兽机器一直在猜你的助记词,到今天它连一个零头都还没猜完。
再退一步,假设你把全人类所有计算机加起来,速度再快 10^10 倍,结论依然是:纯暴力破解一组随机生成的 12 词助记词,在物理上等于不可能。这就是密码学家说 “128 bit 安全” 时背后的真实含义。
三种"攻击面"必须分开看
但"算不动"不等于"偷不到"。绝大多数助记词丢失,其实根本不是被算出来的,而是从别的环节漏出去的。三类攻击面对照看:
- 纯暴力枚举(瞎猜 12 词):物理上不可行,风险几乎为零。
- 钱包/设备侧泄露:完全可行,真正的危险点是假 App、剪贴板木马、截图上云。
- 抄错词序或残缺备份:完全可行,抄漏一个字母、顺序错、纸损坏都属于这一类。
所以你要担心的,从来不是"有黑客在跑 GPU 猜我的 12 词",而是:
- 你下了一个假的钱包 App,它在你创建钱包的瞬间就把助记词上传走了——参考 假钱包 App 与扩展。
- 你把助记词复制粘贴过,剪贴板里的内容被恶意软件截走了——见 剪贴板地址被替换的木马。
- 你截图、存云盘、写在备忘录里,账号一旦被入侵,词就跟着走了。
- 你抄写时漏了一个字母、写错一个单词、记错顺序,导致以后想恢复也恢复不了——和"被偷"一样致命。
这些才是普通用户真正会遇到的风险。具体怎么规避,助记词指南 和 助记词备份方法 里讲得很细。
一个常见的疑问:那"自己想"的助记词呢
新手有时会冒出这个念头:能不能不要钱包随机生成,自己挑 12 个好记的单词做助记词?
技术上你确实可以做"脑钱包",但安全性会断崖式下降。原因很直接:
- 你"想得出来"的组合,黑客也"猜得出来"——人类大脑产生的字符串,熵远远低于 128 bit。
- 攻击者会拿着几亿条"人类常用短语 + 名字 + 生日 + 歌词"去批量试,专门针对脑钱包跑字典攻击。
- 历史上已经有大量脑钱包被洗劫一空的案例,余额刚到账就被卷走。
所以别折腾:让钱包用密码学随机源生成,是目前已知最安全的方案。你要做的只是把它抄好、藏好。

校验位:抄错一个字母为什么钱包会立刻报错
那个被加在 128 bit 末尾的几位,其实是一段校验码——把 128 bit 做一次哈希、取前几位拼上去。它的好处是:你抄错一个单词、调换一对顺序,校验对不上,钱包导入时直接报错。这也是为什么"随手凑 12 个词当助记词"几乎注定失败。校验是个保险,但不是保险箱——你仍然要小额测试恢复一次,确认抄出来的词能真的把资产请回来。
真正的风险不在密码学,而在保管姿势
回头看这篇拆解,结论其实有点"反高潮"——
- 一组规范生成的 12 词助记词,对纯暴力破解的抵抗力,已经超越了我们这个物理宇宙的算力极限。
- 真正让人丢币的,从来不是"算法被破解",而是保管姿势出错:截图、上传、粘贴、抄错、用了假钱包。
- 你能为自己做的事,不是去研究更长的助记词,而是把这 12 个词的保管做对。
密码学不会让你的助记词被"猜中"——但你自己一个不经意的动作,就足以让它泄露。少操心暴力破解,多检查一遍:你的助记词,现在是不是在一个只有你自己能看到、还能找得回来的地方?本文仅作科普,不构成投资建议。
本文仅作科普,不构成投资建议。加密资产波动大、风险高——永远只投入你亏得起的钱。