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

BIP 86

単一鍵 P2TR 出力のための鍵導出

原題: Key Derivation for Single Key P2TR Outputs

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

要約

Taproot の単一鍵出力を HD ウォレットで扱うための導出方式を定めた提案。BIP44 が定めた m / purpose' / coin_type' / account' / change / address_index という階層をそのまま用い、purpose に 86' を割り当てる。狙いは復元可能性にある。seed しか控えていないウォレットでも、purpose の値が決まっていれば「この枝の鍵は P2TR として使われている」と判別でき、残高を見つけられる。仕様は BIP49・BIP84 の書き方を意図的に踏襲しており、実装側の追加コストを小さく保っている。導出した公開鍵はそのままアドレスになるのではなく、Taproot の内部鍵 P として扱われ、Q = P + int(HashTapTweak(bytes(P)))G という tweak を経て出力鍵になる。ここで tweak にスクリプトツリーを含めないことが要点で、結果としてスクリプトパスを持たない、鍵パスでしか使用できない出力になる。scriptPubKey は「1 <出力鍵>」の形をとり、アドレスは Bech32m で符号化されるため bc1p で始まる。

技術的意義

ウォレットの導出パスに Taproot 用の区画を与えたことで、bc1p アドレスを既存の HD ウォレット運用(seed 1 つのバックアップ、アカウント分離、watch-only 監視)にそのまま載せられるようになった。対象は単一鍵の P2TR に限られ、マルチシグやスクリプトツリーを含む Taproot 出力は扱わない、意図的に最小の規格である。

関連する BIP

関連する解説記事

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

bitcoin/bips で原文を読む