EN

掷骰子生成助记词

为什么用骰子生成助记词

默认做法:生成 12 个单词的助记词(投掷 11 次)。128 位的熵对绝大多数人已经足够;想要更高的熵可以改成 24 词(投掷 23 次),除次数外步骤完全相同。

  1. 助记词生成是最高风险的一步。 它是整个流程中最重要、也最不可控的一环。2026 年的 Coldcard 事件警告我们:不应该再把这最重要的一步外包给任何软件或硬件钱包。
  2. 简单易操作、信任最小化。 十分钟就能自己生成一套助记词,再也不必担心助记词出问题——何乐而不为?

花上十分钟,自己生成宇宙级安全的助记词。 何必纠结钱包是否真的带「真随机数发生器」?何必纠结它是否真的「采用多处熵源」?

信任最小化的方案

前期准备

  1. 11 个六面骰子(不需要「赌场级」,「玩具级」即可)。11 个骰子每掷一次,刚好生成一个单词;如果你只有一两个骰子也可以,只是需要多掷几次。
  2. 纸和笔。
  3. 二进制索引的 BIP39 单词表(序号用 11 位二进制表示的版本),下载后离线打开。
    • 打开本站的 BIP39 words list,右键「另存为」保存到本地,断网后使用;

    • 序号用 11 位二进制表示的 BIP39 单词表:

      BIP39 单词表 二进制索引的 BIP39 单词表

生成前 11/23 个单词

  1. 双手一次掷出 11 个骰子,假设结果为 45211635542。

    一次掷 11 个骰子
  2. 手动转换为二进制:10100100011。转换规则:

    骰子点数 二进制取值
    1、3、5(奇数) 0
    2、4、6(偶数) 1
  3. 在 BIP39 单词表 中找到 10100100011 对应的单词:piece。

    在单词表里找到对应单词
  4. 重复投掷,共生成前 11 个(12 词助记词)或 23 个(24 词助记词)单词。

注意事项:请务必连续投掷 11 次或 23 次。不要因为某次掷出的单词「不吉利」或不喜欢,就舍弃这次的结果——这等于人为破坏了随机性。

生成最后一个单词

有了前 11/23 个单词,最后一个单词的生成原理如下:

  1. 12 词助记词:最后一次只需掷 7 个骰子,取 7 bit。连同前面总共 128 bit,经 SHA-256 后取前 4 bit 追加到 7 bit 后面,凑成 11 bit,即可按上面的步骤找到最后一个单词。
  2. 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 工具就没有任何作恶空间:

  1. 检查每一个单词,确认都由你的骰子生成(roll-seeds.html 的设计原则,就是让每一步都容易验证)。
  2. 全程 100% 离线运行,用完后删除文件。

其他掷骰子方案

你可能在其他地方看到过多种掷骰子方案:

方案 说明
Coldcard 用普通六面骰子连续投掷,再对全部结果做 SHA-256,最后转换为助记词。每次掷约获得 2.6 bit 熵,投掷次数较少;但骰子与单词之间隔着一层无法心算的哈希。
Blockstream Jade 用 2 个 16 面骰子 + 1 个 8 面骰子,效率较高,每次投掷得到一个 BIP39 单词。但多面骰子不如六面骰子常见,且面数越多,制造和校准难度通常越高,轻微的几何或质量偏差更难察觉。

我推荐用 11 个六面骰子,原因如下:

  1. 最小信任。 每步都能轻松验证,防止工具有后门。
  2. 容错高。 不需要「赌场级」骰子,用最容易获取的六面骰子即可。11 个中即使有几个工艺粗糙、重心偏移,也足以提供极高质量的熵。
  3. 操作难度小、速度快。 一旦真的开始掷骰子,你会发现 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。

未来一定还会出现这样的新闻。

掷骰子吧!再也不必担心随机数的问题!

评论

评论提交后经审核才会显示,感谢耐心等待。