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

BIP 141

Segregated Witness(コンセンサス層)

原題: Segregated Witness (Consensus layer)

Status
Deployed
Type / Layer
Specification / Consensus (soft fork)
Author
Eric Lombrozo, Johnson Lau, Pieter Wuille
割り当て日
Status 検証日
原文
github.com/bitcoin/bips/blob/master/bip-0141.mediawiki

要約

トランザクションの署名データを「witness」という新しい構造に分離し、トランザクションのマークルツリーとは別にブロックへコミットするソフトフォーク仕様。出発点にあるのは、トランザクションの効果を決めるのは入力の消費と出力の生成であって、署名はブロックチェーンの状態を検証するためにしか要らないという観察である。署名を txid の計算対象から外すと、第三者が署名の表現を書き換えて txid を変えてしまう「トランザクション展性(malleability)」が構造的に解消される。仕様はこれを BIP62 の正規署名アプローチより優れた解として位置づけ、未確認トランザクションを連鎖させても相手方リスクが生じないこと、それが Lightning Network のようなオフチェーン・プロトコルにとって重要であることを明記している。witness のコミットメントはコインベーストランザクション経由で既存のマークルルートに入れ子にされ、ソフトフォークとして展開できる形をとる。また、witness を割り引いて数える weight という尺度が導入され、実効的なブロック容量が拡大した。

技術的意義

2017 年 8 月に有効化された、ビットコインの歴史で最も大きな仕様変更のひとつである。展性の解消は Lightning Network の前提条件であり、weight の導入は実効容量を拡大した。BIP143 の署名ダイジェスト、BIP144 の P2P メッセージ、BIP173 の bech32 アドレスと一組で機能する。

関連する BIP

関連する解説記事

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

bitcoin/bips で原文を読む