メインコンテンツへスキップ

BIP 84

P2WPKH アカウントの導出方式

原題: Derivation scheme for P2WPKH based accounts

Status
Deployed
Type / Layer
Specification / Applications
Author
Pavol Rusnak
割り当て日
Status 検証日
原文
github.com/bitcoin/bips/blob/master/bip-0084.mediawiki

要約

ネイティブ SegWit のアドレス(P2WPKH)を使う HD ウォレットのための導出方式を定めた提案です。BIP44 が定めた 5 階層のパスをそのまま使い、purpose だけを 84' に変えます。生成される出力の scriptPubKey は 0 と 20 バイトの鍵ハッシュを並べた形で、アドレスは BIP173 の bech32 で符号化され「bc1q」から始まります。P2SH に入れ子にする BIP49 と違い、witness program がそのまま出力に置かれるため、入れ子のぶんのデータが要らず、トランザクションはより小さくなります。ここでも purpose を分ける意図は同じで、この仕様に対応するウォレットだけがこのアカウントを検出します。対応していないウォレットに seed を持ち込んだ場合はアカウントが見つからないという明確な形で失敗するので、資金の一部だけが見えない状態を避けられます。拡張鍵には専用のバージョンバイトが割り当てられており、mainnet では zpub / zprv という表記になります。

技術的意義

多くの現代的なウォレットが受け取り用の既定として採用している導出方式であり、「bc1q」で始まるアドレスの出どころです。BIP32 の派生木・BIP39 の復元フレーズ・BIP173 のアドレス符号化と組み合わさって、seed 1 つから日常的な受け取り口座を再現できるという、いま当たり前になっている体験を成立させています。

関連する BIP

関連する解説記事

このページに掲載しているのは原文の翻訳ではなく日本語の要約です。BIP は原文が正であり、Status を含むメタデータは上記の検証日時点で bips リポジトリから転記した値です。実装・検証の際は必ず原文を参照してください。

bitcoin/bips で原文を読む