セグウィットとウィットネステータ:ビットコインが取引効率とブロックウェイトをどのように向上させたか

ビットコインの歴史は、世界的なデジタル通貨としてのその軌道を定義した重要なアップデートによって特徴づけられています。これらの技術的マイルストーンのうち、Segregated Witnessの実装ほど変革的で激しく議論されたものはほとんどありません。略してSegWitと呼ばれるこのプロトコルアップグレードは、激しいコミュニティ議論とコンセンサス構築の期間を経て、2017年8月に活性化されました。これはネットワークにとって画期的な瞬間であり、スケーラビリティとセキュリティに関する長年の問題に対処しました。

SegWit以前、ビットコインのネットワークは拡大するユーザー基盤からの増大する圧力に直面していました。採用が増加するにつれ、元のブロックサイズの制限がボトルネックとなり、ネットワークの混雑と取引コストの上昇を招きました。開発者とステークホルダーは、ブロックチェーンの分散化された性質を損なうことなくこれらの圧力を緩和する解決策を求めました。Segregated Witnessは、単にブロックサイズ制限を増やすのではなく、データの保存方法を最適化した巧妙なエンジニアリングソリューションとして登場しました。

このアップグレードは、単に容量を改善しただけでなく、トランザクションマレアビリティとして知られる技術的脆弱性に対処することで、トランザクション処理のメカニクスを根本的に変更しました。この問題を修正することで、SegWitはLightning Networkのようなセカンドレイヤーソリューションが繁栄するための必要な基盤を築きました。これにより、以前は安全に実装することが困難だった即時、低コストの支払いが可能になりました。

SegWitを理解するには、技術仕様だけを超えて見る必要があります。それはビットコインのガバナンスモデル、ブロックスペースの経済学、そしてプロトコル進化を駆動するコミュニティのダイナミクスを検討することを含みます。このアップグレードは、ソフトフォークを通じてビットコインが適応しスケールできることを示し、後方互換性を保ちながら効率性と有用性に革新的な改善をもたらしました。

スケーラビリティの課題

ビットコインは、元々ブロックチェーンに追加されるブロックのサイズに制限を設けて設計されました。この制限は1メガバイト(MB)に設定されており、ネットワークの初期段階でのスパム攻撃に対する保護措置として機能しました。しかし、ビットコインが無名の экспериメントから世界的に認知された資産へと成長するにつれ、この安全機能が成長の制約として働き始めました。

ブロックサイズのボトルネック

すべてのビットコイン取引は、マイナーによって処理・保存されるデータで構成されています。このデータには、支出される資金の所有権を証明する入力、出力、デジタル署名が含まれます。SegWit以前の時代では、これらのすべての情報が厳格な1MBブロック制限内のスペースを競う必要がありました。

ネットワークの人気が急増するにつれ、ブロックスペースの需要が利用可能な供給を頻繁に上回りました。ユーザーは入札戦争に巻き込まれ、取引に高い手数料を付けることでマイナーが次のブロックに含めるよう誘導しました。このダイナミクスにより、標準的な手数料を支払ったユーザーの確認時間が遅くなりました。

ピーク時にはネットワークが混雑し、小額決済やマイクロトランザクションが実用的でなくなりました。コミュニティは、ビットコインが価値の保存手段および交換媒体として効果的に機能するためには、ネットワークのスループットを向上させる必要があることを認識しました。この議論の中心は、セキュリティや分散化を犠牲にせずにスケーリングを達成する方法でした。

ハードフォークのジレンマ

スケーラビリティ問題に対する提案された解決策の一つがハードフォークでした。ハードフォークは、プロトコルへの抜本的な変更で、以前は無効だったブロック/取引を有効にしたり、その逆を行ったりします。スケーリングの文脈では、これは単にコードを書き換えて2MBや8MBなどのより大きなブロックを許可するということでした。

しかし、ハードフォークには重大なリスクが伴います。ネットワーク上のすべてのノードがソフトウェアを同時にアップグレードする必要があります。コミュニティの一部がアップグレードを拒否したり変更に反対したりした場合、ブロックチェーンが2つの別々のチェーンに分裂する可能性があります。これは、ブロックサイズをハードフォークで増加させたビットコインキャッシュの作成時に発生しました。

Bitcoin Core開発者は、ソフトフォークと呼ばれるより安全なアプローチを優先しました。ソフトフォークは後方互換性のあるアップグレードで、古いバージョンのソフトウェアを実行するノードもネットワークに参加できます。SegWitは、ネットワークの統一を維持しつつ必要な容量向上を実現するためのソフトフォークとして設計されました。

コンセンサスとガバナンス

SegWitの活性化への道筋は、ビットコインガバナンスの独自性を強調しました。リーダーが変更を指示する中央集権型システムとは異なり、ビットコインは多様な参加者間のコンセンサスに依存します。これにはマイナー、開発者、ノード運用者、エンドユーザーが含まれます。

SegWitの提案であるBitcoin Improvement Proposal (BIP) 141は、活性化のためにマイナーからの非常に高い支持閾値が必要でした。具体的には、2週間の期間中にマイニングハッシュパワーの95%が準備を示す信号を送る必要がありました。この高い基準は、アップグレードが強制される前に圧倒的な支持を得ることを保証し、ネットワークの不安定化リスクを最小限に抑えます。

SegWit の内部動作原理

Segregated Witness の主な革新は、その名前から示唆されています。「Segregated」は分離することを意味し、「Witness」はトランザクションを検証するデジタル署名を指します。従来の Bitcoin トランザクションでは、デジタル署名データがトランザクション データと密接に絡み合い、貴重な 1MB ブロックスペースの大きな部分を占めていました。

ウィットネスデータの分離

SegWit は、ウィットネスデータ(署名)をメインのブロック構造から移動させることでトランザクション形式を再構築しました。このデータは依然として記録され検証されますが、ベースのトランザクションブロックと並行して動作する別個の構造に格納されます。この分離により、古いノードの 1MB 制限を技術的に増やさずに、より多くの容量を解き放つ鍵となりました。

これを視覚化するために、Bitcoin ブロックを表す電車を想像してください。従来のシステムでは、乗客(トランザクションデータ)とその荷物(署名)が同じ車両に詰め込まれていました。電車には運べる体積に厳格な制限がありました。

SegWit は効果的に、荷物専用の特殊な貨車を電車の後部に追加しました。重い荷物を乗客車両から移動させることで、同じメインコンパートメント内で大幅に多くの乗客を運べるようになりました。「荷物」は依然として電車と一緒に旅行しますが、乗客自身に必要なプレミアムスペースを占めなくなりました。

ブロックウェイト対ブロックサイズ

この変更を実装するために、SegWit は「ブロックウェイト」と呼ばれる新しい概念を導入しました。単純なバイト単位での古いブロックサイズ測定は、トランザクションの異なる部分に異なる「ウェイト」を割り当てるシステムに置き換えられました。これにより、ネットワークは重要なトランザクションデータとウィットネスデータを区別できるようになりました。

この新しいシステムでは、ベースのトランザクションデータはフルサイズでカウントされ、ウィットネスデータは割引されます。具体的に、ブロック制限の計算ではウィットネスデータはトランザクションデータよりも大幅に軽く扱われます。この変更により、ブロックサイズ制限は効果的に 1MB から理論上の 4MB の「ウェイトユニット」に増加しました。

このシフトは、ユーザーとウォレットプロバイダーが SegWit アドレスを採用するインセンティブとなりました。新形式を利用したトランザクションは、従来のトランザクションに比べてブロック内の「ウェイト」を少なく消費するため、送信コストが安くなりました。この経済的インセンティブが、エコシステム全体でのアップグレード採用を推進しました。

仮想バイト (vBytes)

ブロックウェイトの導入により、トランザクション手数料の概念も進化しました。手数料は生バイトではなく「仮想バイト」(vBytes) で計算されるようになりました。vByte はトランザクションのウェイトから派生した測定単位です。

ウィットネスデータが割引されるため、同じ生サイズの従来トランザクションよりも SegWit トランザクションの vByte サイズが小さくなります。これにより、同じ手数料レート (バイトあたりのサトシ) で SegWit トランザクションの総手数料が少なくなります。

この効率向上は、SegWit 対応ウォレットに切り替えたユーザーに対して即時でした。これにより、ネットワークはハードフォークに関連する危険なしに実効的にスループットを増加させ、より多くのトランザクションを秒間処理できるようになりました。この最適化は、賢いエンジニアリングが既存のインフラからより多くのパフォーマンスを絞り出せることを証明しました。

トランザクション展性の解決

SegWit の主な機能はスケーリングでしたが、このアップグレードはトランザクション展性として知られるもう一つの重要な技術的欠陥を解決しました。この問題は Bitcoin の開始以来悩みの種であり、先進的な第2層プロトコルの開発の大きな障壁となっていました。

展性とは、ブロックチェーン上で確認される前に第三者がトランザクションの一意の識別子 (TXID) を変更する能力を指します。重要なのは、この変更はトランザクション自体を無効にしたり、送信者、受信者、金額などの基本的な詳細を変更することなく行える点です。

従来のシステムでは、デジタル署名がトランザクションハッシュ (TXID) の計算に含まれていました。しかし、暗号署名は有効でありながら数学的にわずかに異なる方法で表現可能です。攻撃者やリレーノードが署名データをわずかに変更すると、完全に異なる TXID が生成されます。

TXID が変更されると、送信者はトランザクションが失敗したと信じる一方で、受信者(または攻撃者)は変更されたバージョンを確認します。これにより混乱が生じ、未確認トランザクションを連鎖させるのが危険になりました。チェーン内の最初のトランザクションの ID が変更されると、それを参照する後続のトランザクションはすべて無効になります。

SegWit は、TXID を生成するために使用されるトランザクションの部分から署名データを除去することでこれを修正しました。「witness」が分離されたため、署名データの変更はもはやトランザクション ID に影響を与えません。これにより、トランザクション ID は作成された瞬間から不変になりました。

ライトニングネットワークの有効化

トランザクションのmalleability修正が、ライトニングネットワークのきっかけとなりました。ライトニングネットワークは、未確認トランザクションのチェーンを安全に作成する能力に大きく依存するレイヤー2のスケーリングソリューションです。

レイヤー2の基盤

ペイメントチャネルが機能するためには、2者がブロックチェーン上で実質的に共同口座を開設し、その後オフチェーンで署名済みトランザクションをやり取りします。これらのオフチェーントランザクションは、メインブロックチェーンに触れることなくチャネルの残高を更新します。

しかし、これらのオフチェーントランザクションは、初期の「資金調達トランザクション」が確実に固定されていることに依存します。トランザクションのmalleabilityがまだ可能であれば、悪意ある攻撃者が資金調達トランザクションのIDを変更する可能性があります。これにより、両者が合意した後続のオフチェーンロジックがすべて無効化されてしまいます。

トランザクションIDを固定することで、SegWitはこれらのスマートコントラクトに必要な堅固な基盤を提供しました。これにより、ライトニングノードはオフチェーンで署名するトランザクションが、最終的にBitcoinメインネットワーク上で決済される際に有効であることを信頼できるようになりました。

即時決済

malleabilityのリスクが除去されたことで、ライトニングネットワークを安全に展開できるようになりました。これにより、世界中のユーザー間でほぼ即時の支払い決済が可能になりました。SegWitはオンチェーンの容量を控えめに増加させましたが、Lightningの有効化により、事実上無制限のオフチェーンスケーリングの可能性がもたらされました。

ユーザーはメインブロックチェーンに負担をかけずに、数百万回のトランザクションを実行できるようになり、最終結果のみを決済します。SegWitによるオンチェーン効率化とLightningによるオフチェーンスケーリングの組み合わせは、Bitcoinがグローバルなトランザクション量を処理するための主要な戦略を表しています。

活性化のサーガ:BIP 141 と UASF

SegWit の展開は単なる技術的アップデートではなく、非中央集権型ガバナンスにおける歴史的な出来事でした。このプロセスは、Bitcoin エコシステム内のマイナー、開発者、ユーザー間の複雑な力関係を明らかにしました。

提案 (BIP 141)

SegWit アップグレードは、Bitcoin Improvement Proposal 141 として正式に提案されました。スムーズに活性化するため、開発者たちは2週間の難易度エポック内でアップグレード支持をシグナルするブロックの95%という閾値を設定しました。これはネットワークの分裂を防ぐためのものでした。

しかし、このコンセンサスを達成することは困難でした。主要マイニングプールのさまざまな政治的・経済的利益が膠着状態を生みました。一部のマイナーはブロックサイズを直接増加させるハードフォークを好み、他のマイナーはインフラのアップグレードに消極的でした。

数ヶ月にわたり、活性化シグナルは要求される閾値を大幅に下回っていました。アップグレードが無期限に停滞する可能性が浮上し、プロトコルアップグレードにおけるマイナーシグナルへの依存という潜在的な欠陥が浮き彫りになりました。

ユーザー活性化ソフトフォーク (BIP 148)

進展の欠如に苛立ったコミュニティ内で、草の根運動が現れました。このイニシアチブはユーザー活性化ソフトフォーク(UASF)、すなわち BIP 148 として知られています。このコンセプトは革新的でした。マイナーの投票を待つのではなく、ノードの経済的多数派(ユーザー、取引所、企業)がアップグレードを自ら強制するというものです。

UASF 参加者は、一定の日付以降に SegWit 支持をシグナルしないブロックを拒否するバージョンの Bitcoin ソフトウェアを実行しました。これにより、実質的に線引きが行われました。マイナーが SegWit を無視し続けた場合、彼らのブロックはネットワークの相当部分によって拒否され、収益を失うことになります。

ユーザー活性化ソフトフォークの脅威は力のバランスを変えました。マイナーがトランザクションを処理する一方で、ユーザーがプロトコルのルールを定義することを示しました。UASF の経済的圧力に直面したマイナーたちは降伏し、SegWit は2017年8月にロックインされ、活性化されました。

アドレスの種類と互換性

SegWitの有効化後、Bitcoinエコシステムではさまざまなアドレス形式が登場しました。これらの形式を理解することは、SegWitが提供する低手数料と効率の利点を活用したいユーザーにとって不可欠です。

レガシーアドレス

オリジナルのBitcoinアドレス形式はレガシーと呼ばれます。これらのアドレスは通常数字の1で始まります。レガシーアドレスからのトランザクションは、証人データ分離を利用しないためサイズが大きくなります。その結果、トランザクションフィーという点で最も高価になります。

ネストSegWit (P2SH)

スムーズな採用を確保するため、開発者はPay to Script Hash (P2SH)と呼ばれる互換レイヤーを導入しました。これらのアドレスは数字の3で始まります。これにより、送信者のウォレットが新しいネイティブ形式を完全にサポートしていなくても、SegWitトランザクションを送信できるようになりました。

ネストSegWitは中間的な解決策を提供しました。レガシーアドレスに比べて大幅な手数料節約を実現しましたが、完全にネイティブな実装ほどではありません。長い間、多くの取引所とウォレットプロバイダーがシステムを更新する中で、これが標準でした。

ネイティブSegWit (Bech32)

最も効率的な形式はネイティブSegWit、別名Bech32です。これらのアドレスはbc1で始まります。ネイティブSegWitアドレスは大文字小文字を区別しないため、入力エラーのリスクを低減するという点で特徴的です。

より重要なのは、ネイティブSegWitトランザクションはネスト版よりも仮想バイト数が小さいことです。これにより、ユーザーは可能な限り最低の手数料を実現します。エコシステムが成熟するにつれ、ネイティブSegWitはほとんどの最新ウォレットとサービスでデフォルト標準となっています。

アドレスの種類プレフィックス手数料効率互換性
レガシー1...低い全般
ネストSegWit3...中程度高い
ネイティブSegWitbc1...高い最新ウォレット

SegWitの先へ:TaprootとOrdinals

SegWitの成功した実装は、Bitcoinがその核心的な価値提案を損なうことなく複雑なアップグレードを遂行できることを証明しました。この成功は、ネットワークの機能をさらに拡張する後続のイノベーションへの道を開きました。

TaprootとSchnorr署名

2021年11月、BitcoinはTaprootアップグレードを有効化しました。TaprootはSegWitが築いた基盤の上に直接構築されました。それはSchnorr署名を導入し、さらに高い効率性とプライバシーを可能にしました。

SegWitと同様に、Taprootはブロックチェーン上でのデータの保存方法を変えました。それは署名集約を可能にし、複雑なトランザクション内の複数の署名を単一の署名に結合できました。これにより、複雑なスマートコントラクトが通常のトランザクションと区別つかなくなり、プライバシーを向上させつつブロックスペースを節約しました。

SegWitが導入した構造的変更、特にスクリプトバージョン管理システムがなければ、Taprootのようなアップグレードの展開は大幅に難しかったでしょう。SegWitは将来の拡張性に対する明確な道筋を確立しました。

Ordinalsの台頭

最近では、Bitcoin Ordinalsの導入がSegWitインフラを予期せぬ方法で活用しています。Ordinalsはユーザーが画像、テキスト、コードなどの任意のデータを個々のサトシに直接刻印することを可能にします。

これはSegWitがウィットネスデータの「重み」を割引したため可能です。刻印者は、トランザクションのウィットネステフィールドにメインのブロック領域に保存するコストの何分の一かのコストで大量のデータを保存できることに気づきました。一部の人々がスパムと見なして物議を醸していますが、Ordinalsはウィットネスデータスペースの柔軟性を示しました。

この予期せぬユースケースは、SegWitデザインの堅牢性を強調しています。データのための別個の割引レーンを作成することで、このアップグレードは意図せずデジタルアーティファクトのためのキャンバスを生み出し、Bitcoinブロックチェーンのユーティリティをさらに多様化しました。

結論

Segregated Witnessは、Bitcoinネットワークの回復力と適応性の証として位置づけられています。成長を阻害する深刻なボトルネックに直面した際、コミュニティは洗練され、後方互換性があり、前向きな解決策の後ろ盾となり、一丸となりました。トランザクションデータの構造を再考することで、SegWitは高額な手数料からの即時的な緩和をもたらし、Bitcoinに価値を与える分散化を維持しました。

SegWitの遺産は、単純なブロック重量計算を超えて広がっています。それはトランザクションマレアビリティの持続的な脆弱性を解決し、Lightning Networkのようなレイヤー2スケーリングソリューションの可能性を解き放ちました。さらに、ユーザー主導のガバナンスの前例を確立し、経済的多数派がマイニングエンティティの力を効果的に抑制できることを証明しました。

Bitcoinが進化し続ける中、SegWitによって構築された構造は、その運用の中核を成しています。Native SegWitアドレスの効率性から、TaprootやOrdinalsの先進的な機能まで、このアップグレードはブロックチェーン上で可能なことを再定義しました。それは、Bitcoinが創設原則を損なうことなくグローバルな需要に対応してスケールできることを保証しました。

SegWitは、署名をトランザクションデータから分離することでBitcoinを革新し、ブロック容量を効果的に増加させ、将来のスケーリングを可能にする重要なバグを修正しました。