跳转到正文
buybitcoinsmart

术语表 /地址与密钥

BIP-44目的层级

BIP-44目的层级是什么?
BIP-44目的层级是 HD 派生路径中的第一个数字,采用硬化派生并固定为44',它为一个钱包标准占用其下的整个子树。

规定于 BIP-44。

目的层级是 BIP-44在主密钥之下定义的五个层级中的第一个,BIP-43保留了该位置,使互不兼容的钱包结构不会共用同一棵树。BIP-44将该值固定为44',写作0x8000002C,该规范于2014年4月24日获得分配。如果用错误的目的层级打开钱包,钱包会根据同一助记词重建出不同的地址,显示余额为零,而您的比特币仍留在链上。

运作方式

目的层级是主密钥正下方的硬化索引,BIP-44将其固定为常量44'。其下的一切都归属于该标准,并采用固定的五层结构:m / purpose' / coin_type' / account' / change / address_index。44是该 BIP 自己的编号,这也是 BIP-43所建议的做法。

该层级所声明的内容比多数人以为的要窄。BIP-44只是说该常量 "indicates that the subtree of this node is used according to this specification"。文档中没有任何地方指定地址格式。

在目的层级之下,硬化再延续两层,然后停止。

层级索引是否硬化选择的内容
目的44'是拥有该子树的标准
币种类型0'是比特币,其中1' 表示测试网
账户0'是一个身份,从0开始编号
找零0否外部链为0,内部链为1
地址索引0否地址,向上递增计数

因此,m / 44' / 0' / 0' / 0 / 0是第一个比特币账户的第一个收款地址,而把第三层改为1' 则会打开第二个账户,与前者没有任何共同的历史记录。BIP-44本身只出现两种币种类型,即0和1;其余的见 SLIP-0044,该文档由 SatoshiLabs 维护,BIP 也将此事交由其处理。

在哪里会遇到它

目的层级出现在钱包显示的每一条派生路径中,其中44' 表示旧版(legacy)地址。以44' 开头的路径生成的地址以1开头,但这并不是因为 BIP-44选定了该格式。BIP-44早于所有其他方案,目的层级对应地址类型的规则是后来才出现的:BIP-49(2016年)、BIP-84(2017年)和 BIP-86(2021年)各自采用了自己的目的值,用来标记不同的脚本类型。

这会在恢复钱包时带来额外的开销。由于每个标准各自拥有一条独立的分支,BIP-44所描述的账户发现流程会针对软件支持的每个目的层级各运行一次,每次运行都会扫描一条外部链,直到连续遇到未使用地址的数量达到间隔上限(目前设为20个)才会停止。支持四种格式的钱包要扫描四遍。只支持一种格式的钱包只扫描一遍,在其分支上找不到历史记录,于是显示为空账户,而比特币其实位于另一个首层数字之下。

在实际使用中,该值会出现在钱包的账户详情中,位于扩展公钥旁边,或出现在高级恢复功能提供的自由文本输入框中。本站对 Electrum 的评测将以下一点列为缺点:界面默认您已经了解什么是找零地址和派生路径,而目的层级正是该字段中首先要填对的部分。一个快速的检查方法:如果第二层显示的是1' 而不是0',那就是测试网分支,其中的币没有真实价值。

BIP-44目的层级 vs 派生路径

目的层级是路径中的一个数字,而不是路径本身。一条路径按顺序包含五个层级,只把第一层从44' 换成84',就会把同一个助记词交给另一个标准,而下面各层仍保持 BIP-44赋予的含义:BIP-84原样沿用了它们。只有当路径的第一层为44' 时,它才属于 BIP-44,而决定地址由哪个标准生成的,是这个开头的数字,而不是旁边标注的名称。

请勿混淆

常见问题

以44' 开头的路径是否一定对应旧版地址?

实际中是的,但 BIP-44本身并未指定任何地址格式。它只是说该常量标记的子树按该规范使用,而目的层级对应脚本类型的规则是后来才确立的,当时 BIP-49、BIP-84和 BIP-86各自采用了自己的目的值。

目的层级的数字为什么是44?

因为 BIP-43建议方案使用自己的 BIP 编号作为目的常量,因此 BIP-44的常量为44',写作0x8000002C。该值除了标明其下的分支归属于哪个标准之外,没有其他含义。

我可以从44' 分支转移到较新的地址类型吗?

可以。同一个助记词同时为所有目的分支提供密钥,因此钱包可以在另一个目的层级下开设账户,您通过一笔普通交易把原有的比特币转到那里即可。在此期间,44' 分支上不会有任何变化,其下的地址仍可继续使用。

接着阅读

相关术语

地址与密钥中的更多术语

阅读本页英文版