钱包派生路径详解
派生路径告诉钱包要从你的助记词生成哪些地址。了解 m/44'/60'/0'/0/0 这类路径如何运作,以及余额“消失”时该如何解决。
派生路径是一串简短的代码,例如 m/44'/60'/0'/0/0,它准确地告诉钱包要从你的助记词生成哪个私钥和地址。同一组助记词可以生成数十亿个不同的地址,而路径会从中选出一个。因此,两个钱包即使使用相同的种子,只要路径不同,就会显示不同的地址和余额。
这就是为什么有人把助记词恢复到新钱包后会看到余额为空,尽管他们的资金在区块链上完好无损。理解派生路径,就能把那个令人心惊的时刻变成一次简单的设置调整。它还能帮助你写出更好的备份笔记。
HD 钱包如何把一个种子变成众多地址
早期的钱包会生成随机且彼此无关的密钥,每个密钥都必须单独备份。分层确定性钱包解决了这个问题。它们由 BIP32 定义,以树状结构从一个主种子派生出所有密钥。BIP39 则将该种子转换为由 12 或 24 个单词组成的列表这一过程标准化,也就是你备份的助记词。
由于派生过程是确定性的,相同的种子加上相同的路径总会生成相同的密钥。这正是一个备份就足够的原因。这也意味着,查看树上另一个分支的钱包根本看不到你的资金。想深入了解,请参阅多链钱包。
如何解读派生路径
BIP44 定义了一种通用结构。以第一个 Ethereum 账户的路径 m/44'/60'/0'/0/0 为例:
| 层级 | 值 | 含义 |
|---|---|---|
| m | master | 由你的种子派生出的根密钥 |
| purpose | 44' | 使用哪种标准(此处为 BIP44) |
| coin type | 60' | 哪条区块链:根据 SLIP-44 注册表,Bitcoin 为 0,Ethereum 为 60 |
| account | 0' | 让你在一个种子下保留彼此独立的账户 |
| change | 0 | 0 表示收款地址,1 表示找零地址(主要用于 Bitcoin) |
| address index | 0 | 具体的单个地址:0、1、2 依此类推 |
撇号表示强化派生,这是一项安全功能,可防止泄露的子密钥被用来计算相关密钥。有些工具会改写为“h”。
你会看到的常见路径
Bitcoin 地址类型
Bitcoin 为不同的地址格式使用不同的 purpose 编号:
- m/44'/0'/0' – 以 1 开头的传统(legacy)地址
- m/49'/0'/0' – 以 3 开头的嵌套 SegWit 地址
- m/84'/0'/0' – 以 bc1q 开头的原生 SegWit 地址
- m/86'/0'/0' – 以 bc1p 开头的 Taproot 地址
如果你恢复种子后看不到任何比特币,请检查钱包是否在扫描正确的地址类型。
Ethereum 与 EVM 链
大多数 EVM 钱包使用 m/44'/60'/0'/0/x,每新增一个账户就把最后一个数字加一。有些钱包软件过去递增的是另一个层级,例如 m/44'/60'/x'/0/0,这就是为什么换用钱包时,第一个账户之后的账户可能看起来“不见了”。由于 EVM 链共用同一种地址格式,相同的路径会在 Ethereum 和其他 EVM 网络上给出相同的地址。参见为什么你的钱包在不同链上显示不同的地址。
Solana 及其他链
Solana 钱包通常使用基于 coin type 501 的路径,但不同钱包在不同时期采用过不同的变体。因此,许多钱包会在导入时提供路径选项。
恢复后余额消失该如何解决
- 1不要惊慌,也不要转移任何资产。你的资金在区块链上,而不是在应用里。
- 2检查地址。将恢复后钱包的第一个地址与一笔旧交易或你保存的地址进行比对。如果不同,就是路径或地址类型的问题。
- 3寻找路径选项。许多钱包都有“高级”“自定义路径”或“导入”设置,其中列出了常见路径。
- 4尝试原钱包的默认设置。钱包文档通常会说明它使用哪条路径。
- 5确认是否设置了密码短语。如果你使用过可选的密码短语(即“第 25 个单词”),密码短语不同或未输入同样会生成一个完全不同的钱包。参见密码短语详解。
- 6在树中往更深处查找。如果你用过很多地址,请提高钱包的地址间隔上限(gap limit),或手动添加账户。
切勿把助记词粘贴到任何声称能“帮你找到路径”的网站上。正规的恢复工具都是离线运行的,许多“路径查找器”网站都是钓鱼页面。
为什么钱包不干脆扫描所有路径
你可能会问,钱包为什么不自动检查所有可能的路径。这棵树实际上是无限的,而每次检查都需要在区块链上查询地址,这不仅速度慢,还可能让执行查询的服务得知哪些地址属于你。因此,钱包只扫描有限的一组默认路径,并在连续遇到一定数量的未使用地址后停止,这被称为 gap limit(间隔上限)。
这种设计从隐私和性能角度看是合理的,但也意味着不常见的设置在恢复时需要你帮一点忙。
备份笔记里应该写什么
除了妥善保管的助记词之外,最好另外安全地保存以下信息:
- 你使用的钱包软件或硬件钱包,以及大致使用时间
- 派生路径或地址类型(如果你更改过默认设置)
- 是否设置了密码短语(但不要把密码短语写在助记词旁边)
- 一个公开的收款地址,以便确认恢复是否正确
这些信息本身并不是秘密,但在恢复时可以为你节省好几个小时。我们关于钱包恢复如何运作的指南介绍了完整流程。
总结
派生路径是从你的助记词通往某个特定地址的地图。当恢复后的钱包什么都不显示时,原因几乎总是路径、地址类型或密码短语不同,而不是资金丢失。记清楚你用过哪个钱包和哪些设置,保留一个公开地址作为参照,在做最坏的打算之前,先试试钱包的高级导入选项。
常见问题
为什么我恢复的钱包显示余额为零?
最常见的原因是新钱包使用的派生路径或地址类型与原钱包不同,因此从同一组助记词生成了不同的地址。请查明原钱包使用的是哪条路径,并在新钱包的高级设置或导入设置中选择该路径。
派生路径需要保密吗?
不需要。派生路径是标准化的公开约定,无法让人访问你的资金。只有助记词以及你设置的密码短语(passphrase)必须保密。建议把所用的路径和钱包软件与备份一起记下,但不要写在任何会泄露助记词的内容旁边。
派生路径中的撇号是什么意思?
撇号有时也写作 h,表示强化(hardened)派生层级。强化密钥增加了一项安全特性:即使有人获知了某个子私钥以及父级的扩展公钥,也无法用它们推算出该层级的其他密钥。
恢复钱包时需要知道我的派生路径吗?
通常默认设置就能用,但并非总是如此。如果你使用的是较少见的钱包、旧版本或非默认设置,记下钱包名称和路径能帮助你或你的继承人日后恢复资金。请将这份记录与助记词备份分开保存。
