144 / 691PATH

Derivation Path

鍵の導出パス

Derivation Path は出発鍵から HD ツリーの子孫までの経路を示します。復元では各インデックス、hardened の印、生成されるスクリプト形式が重要です。

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).

DOC · 001BIP 32 — Hierarchical Deterministic Wallets仕様 ↗DOC · 002BIP 44 — Multi-Account Hierarchy仕様 ↗DOC · 003BIP 43 — Purpose Field仕様 ↗DOC · 004BIP 49 — P2WPKH nested in P2SH仕様 ↗DOC · 005BIP 84 — Native P2WPKH derivation仕様 ↗DOC · 006BIP 86 — Single Key P2TR Outputs仕様 ↗DOC · 007BIP 380 — Output Script Descriptors仕様 ↗DOC · 008BIP 39 — From mnemonic to seed仕様 ↗DOC · 009Bitcoin Core 29.0 — deriveaddresses RPC文書 ↗
一次資料を優先 · 投資助言ではありません