MSTR Cat

区块链/等级 IV · 深入协议/4.3 托管与隐私/课程 1

HD 钱包(BIP32、BIP44、BIP84、BIP86)

从一个种子派生出一整棵密钥树

材料处于测试模式(testnet 或 signet)的钱包,切勿使用真实种子能显示派生路径的 HD 钱包或工具笔记本

好奇

  1. 一颗种子如何能够生成数量几乎无限、且独一无二、同时还能被恢复的私钥?
  2. 为何一个泄露的子私钥,再加上父级的扩展公钥,就能暴露非硬化分支中的所有密钥?
  3. 在费用效率方面,传统的 P2PKH 地址与原生 SegWit 或 Taproot 地址之间存在怎样的结构差异?

探索

  1. 在 Pieter Wuille 于2012年提出 BIP32 之前,钱包为每个新地址生成随机密钥对。备份钱包意味着要逐一保存每个私钥;一旦丢失某个备份文件,对应的资金就无法找回。BIP32 改变了这一模式:从单个主种子派生出一棵确定性的密钥树。如今,整个资金历史都锚定在这一个种子上,该种子通常由128位或256位熵生成,并抄写为12个或24个单词。
  2. 派生路径遵循 BIP44(2014年)定义的结构:`m / purpose' / coin_type' / account' / change / index`。撇号表示硬化派生,这是一项关键的安全机制。在非硬化派生中,如果攻击者同时获得父级扩展公钥(xpub)和任意一个子私钥,就可以通过数学计算推出父级私钥。硬化派生切断了这种关联:即使子私钥泄露,结合 xpub 也无法推断出父级的任何秘密。
  3. BIP44 对前三个层级进行了标准化,从而在同一层级结构内支持多种币种。`purpose'` 层级标识所采用的标准(例如 BIP44 为44,BIP84 为84)。`coin_type'` 层级用于区分资产,比特币的索引为0。这样,一个种子即可管理不同的加密货币,而不会混用它们的密钥。`account'` 层级将资金划分为相互独立的账户,每个账户都有自己的找零链。扩展公钥(xpub)通常在这一层级派生。
  4. BIP84 更新了以 `bc1q` 开头的原生 SegWit 地址的标准,将 purpose 设为84。这类地址比传统格式更高效,因为其见证数据在交易权重计算中享有折扣,从而降低手续费。派生路径变为 `m / 84' / 0' / account' / change / index`。例如,账户0的第一个外部地址在 `m/84'/0'/0'/0/0` 处派生。这种结构使服务器无需接触任何私钥,即可从 xpub 生成收款地址。
  5. BIP86 是 Ava Chow 于2021年为 Taproot 编写的另一套派生标准,它将 purpose 设为86,派生以 `bc1p` 开头的单密钥 Taproot 地址。BIP86 涵盖不含脚本树的单密钥 Taproot 输出。由于 Taproot 的密钥路径也可以承载聚合密钥(例如 MuSig2 密钥),多方钱包的输出在链上可能与这些单密钥输出看起来完全相同。
  6. 钱包会向前扫描以检测已使用的地址,通常在一条链上连续遇到20个未使用地址(即“gap limit”,地址间隔上限)后停止。如果在该范围内没有发现任何交易,钱包便认为已找到该账户的全部现有密钥。要验证这一机制,可以打开任意一款现代 HD 钱包,找到其派生路径设置,识别每个层级:purpose(用途)、币种类型、账户、找零和索引。从同一个种子派生两条不同的路径,确认它们生成不同的密钥,同时都能通过原始助记词完整恢复。

关键事实

  • BIP32 从单个主种子派生出一棵确定性的子密钥树。
  • 硬化派生(用 `'` 标记)可在子私钥和 xpub 均遭泄露时防止父密钥泄露。
  • BIP44 的路径结构为 `m / purpose' / coin_type' / account' / change / index`。
  • purpose 84 对应原生 SegWit 地址(`bc1q`),其手续费效率高于传统格式。
  • purpose 86 对应单密钥 Taproot 地址(`bc1p`)。
  • 钱包通常在连续遇到20个未使用地址后停止扫描(即 gap limit)。

练习 九、六、三、一

9收集列出来自不同钱包或标准的9条派生路径。注明每条路径的 purpose(用途)、币种类型以及地址格式。
6归类按脚本类型将这9条路径分为6类:传统 P2PKH、嵌套 SegWit、原生 SegWit、Taproot、多币种或其他。
3提炼将这6类归纳为3个理由,说明钱包开发者为何会选择某条派生路径而非另一条。
1凝结用一句话解释:硬化派生如何防止主密钥因子密钥而暴露。

事实核查

日期、数字及数据均依据下方列出的已发表资料进行核实。

在互动学院中打开 →

EN PT ES JA KO RU DE FR MS