为什么用骰子生成助记词
默认做法:生成 12 个单词的助记词(投掷 11 次)。128 位的熵对绝大多数人已经足够;想要更高的熵可以改成 24 词(投掷 23 次),除次数外步骤完全相同。
- 助记词生成是最高风险的一步。 它是整个流程中最重要、也最不可控的一环。2026 年的 Coldcard 事件警告我们:不应该再把这最重要的一步外包给任何软件或硬件钱包。
- 简单易操作、信任最小化。 十分钟就能自己生成一套助记词,再也不必担心助记词出问题——何乐而不为?
花上十分钟,自己生成宇宙级安全的助记词。 何必纠结钱包是否真的带「真随机数发生器」?何必纠结它是否真的「采用多处熵源」?
信任最小化的方案
前期准备
- 11 个六面骰子(不需要「赌场级」,「玩具级」即可)。11 个骰子每掷一次,刚好生成一个单词;如果你只有一两个骰子也可以,只是需要多掷几次。
- 纸和笔。
- 二进制索引的 BIP39 单词表(序号用 11 位二进制表示的版本),下载后离线打开。
-
打开本站的 BIP39 words list,右键「另存为」保存到本地,断网后使用;
-
序号用 11 位二进制表示的 BIP39 单词表:
-
生成前 11/23 个单词
-
双手一次掷出 11 个骰子,假设结果为
45211635542。
-
手动转换为二进制:
10100100011。转换规则:骰子点数 二进制取值 1、3、5(奇数) 0 2、4、6(偶数) 1 -
在 BIP39 单词表 中找到
10100100011对应的单词:piece。
-
重复投掷,共生成前 11 个(12 词助记词)或 23 个(24 词助记词)单词。
注意事项:请务必连续投掷 11 次或 23 次。不要因为某次掷出的单词「不吉利」或不喜欢,就舍弃这次的结果——这等于人为破坏了随机性。
生成最后一个单词
有了前 11/23 个单词,最后一个单词的生成原理如下:
- 12 词助记词:最后一次只需掷 7 个骰子,取 7 bit。连同前面总共 128 bit,经 SHA-256 后取前 4 bit 追加到 7 bit 后面,凑成 11 bit,即可按上面的步骤找到最后一个单词。
- 24 词助记词:最后一次只需掷 3 个骰子,取 3 bit。连同前面总共 256 bit,经 SHA-256 后取前 8 bit 追加,凑成 11 bit,同样得到最后一个单词。
理论上手算 SHA-256 并非不可能,但极其繁琐、极易出错。最稳妥的做法,是借助能列出可选 last word 的钱包软件,或轻量级的离线工具来完成计算——这类工具很多,可自行搜索。
也可以用本站的 last-word-calculator.html:右键「另存为」保存到本地,离线运行。输入前 11/23 个单词,它会自动列出所有合法的 last word,任选一个即可。用完后删除文件。
验证:打开你日常准备使用的离线钱包软件或硬件签名器,选择「导入 / 恢复助记词」,输入纸上记录的完整助记词。只要目标钱包顺利识别、没有弹出校验错误(如 Invalid Checksum、助记词无效等),就说明我们计算的最后一个单词准确无误。
用 roll-seeds.html 生成助记词
如果觉得上面的方法太慢太麻烦,可以用一站式工具 roll-seeds.html:右键「另存为」保存到本地,断网运行。
掷 11 个骰子,每次投掷及时生成一个单词:
请假设每个软件工具都有后门或 bug——包括本站的 roll-seeds.html。只要做到下面两点,这个 HTML 工具就没有任何作恶空间:
- 检查每一个单词,确认都由你的骰子生成(roll-seeds.html 的设计原则,就是让每一步都容易验证)。
- 全程 100% 离线运行,用完后删除文件。
其他掷骰子方案
你可能在其他地方看到过多种掷骰子方案:
| 方案 | 说明 |
|---|---|
| Coldcard | 用普通六面骰子连续投掷,再对全部结果做 SHA-256,最后转换为助记词。每次掷约获得 2.6 bit 熵,投掷次数较少;但骰子与单词之间隔着一层无法心算的哈希。 |
| Blockstream Jade | 用 2 个 16 面骰子 + 1 个 8 面骰子,效率较高,每次投掷得到一个 BIP39 单词。但多面骰子不如六面骰子常见,且面数越多,制造和校准难度通常越高,轻微的几何或质量偏差更难察觉。 |
我推荐用 11 个六面骰子,原因如下:
- 最小信任。 每步都能轻松验证,防止工具有后门。
- 容错高。 不需要「赌场级」骰子,用最容易获取的六面骰子即可。11 个中即使有几个工艺粗糙、重心偏移,也足以提供极高质量的熵。
- 操作难度小、速度快。 一旦真的开始掷骰子,你会发现 11 个骰子很容易操作、很容易充分「洗牌」,速度也不比其他方法慢。
助记词生成是最高风险的一环
历史上有过不少类似的教训:
| 时间 | 事件 |
|---|---|
| 2013 年 8 月 | Android SecureRandom 漏洞 |
| 2013 年 11 月 | BitAddress.org 熵收集问题 |
| 2023 年 4 月 | Trust Wallet 浏览器扩展 32-bit 熵漏洞 |
| 2024 年 2 月 | Trust Wallet iOS 时间戳熵漏洞 |
2026 年 Coldcard 的随机数危机更是灾难性的:他们长期强调其硬件 TRNG、双 Secure Element 和多重随机源,谁曾想五年来,固件一直绕开了这些硬件 RNG。
未来一定还会出现这样的新闻。
掷骰子吧!再也不必担心随机数的问题!
评论
评论提交后经审核才会显示,感谢耐心等待。