BIP 39(Mnemonic Seed)
一句话定义: 2013 年标准:把钱包种子编码为 12–24 个英文单词,可选 passphrase 增加保护。
BIP 39 由 Marek Palatinus、Pavol Rusnak、Aaron Voisine 和 Sean Bowe 于 2013 年 9 月撰写,规定了比特币钱包如何把种子编码成一串 12 到 24 个普通英文单词。如今所有主流比特币钱包用的都是同一套构造。
数学过程:
- 从 128、160、192、224 或 256 位的密码学熵开始。
- 追加一段 SHA-256 派生的校验和(长度为熵的 1/32)。
- 切成 11 位一组,逐组到 2048 词的 BIP 39 词表里查词。
结果就是 12、15、18、21 或 24 个词的短语。12 个词编码 128 位熵;24 个词编码 256 位(完整对照见助记词熵位)。两者都远超暴力破解的范围,选哪个纯属偏好——硬件钱包通常默认 24 词。
要得到真正的钱包种子(也就是 BIP 32 派生的输入),助记词还要过一遍 PBKDF2-HMAC-SHA512,迭代 2048 次,盐值是一个可选的密码短语。密码短语留空,得到一个钱包;填上非空密码短语,同样这套词会展开成完全不同的另一个钱包。这个可选的密码短语常被称为「第 25 个词」。
BIP 39 为什么重要:
- 人类友好的备份。 抄写、核对 24 个单词,比抄 64 个十六进制字符靠谱得多。
- 错误检测。 校验和能在导入时拦下绝大多数抄写错误——打错字会立刻报错,而不是悄无声息地打开另一个(多半是空的)钱包。
- 跨钱包可移植。 把 BIP 39 种子导入任何兼容 BIP 39 / BIP 32 的钱包,得到的都是同一套密钥。
- 多语言词表。 词表已发布英文、日文、韩文、西班牙文、法文、意大利文、捷克文、葡萄牙文和中文(简繁均有)版本。数学不变,词语本地化。
英文词表是精心挑选的:2048 个词(恰好每个词对应 11 位),前四个字母互不重复(因此单词只输一半也能唯一确定)、没有容易混淆的词对、也没有冒犯性词汇。它是加密货币领域部署量遥遥领先的助记词标准。
规范文档:BIP-39。
相关词条: 助记词 · BIP 32(HD 钱包) · 助记词密码 · 助记词熵位 · BIP(比特币改进提案)