BIP 341: Taproot: SegWitバージョン1の支払いルール
著者: ピーター・ウィーユ、ジョナス・ニック、アンソニー・タウンズ ステータス: ファイナル タイプ: スタンダードトラック 作成日: 2020年1月19日 有効化: 2021年11月14日(ブロック709,632)
概要
Taprootは、Schnorr公開鍵とオプションのスクリプト条件のマークル化ツリーを組み合わせた新しいSegWitバージョン1出力タイプを導入する。一般的なケースでは、基盤の複雑さに関係なく、単一のSchnorr署名のみで支払いが可能。
核心概念
すべてのTaproot出力は単一の公開鍵をエンコードする。この鍵は2つの方法で使用できる:
-
鍵パス支払い — 単一のSchnorr署名(協調ケース)。鍵集約により、すべての参加者が鍵を結合して署名でき、トランザクションは単純な支払いと区別できなくなる。
-
スクリプトパス支払い — スクリプトのマークルツリーの一つのブランチを公開。実行されたスクリプトのみが公開され、他のすべての条件は隠されたまま。
MASTの仕組み
マークル化抽象構文木は、複数の支払い条件をマークルツリーに整理する:
ルート
/ \
Hash01 Hash23
/ \ / \
S0 S1 S2 S3
スクリプトS2で支払うには、S2とルートを再構築するのに必要なハッシュ(Hash01)のみを公開する。スクリプトS0、S1、S3は隠されたままとなる。
プライバシーの利点
- 協調クローズが同一に見える — 2-of-3マルチシグ、ライトニングチャネル、シングルシグウォレットのいずれであっても、鍵パス支払いはオンチェーンで同じに見える
- 未使用条件はプライベートのまま — 実行されたスクリプトブランチのみが公開される
- オンチェーンフットプリントの削減 — 鍵パス支払いは同等のP2SHやP2WSHトランザクションよりも小さい
有効化
TaprootはSpeedy Trialメカニズムにより2021年11月14日、ブロック高709,632で有効化された。2017年のSegWit以来初めてのソフトフォーク有効化だった。
意義
Taprootはビットコインのスマートコントラクト機能におけるパラダイムシフトを表す:
- 最も一般的なマルチパーティ構成を単純な支払いと区別不能にした
- オンチェーンデータを削減しながらより複雑なスクリプティングを実現
- クロスインプット署名集約などの将来の改善の基盤を提供
- SegWitのスクリプトバージョニング(BIP 141)で実現されたビジョンを完成させた