助记词生成器教程:创建安全的 BIP-39 助记词
助记词是你的加密货币配置中最重要的一条信息。它是主密钥,所有私钥、公钥和地址都由它派生而来。丢失它,就会失去资金访问权限;泄露它,任何人都可能盗走全部资产。本教程将带你使用 SafeSeed 的助记词生成器,以最高安全性创建符合 BIP-39 标准的助记词短语。
在 safeseed.app/tools/seed-generator/ 生成 BIP-39 助记词——完全客户端侧处理,不会发送到任何服务器。
什么是 BIP-39 助记词?
BIP-39(Bitcoin Improvement Proposal 39)定义了一种标准:将加密熵编码为一串常见英文单词。与其备份一个 256 位二进制数字,不如备份 12 或 24 个易读单词,例如 "abandon"、"ability" 或 "zoo"。
工作原理
- 熵生成:加密安全随机数生成器生成 128 位(对应 12 个单词)或 256 位(对应 24 个单词)随机数。
- 校验和:对熵进行 SHA-256 哈希得到校验和。128 位熵会附加 4 位校验位;256 位熵会附加 8 位校验位。
- 单词映射:将“熵 + 校验和”拆分为 11 位一组。每个 11 位值映射到 BIP-39 词表中的 2,048 个单词之一。
- 种子派生:使用 PBKDF2-HMAC-SHA512 迭代 2,048 次,将助记词短语转换为 512 位种子。此步骤可选择加入口令(passphrase)。
结果是一组单词:在任何实现 BIP-39 的钱包中,它都能确定性地产生同一组密钥。
12 词 vs. 24 词
| 功能 | 12 词(128 位) | 24 词(256 位) |
|---|---|---|
| 熵 | 128 位 | 256 位 |
| 安全级别 | 2^128 种可能组合 | 2^256 种可能组合 |
| 抗暴力破解能力 | 实际上不可破解 | 实际上不可破解 |
| 备份易用性 | 更容易书写和存放 | 需要管理更多单词 |
| 行业采用情况 | 移动钱包常见 | 硬件钱包标准 |
| 推荐场景 | 中等持仓 | 大额持仓、长期存储 |
无论 12 词还是 24 词,其安全性都远超现有或可预见技术可暴力破解的范围。二者选择更多是惯例和个人偏好问题。多数硬件钱包默认 24 词,而许多移动钱包使用 12 词。
分步操作:生成你的助记词
前置准备
开始前,请先评估你的安全需求:
- 用于学习和测试:可在联网状态下直接在浏览器中使用 SafeSeed。
- 用于真实资金(中等金额):关闭不必要的浏览器标签页和应用,确保设备无恶意软件。
- 用于大额持仓:请在隔离网络设备上,按 离线使用指南 操作。
第 1 步:打开助记词生成器
在浏览器访问 safeseed.app/tools/seed-generator/。该工具完全在浏览器中加载并运行。你可以在页面加载后断网进行验证——工具仍可继续使用。
第 2 步:选择词数
选择生成 12 词 或 24 词 助记词短语。对大多数需要保护真实加密资产的用户,通常建议 24 词,这与 Ledger 和 Trezor 等主流硬件钱包的默认设置一致。
第 3 步:生成短语
点击 Generate 按钮。工具会使用浏览器的 Web Crypto API(crypto.getRandomValues())生成加密安全随机熵,并将其转换为 BIP-39 助记词短语。
每点击一次 Generate,都会基于全新熵创建一条全新短语。连续生成的短语之间没有任何关联。
第 4 步:记录短语
这是最关键的一步。你必须将助记词记录在可长期保存的实体介质上。可选方式如下:
纸质(最低推荐):
- 使用笔(不要用铅笔,可能褪色)写在无酸纸或档案纸上
- 字迹清晰可辨
- 给每个单词编号(1 到 12 或 24)
- 逐词与屏幕内容二次核对
- 不要把短语输入到任何数字设备
金属(大额持仓推荐):
- 将每个单词冲压或雕刻在不锈钢或钛板上
- 金属备份可抵御火灾、水灾和物理老化
- Cryptosteel、Billfodl、Blockplate 等产品专为此用途设计
- DIY 方案中,使用字母冲头在不锈钢垫圈上打字同样有效
不要这样做:
- 不要对短语截图或拍照
- 不要复制到剪贴板
- 不要存到文本文件、笔记应用或云服务
- 不要发邮件给自己
- 不要存入密码管理器(助记词应保持离线)
第 5 步:验证短语
记录后,请逐词对照屏幕回读验证。特别注意形近词:
- "abandon" vs. "about"
- "letter" vs. "level"
- "right" vs. "riot"
BIP-39 词表的设计已尽量降低歧义——每个单词前四个字母唯一。但人工抄写错误仍是助记词丢失的最常见原因。
第 6 步:(可选)添加口令
BIP-39 口令(常称“第 25 个词”)可增加额外安全层。由助记词派生种子时,口令会参与 PBKDF2 派生:
seed = PBKDF2(mnemonic, "mnemonic" + passphrase, 2048, 512)
如果你设置了口令:
- 相同助记词配不同口令会产生完全不同的钱包
- 没有口令时,仅助记词会生成另一套不同(但有效)的密钥
- 这可提供“可否认性”:可将“空钱包”(无口令)作为诱饵
- 你必须记住口令,或将其与助记词分开安全存储
口令注意事项:
- 忘记口令会导致永久失去访问权限——没有恢复机制
- 口令区分大小写,可包含空格和特殊字符
- 为安全起见,口令应与助记词分开存储,但两者都必须可找回
- 强口令建议至少 12 个字符,并混合大小写与数字
第 7 步:清理屏幕
在你已安全记录并验证助记词后:
- 关闭浏览器标签页
- 清除浏览器最近历史记录(可选但推荐)
- 为最高安全性,重启浏览器或计算机
SafeSeed 不会在 localStorage、cookie 或浏览器存储中保存数据,但清理会话可确保浏览器内存中不留残余数据。
理解输出内容
助记词生成器会显示以下信息:
助记词单词
构成助记词的 12 或 24 个单词。它们来自官方 BIP-39 英文 2,048 词表。词表中每个词前四个字符都唯一,这也是你在金属板刻录时可使用缩写的原因。
熵(Hex)
生成的原始随机数据,以十六进制显示。这是助记词编码的底层随机性。通常不需要单独记录它——助记词已完整编码熵和校验和。
校验和
最后一个单词的末尾部分编码了由熵的 SHA-256 哈希得到的校验位。这意味着并非任意 12 或 24 个 BIP-39 单词组合都有效——只有校验匹配的组合才有效。它在将助记词输入钱包时提供基础错误检测。
种子(Hex)
通过 PBKDF2 由助记词派生得到的 512 位种子。该种子作为 BIP-32 密钥派生的输入。若添加了口令,此种子会不同于无口令版本。你无需单独记录它——始终可由助记词和口令重新派生。
进阶主题
熵质量
助记词安全性完全取决于生成时所用熵的质量。SafeSeed 使用 crypto.getRandomValues(),其底层由操作系统 CSPRNG 支持:
- Linux:来自
/dev/urandom,由硬件中断、CPU 抖动,以及可用时的 RDRAND/RDSEED 提供种子 - macOS:使用 Security 框架中基于 Fortuna 的 CSPRNG
- Windows:使用由内核熵池支持的 BCryptGenRandom
现代浏览器都以这些操作系统级 CSPRNG 实现 crypto.getRandomValues(),因此其熵适用于加密密钥生成。
为什么不使用骰子或抛硬币?
一些安全敏感用户倾向于用骰子或抛硬币等物理来源生成熵。该方法虽然减少对软件 RNG 的信任,但也会引入新的风险:
- 偏差:实体骰子和硬币可能并非完全公平
- 混合不足:原始物理熵在使用前需要正确哈希
- 人为错误:记录或转换掷骰结果出错
- 耗时:生成 256 位熵需要 100 次抛硬币或大量掷骰
如果你选择物理熵,可在工具高级选项(可用时)中输入并派生助记词,但请充分理解偏差和流程错误风险。
多签配置
多签钱包通常需要生成多条相互独立的助记词。多签中的每个签名方都应独立生成自己的助记词。请为每个签名方分别使用 SafeSeed 助记词生成器,最好在不同设备上完成,并确保每条助记词都被独立备份。
Shamir's Secret Sharing 与助记词
SLIP-39(Shamir's Secret Sharing)是 BIP-39 的替代方案:它将种子拆分为多个份额,需达到阈值份额才能重建。SafeSeed 当前聚焦于采用更广泛的 BIP-39 标准。如需 Shamir's Secret Sharing,可考虑原生支持 SLIP-39 的 Trezor 等硬件钱包。
常见错误及避免方法
错误 1:在已受感染设备上生成助记词
风险:设备中的恶意软件可能通过剪贴板监控、截屏或键盘记录窃取生成的助记词。
缓解措施:对于大额持仓,请使用 离线使用指南。至少应在生成前进行恶意软件扫描并关闭其他应用。
错误 2:以数字形式存储助记词
风险:任何数字副本(照片、文本文件、邮件、云笔记)都可能因黑客攻击、设备失窃或云服务泄露而被泄露。
缓解措施:始终使用实体介质。纸质便捷,金属耐久。不要创建数字副本。
错误 3:只保留一份副本
风险:火灾、水灾、盗窃或单纯遗失都可能毁掉你唯一的备份。
缓解措施:创建 2-3 份副本,分别存放在地理位置分离且安全的地点。可考虑银行保险箱、家用保险柜和可信家庭成员的安全地点。
错误 4:不测试助记词
风险:抄写错误会导致你在需要时发现备份不可用。
缓解措施:记录后,使用 Address Generator(离线)从助记词派生地址,并核对是否与钱包显示一致。先发送一小笔测试金额,并验证你能恢复。
错误 5:分享助记词
风险:任何拿到助记词的人都可完全控制你的资金。
缓解措施:绝不要向任何人分享助记词,包括客服人员。任何正规服务都不会索要你的助记词。SafeSeed 永远不会要求你提供已有助记词——生成器只会创建新的助记词。
助记词强度的现实意义
为了理解正确生成的 BIP-39 助记词有多安全,请看这些数字:
- 12 词短语:2^128 = 340,282,366,920,938,463,463,374,607,431,768,211,456 种可能组合
- 24 词短语:2^256 = 约 1.16 x 10^77 种可能组合
- 可观测宇宙中的原子数:约 10^80
即使地球上所有算力运行数十亿年,暴力破解 128 位密钥空间在物理上也不可能。256 位密钥空间之大,已接近热力学描述的计算物理极限(Landauer 极限)。
你助记词面临的真实威胁并非暴力破解,而是:
- 在生成或输入短语的设备上存在恶意软件
- 备份被实物盗窃
- 社会工程攻击(钓鱼、伪造客服)
- 你自己未正确备份或记录短语
SafeSeed 通过客户端侧运行和离线能力应对第 1 类威胁。第 2-4 类威胁由你自行负责。
生成后:下一步
当你已安全生成并备份助记词后:
- 派生并验证地址:使用 Address Generator 派生地址,并与钱包软件或硬件钱包比对。
- 创建纸钱包备份:使用 Paper Wallet Creator 为特定地址创建额外实体备份。
- 探索派生路径:使用 Key Derivation Tool 了解你的种子如何映射到不同区块链的密钥。
- 设置你的钱包:按钱包官方说明将助记词导入硬件钱包或软件钱包。
- 小额测试:向某个派生地址发送小额加密货币,然后演练通过助记词备份恢复资金。
FAQ
两个人会不会生成同一条助记词?
理论上可能,但实际几乎不可能。12 词有 2^128 种组合,24 词有 2^256 种组合,发生碰撞的概率极低,远低于“终生每天中彩票”的概率。随机碰撞发生前,宇宙都可能先走向热寂。
如果我忘了助记词中的一个词会怎样?
如果你知道缺失词的位置,只需尝试 2,048 个候选词。已有工具可对单个缺失词进行暴力尝试,通常可较快完成。但缺失两个或更多词会指数级变难(两个词为 2,048^2 = 约 400 万组合)。这就是为什么认真抄写和验证至关重要。
我可以把 SafeSeed 生成的助记词用于 Ledger/Trezor 吗?
可以。BIP-39 是所有主流硬件钱包实现的开放标准。SafeSeed 生成的助记词可用于 Ledger、Trezor、Keystone、BitBox02、Coldcard,以及任何兼容 BIP-39 的钱包。助记词不绑定任何特定设备或厂商。
12 词短语是否足够安全?
是的。12 词提供 128 位熵,与保护政府机密通信的 AES-128 加密处于同一安全级别。其暴力破解在计算上不可行。许多硬件钱包默认 24 词,更多是出于惯例和额外谨慎,而非 12 词不够。
我应该添加口令(第 25 个词)吗?
口令能带来真实安全收益:即使助记词被盗,没有口令攻击者也无法访问资金。但口令也增加风险:一旦丢失或遗忘,资金将永久不可访问。只有当你有可靠的记忆或安全存储方案,并理解其重要性与助记词同级时,才应使用口令。
我应该多久生成一次新的助记词?
从密码学角度,没有定期轮换助记词的必要。与密码不同,助记词不会随时间变弱。仅在有明确原因时生成新助记词:例如创建新钱包、怀疑当前短语泄露,或重构你的安全方案。
我可以修改或重排助记词的单词吗?
不可以。单词顺序至关重要——每个位置都编码了特定位熵,最后一个词还包含校验和。重排会导致短语无效(校验失败)或变成完全不同的钱包。务必按生成时的原始顺序记录和输入。
什么是 BIP-39 词表,为什么是这些词?
BIP-39 英文词表严格包含 2,048 个词,选择标准是:(1) 前四个字符唯一;(2) 避免形近词;(3) 选择易拼写、易记忆的常见英文词。也有日语、韩语、西班牙语、中文、法语、意大利语、捷克语和葡萄牙语词表,但英文词表仍是使用最广泛的版本。
相关指南
- SafeSeed 工具总览 — 所有 SafeSeed 工具概览
- Address Generator 教程 — 验证由助记词派生的地址
- Paper Wallet Creator 教程 — 创建可打印备份
- 离线使用 SafeSeed — 通过隔离网络实现最高级别防护
- 助记词安全指南 — 完整的助记词安全实践