BIP 341 — Taproot: SegWitバージョン1の支払いルール

BIP 341: Taproot: SegWitバージョン1の支払いルール

著者: ピーター・ウィーユ、ジョナス・ニック、アンソニー・タウンズ ステータス: ファイナル タイプ: スタンダードトラック 作成日: 2020年1月19日 有効化: 2021年11月14日(ブロック709,632)

概要

Taprootは、Schnorr公開鍵とオプションのスクリプト条件のマークル化ツリーを組み合わせた新しいSegWitバージョン1出力タイプを導入する。一般的なケースでは、基盤の複雑さに関係なく、単一のSchnorr署名のみで支払いが可能。

核心概念

すべてのTaproot出力は単一の公開鍵をエンコードする。この鍵は2つの方法で使用できる:

  1. 鍵パス支払い — 単一のSchnorr署名(協調ケース)。鍵集約により、すべての参加者が鍵を結合して署名でき、トランザクションは単純な支払いと区別できなくなる。

  2. スクリプトパス支払い — スクリプトのマークルツリーの一つのブランチを公開。実行されたスクリプトのみが公開され、他のすべての条件は隠されたまま。

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)で実現されたビジョンを完成させた