助记词是一小组单词,可以在任何电脑上重建你的加密货币钱包。本指南介绍这些单词是什么、钱包如何把它们转换成密钥、如何保存才能永远不失去访问权,以及为什么不能让任何人看到它们。示例使用 Blocknet 钱包及其 12 个单词的恢复助记词。
什么是助记词?
助记词也叫恢复短语或种子短语,是一组普通单词,通常为 12 个或 24 个,编码了钱包密钥所依据的秘密。把这些单词输入兼容的钱包,它就会重建同样的密钥、地址和余额,即使你的电脑和钱包文件都已不在。
每个加密货币钱包都建立在秘密密钥之上。密钥是一个很长的随机数,很难手抄,也很容易抄错。助记词用一个固定单词表里的单词来表示同一个秘密,所以你可以把它抄在纸上、读出来核对,并在多年后再输入。
Blocknet 钱包把它的助记词称为恢复助记词(recovery seed)。它有 12 个单词,在你新建钱包时由钱包生成。保管好它,你就随时能找回钱包。
助记词是如何运作的?
许多钱包遵循 BIP39,这是 Marek Palatinus、Pavol Rusnak、Aaron Voisine 和 Sean Bowe 于 2013 年为比特币编写的标准。它分三步运作。
- 随机比特。 钱包生成 128 到 256 个随机比特。12 个单词的助记词包含 128 比特,24 个单词的包含 256 比特。
- 先加校验和,再转成单词。 钱包用 SHA-256 对这些比特做哈希,并把哈希的前几个比特作为校验和附加上去(12 个单词时为 4 比特)。然后把结果切成每段 11 比特。每段是 0 到 2,047 之间的一个数字,从 2,048 个单词的列表中选出一个单词。
- 为密钥生成种子。 使用助记词时,钱包用 HMAC-SHA512 对它执行 2,048 轮 PBKDF2,得到一个 64 字节的种子。密钥就来自这个种子。
校验和让钱包能告诉你助记词是否有误。随机的 12 个单词组合中,只有十六分之一的校验和有效,所以大多数拼写错误和单词顺序颠倒都会在任何操作发生前被发现。英文单词表还经过设计,每个单词的前四个字母都不重复,字迹难以辨认时会很有帮助。
12 个单词在 Blocknet 中的含义
Blocknet 钱包使用标准的 BIP39 英文单词表和 128 比特随机数,所以每个恢复助记词都是 12 个单词。它通过 BIP39 的 PBKDF2 步骤把这些单词转换成 64 字节的种子,不使用额外的口令。前 32 个字节成为你的花费密钥,后 32 个字节成为你的查看密钥。你的地址由这两个密钥的公钥部分构成,所以同样的 12 个单词总会对应到同一个地址。隐身地址详解解释了花费密钥和查看密钥如何配合,让你私密地收款。
128 比特有多大?可能的种子共有 2^128 个,约 3.4 × 10^38。没有人能靠猜单词找到你的钱包。唯一现实的进入方式是看到你的助记词,所以本指南其余部分都在讲如何妥善保存它。
助记词、密码和钱包文件有什么区别?
人们经常把保护钱包的这三样东西搞混。下面是它们在 Blocknet 钱包中各自的作用。
| 是什么 | 能给你什么 | |
|---|---|---|
| 恢复助记词 | 你抄下来的 12 个单词 | 在任何电脑上完全控制钱包 |
| 钱包密码 | 你自己设定的密码 | 在这台电脑上打开钱包文件 |
| 钱包文件 | 一个 .wallet.dat 文件 |
你的密钥和历史记录,用你的密码加密 |
你的密码用来加密钱包文件(钱包用 Argon2id 派生加密密钥,再用 AES-GCM 加密),Blocknet 从不在任何地方保存它。密码与生成密钥毫无关系。用这 12 个单词恢复时,你要为新的钱包文件设定一个新密码。这使助记词成为最重要的那份备份:即使你丢了文件、忘了密码,它依然有效。
应该如何保存助记词?
按顺序把单词写在纸上,逐个对照屏幕检查,然后把纸放在安全的离线位置。再抄一份,存放在另一个地方。不要把助记词放进照片、文本文件、笔记应用、电子邮件或云存储,因为任何读到它的人都能控制资金。
这些习惯能让助记词既安全又可用:
- 首选纸张。 Blocknet 钱包指南要求把助记词写在纸上并放在安全的地方。把单词编号 1 到 12,因为顺序很重要。
- 核对一次。 关闭屏幕前,把每个单词和屏幕对照一遍。拼写很重要,而每个单词的前四个字母就足以区分它。
- 两份副本,两个地点。 一份放在家里,另一份放在你信任的其他地方,可以防范火灾、水灾或抽屉遗失。出于同样的原因,有些人还会把单词刻在金属板上。
- 保持离线。 截图、手机照片、笔记应用和云文件夹都会同步或备份到你无法控制的地方。钱包指南明确列出,文本文件、笔记应用和云存储都不应存放助记词。
- 保持私密。 把它放在访客、同事和维修店不会看到的地方。
为什么绝不能把助记词告诉别人?
这 12 个单词就是你的钱包。谁拥有它们,谁就能在自己的电脑上重建钱包并转走里面的一切,而交易一旦上链就无法撤销。每次你要求查看助记词时,Blocknet 钱包都会显示这段英文警告(大意是:你的恢复助记词控制所有资金,任何拥有它的人都能偷走你的币,绝不要分享它,绝不要在网上输入它):
WARNING: Your recovery seed controls all funds.
Anyone with this seed can steal your coins.
Never share it. Never enter it online.
无论看起来多么正式,任何索要助记词的请求都应视为诈骗。钱包开发者、交易所、矿池和客服人员都从不需要它。要求你输入这些单词来“验证”或“同步”钱包的网站或应用,就是想拿走你的币。
做任何事都不需要分享助记词:
- 收款时,分享你的地址,或分享指向它的 Blocknet ID 短名称,例如
@yourname。 - 想让别人看到收款时,
viewkeys命令可以导出仅查看密钥。仅查看钱包能显示收到的付款,但不能发送。隐私指南解释了查看密钥会透露哪些信息。 - 挖矿时,seine 和 bntpool.com 只需要你的地址或短名称。钱包和助记词可以留在你信任的那一台电脑上,而每台挖矿机器都向同一个地址付款。
如何查看和恢复 Blocknet 恢复助记词?
在命令行钱包中,在 shell 提示符处输入 seed。钱包会显示上面的警告,请你确认并输入密码,然后按编号分行显示 12 个单词。在桌面钱包中,打开设置并选择“View Recovery Seed”(查看恢复助记词),同样会先要求输入密码。
恢复时,两种钱包都可以使用:
- 命令行: 运行
import,选择1) 12-word recovery seed,输入 12 个单词,然后为新钱包设定名称和密码。 - 桌面: 选择“Restore from Seed”(从助记词恢复),输入你的 12 个单词。
钱包会检查单词和校验和,重建你的密钥,并扫描区块链查找你的输出,所以你的余额和历史记录会以同一个地址恢复。Blocknet 钱包指南一步步介绍了如何创建钱包、备份助记词和找到你的地址。
把助记词安全地抄在纸上之后,就可以让这个地址派上用场了。Blocknet 挖矿指南介绍了如何让 seine 挖矿到这个地址,并开始在 bntpool.com 挖矿。
常见问题
助记词和私钥有什么区别?
私钥直接控制资金,而助记词是一份人类可读的备份,钱包会把它转换成私钥。在 Blocknet 钱包中,这 12 个单词会生成花费密钥和查看密钥,所以仅凭助记词就能重建整个钱包及其全部功能。
如果弄丢了助记词,还能恢复钱包吗?
只要你还有钱包文件和密码,就可以继续使用这个钱包。助记词是在文件或密码丢失时使用的备份。趁钱包还能打开,用 seed 命令或 View Recovery Seed 再次显示助记词,并把它抄下来。
把助记词存在密码管理器里安全吗?
Blocknet 钱包指南要求把助记词离线写在纸上,不要存进文本文件、笔记应用或云存储,因为任何读到这 12 个单词的人都能控制资金。把纸质副本放在两个不同的安全地点,就有了一份从不接触互联网的备份。
助记词在任何钱包应用里都能用吗?
单词表是通用标准,但每种币把单词转换成密钥的方式各不相同。请在官方 Blocknet 命令行钱包或桌面钱包中恢复 Blocknet 助记词。两者都接受这 12 个单词,并在钱包扫描区块链后恢复相同的地址和余额。