Derivation Path 是按照 BIP 32 派生密钥所用的普通与 hardened 索引的有序序列。它不是 seed、私钥或地址;相同写法作用于不同起始密钥,会得到不同密钥。
在 m/0/7 中,m 表示主私有节点,每个斜杠增加一次派生:先子节点 0,再它的子节点 7。派生使用包含 chain code 的扩展密钥。数字不是金额或交易编号;路径本身不提供签名材料。 [BIP 32 — Hierarchical Deterministic Wallets]
BIP 32 将 32 位索引分为普通的 0 至 2^31−1,以及 hardened 的 2^31 至 2^32−1。0' 和 0h 都表示 hardened 索引 2^31,并非普通 0;BIP 380 接受单引号和 h。xpub 能派生普通公开子节点,但单凭 xpub 不能派生 hardened 子节点。 [BIP 32 — Hierarchical Deterministic Wallets] [BIP 380 — Output Script Descriptors]
示例 m/84'/0'/0'/0/7 表示 BIP 84 约定、Bitcoin mainnet、账户 0、外部收款分支 0 和索引 7,即第八个地址位置。前三层为 hardened,后两层为普通派生。BIP 44 约定中的分支 1 用于自己的找零;索引从零开始。 [BIP 44 — Multi-Account Hierarchy] [BIP 84 — Native P2WPKH derivation]
BIP 43 将第一层 hardened 留给 purpose。44' 对应 P2PKH 约定,49' 对应 P2SH-P2WPKH,84' 对应 P2WPKH,86' 对应 single-key P2TR。数字本身不会在共识中强制脚本;软件必须构建相应输出。并非所有钱包都采用这些约定。 [BIP 43 — Purpose Field] [BIP 44 — Multi-Account Hierarchy] [BIP 49 — P2WPKH nested in P2SH] [BIP 84 — Native P2WPKH derivation] [BIP 86 — Single Key P2TR Outputs]
若 xpub 已在 m/84'/0'/0' 层级导出,此后代只需相对后缀 /0/7。给账户 xpub 再附加完整根路径会进行另一种派生,而且其中 hardened 步骤也无法从该 xpub 执行。序列化的深度与父 fingerprint 并不包含完整原始路径历史。 [BIP 32 — Hierarchical Deterministic Wallets] [BIP 380 — Output Script Descriptors]
BIP 380 允许在密钥前用方括号写 fingerprint/路径来源,并在密钥后附派生后缀。来源说明已经执行的步骤,后缀才是接下来要派生的部分。Descriptor 还指定脚本,并可用 * 表示范围。Fingerprint 为四字节,可能发生碰撞,既非身份凭据,也不能替代密钥。 [BIP 380 — Output Script Descriptors] [BIP 32 — Hierarchical Deterministic Wallets] [Bitcoin Core 29.0 — deriveaddresses RPC]
BIP 32 提醒,父 xpub 与泄露的普通私有后代结合,可能揭示父扩展私钥。Hardened 边界隔断这一特定过程,却不能保护已经泄露的那个密钥。分享 xpub 也会公开其公开分支,即使它本身不能签名,仍可能损害隐私。 [BIP 32 — Hierarchical Deterministic Wallets]
恢复时需核对正确 seed 和可能使用的 passphrase、网络、账户、分支、脚本及包含 Gap Limit 的扫描范围。合法语法可能指向另一条空分支,因此零余额不能证明密钥错误。应与已知收款地址和历史核对,而不只是看软件是否接受路径。 [BIP 39 — From mnemonic to seed] [BIP 44 — Multi-Account Hierarchy] [BIP 380 — Output Script Descriptors]
要获得更完整的理解,请将本词条与以下词条结合阅读: HD Wallet, Extended Public Key (xpub), Gap Limit, Output Descriptor, BIP 39. 反向关联还来自: HD Wallet, Watch-only Wallet, 找零输出, Extended Public Key (xpub).