490 / 691FP

Wallet Fingerprint

ウォレットのマスター鍵の短い指紋

Wallet Fingerprint は通常、BIP32 マスター公開鍵の短い指紋を指します。鍵の区別や復元確認に役立ちますが、衝突があり得るため、それだけでウォレット全体の同一性は証明できません。

BIP32 の fingerprint は、圧縮公開鍵の HASH160 の先頭 4 バイトです。SHA-256 の後に RIPEMD-160 を適用します。32 ビットで、通常は 8 桁の十六進文字として表します。chain code は含みません。

計算はシリアライズした公開鍵を使い、seed の単語や秘密鍵を直接入力にはしません。短い指紋は補助識別子であり、受取アドレスではなく、取引への署名もできず、ウォレット復元に必要なデータも含みません。 [BIP32 — Key identifiers and serialization]

xpub や xprv の記録には、その鍵の親の指紋が入ります。マスター鍵には親がないためこの欄は 00000000 ですが、これはマスター鍵自身の指紋ではありません。アプリはマスター鍵自身の指紋を表示する場合があるため、比較時には欄の意味と導出階層を確認してください。 [BIP32 — Key identifiers and serialization]

BIP32 公開テストベクトル 1 のマスター鍵自身の指紋は 3442193e です。一方、そのマスター xpub の親欄は 00000000 のままです。これは公開テスト例であり、自分の資金を置くウォレットの安全な基礎ではありません。 [BIP32 — Key identifiers and serialization]

BIP174 の PSBT はマスター指紋と該当公開鍵の導出パスを関連付けます。Output Descriptor も由来の指紋とパスを記載できます。お釣りの判定には指紋の一致だけでは足りず、署名者は実際の鍵と対応するスクリプト条件を導出して比較する必要があります。 [BIP174 — Key origins and change detection] [BIP380 — Output Script Descriptors]

32 ビットには 4294967296 通りしかないため、異なる鍵が同じ指紋を持ち得ます。BIP32 はソフトウェアに衝突への対応を求めています。一致しても全アカウント、導出パス、スクリプト形式や秘密鍵の利用可能性は検証できません。 [BIP32 — Key identifiers and serialization] [BIP380 — Output Script Descriptors]

同じ導出階層の同種の指紋を比較します。違いは別の seed や passphrase を示す場合がありますが、まずマスター欄と親欄の混同を除外してください。一致した場合も既知のアドレス、正しいパスとスクリプトを確認します。指紋だけでは安全に保管したバックアップや検証済みの復元手順を代替できません。 [BIP32 — Key identifiers and serialization] [BIP380 — Output Script Descriptors]

理解を深めるには、この項目とあわせて次もお読みください HD Wallet, PSBT, BIP39 passphrase, Output Descriptor.

DOC · 001BIP32 — Key identifiers and serialization仕様 ↗DOC · 002BIP174 — Key origins and change detection仕様 ↗DOC · 003BIP380 — Output Script Descriptors仕様 ↗
一次資料を優先 · 投資助言ではありません