助记词与私钥

助记词可能被暴力破解吗?随机性 vs 熵

2026-05-29 · 链上迷雾

先给你一组数字感受一下:12 个英文单词组成的 BIP39 助记词,所有可能的组合大约是 2 的 128 次方——也就是 3.4 × 10^38 种。把全人类目前所有显卡、矿机、超级计算机加起来一起猜,一年也猜不完其中一个零头。这就是为什么你常听人说:“助记词在密码学上是安全的。” 这篇我们就把这句话拆开看:随机性怎么来、熵是什么、为什么 12 词就够、纯暴力破解为什么"算不动",以及——真正的风险其实不在算力上

BIP39 是什么:一张固定的"单词菜单"

打开任何主流钱包,让它生成助记词,你拿到的那 12 或 24 个单词,都不是随便从英语词典里挑的。它们来自一份叫 BIP39 词表 的标准清单,里面正好有 2048 个英文单词

为什么是 2048?因为 2048 = 2^11,意思是每一个单词正好编码 11 个二进制位(11 bit)。这是一个非常工程师的设计:

  • 词表是公开的、固定的,所有钱包通用。
  • 单词都经过精挑细选,避免拼写相近的(比如不会同时出现 build 和 built),降低你抄错的概率。
  • 每个单词只要前 4 个字母就能唯一识别,方便手抄和金属备份。

BIP39 词表把每个英文单词映射成 11 个二进制位,是助记词机制的起点

所以一组助记词,本质上不是"一句英文",而是一串被翻译成英文的二进制数字。你看到的是 abandon、ability、able……钱包看到的,是 00000000000、00000000001、00000000010……这一组比特。理解了这一层,后面的"熵"和"安全位"就好懂了。

随机性从哪里来:你的钱包到底在做什么

钱包生成助记词的核心动作,不是"从词表里挑词",而是"先掷一把骰子,再把结果翻译成单词"

具体过程大致是这样:

  1. 钱包向系统索要一段真正随机的二进制数,比如 128 个比特(即 16 字节)。这段随机数就叫熵(entropy)
  2. 给这 128 bit 加上一段校验码(用哈希算法算出来的几位,用来防止抄错),凑成 132 bit。
  3. 把 132 bit 每 11 个一组切开,正好得到 12 组。
  4. 每组 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 个词的保管做对

密码学不会让你的助记词被"猜中"——但你自己一个不经意的动作,就足以让它泄露。少操心暴力破解,多检查一遍:你的助记词,现在是不是在一个只有你自己能看到、还能找得回来的地方?本文仅作科普,不构成投资建议。

本文仅作科普,不构成投资建议。加密资产波动大、风险高——永远只投入你亏得起的钱。

最新文章

助记词与私钥

助记词可以借给别人保管吗?如果是亲人朋友、会有什么后果

把助记词抄一张纸塞给爸妈、把照片发给最信任的朋友——这种"我不会自己丢"的选择,看起来安全,其实把风险换了一种方式。本文把"借人保管"逐种关系拆开,看真正会出什么事。

常见误区

为什么所谓的"内幕消息"九成都是陷阱?

"我有内幕"是加密圈最便宜也最常见的开场白。剥开外壳之后,这句话的真实结构往往不是分享,而是一个精心设计的出货流程。

交易所安全

为什么把币长期放在交易所是危险的?别等到出事才明白

把币放在交易所方便、有客服、看起来正常。但"长期"放在交易所是一件被反复验证过会出事的事情。本文讲清楚为什么这件事一直都不安全。

心态与 FOMO

为什么不要在 Telegram 群里晒自己的盈利,代价比你想象的大?

在 TG 群里发一张 PnL 截图,5 秒内是骄傲,5 分钟内是同伴注视,5 个月内可能是被针对、被复制、被绑架预算。这篇把"为什么不晒"分成四层,从安全、心态、社交、操作面给你看代价。

防骗避坑

为什么聪明人也会被加密骗局骗到?背后的心理机制拆解

加密骗局不只针对"小白",受过良好教育、做事谨慎的人也大量中招。原因不在 IQ,而在几种几乎所有人都有的心理机制被精准利用。本文逐条拆解。

心态与 FOMO

为什么 SocialFi 应用让人特别上瘾,你应该警觉哪几条机制?

SocialFi 给"刷社交"加了真金白银的反馈,让人比刷传统社交更容易停不下来。这篇把它在心理层面利用的几条机制摊开来讲,顺便给你一份能让你少消耗自己的使用边界。