セグリゲーテッド・ウィットネス(SegWit)とは?仕組みと意義を徹底解説
セグリゲーテッド・ウィットネス(SegWit)は、2017年にBitcoinに導入されたソフトフォークによるプロトコルアップグレードです。トランザクションの署名データ(ウィットネス)をトランザクション本体から切り離し、別の領域に格納する仕組みで、署名がトランザクションサイズの約60%を占めていたことから、この分離によってブロック容量が実効的に2〜4倍に拡大されます。同時にトランザクション展性(マリアビリティ)バグを解消し、ライトニングネットワークやTaprootアップグレードの基盤を提供しました。95%以上のマイナーの支持を経て2017年8月23日に有効化されました。
セグリゲーテッド・ウィットネス(Segregated Witness)、通称 SegWit は、2017年8月23日にBitcoinのメインネットで有効化されたソフトフォークによるプロトコルアップグレードです。その核心は「署名データ(ウィットネス)をトランザクションの主要部分から切り離す」というシンプルなアイデアです。署名はトランザクションサイズの約60%を占めているため、これを別領域に移動するだけでブロック内に収まるトランザクション数が増加し、長年の課題だったトランザクション展性(マリアビリティ)バグも同時に解決されます。さらに、SegWitの展性修正はライトニングネットワークや2021年のTaprootアップグレードへの橋渡しとなり、Bitcoinのスケーリングロードマップにおいて今なお中心的な役割を果たしています。
なぜSegWitが必要だったのか
2016年から2017年にかけて、Bitcoinネットワークは深刻な渋滞に直面していました。当時のブロックサイズ上限は厳格な1MBであり、ユーザー数の増加とともにメモリプール(未確認トランザクションの待機列)が膨張し、確認待ち時間は数時間に及ぶこともありました。手数料も急騰し、少額決済はほぼ現実的でなくなっていました。
コミュニティ内では「ブロックサイズを単純に拡大すればいい」という意見もありましたが、それはハードフォークを必要とし、旧バージョンのノードとの後方互換性を失うリスクがありました。ソフトフォークとハードフォークの違いについてはソフトフォーク vs ハードフォーク完全ガイドで詳しく解説しています。Bitcoin CoreのエンジニアであるPieter Wuille氏が2016年10月に提案したSegWitは、ハードフォークなしにスループットを改善できるエレガントな解決策でした。
SegWitの技術的な仕組み
Bitcoinの各トランザクションには大きく分けて2種類のスクリプトが含まれます。
- scriptSig:コインのロックを解除するための署名データ(「ウィットネス」)
- scriptPubKey:受取人の公開鍵に紐づいたロック条件
レガシートランザクションでは、両者が同一ブロック内に混在し、ともにトランザクションID(TXID)のハッシュ計算に使われていました。これが「展性」問題の根本原因です――署名を微妙に変えるだけでTXIDが変わってしまうため、未確認トランザクションの追跡が困難になっていました。
SegWitはscriptSig(ウィットネス)をTXIDの計算対象から除外し、別の「ウィットネス領域」に格納します。これにより:
- TXIDが安定:署名を変えてもTXIDは変わらない → 展性バグ解消
- ブロック容量の実質拡大:ウィットネスデータには1/4の重みしか課せられない → 実効的に最大約4MBのデータを格納可能
- 旧ノードとの互換性維持:旧ノードはウィットネス領域を「知らない」だけで、トランザクション自体は有効と見なす
ブロック重量(Block Weight)と仮想バイト(vByte)
SegWitはバイト単位の上限を廃止し、「ブロック重量」という新しい測定単位を導入しました。
- 通常のトランザクションデータ:1バイト = 4ウェイト
- ウィットネスデータ:1バイト = 1ウェイト(75%割引)
- ブロック全体の上限:400万ウェイトユニット
仮想バイト(vByte)は `ウェイト ÷ 4` で計算され、手数料の計算単位として使われます。
レガシーvsSegWit 比較表
| 項目 | レガシー(P2PKH/P2SH) | SegWit(P2WPKH/P2WSH) |
|---|---|---|
| 署名の格納場所 | トランザクション本体(scriptSig) | 別領域(ウィットネス) |
| ブロック容量の上限 | 1MB(厳格) | 最大約4MB相当(実効値は通常1.5〜2MB) |
| トランザクション展性 | 修正不可(バグあり) | 修正済み |
| マルチシグハッシュ強度 | 160ビット(P2SH) | 256ビットSHA-256(P2WSH) |
| SigHashスケーリング | 二乗オーダー(大型TXでO(n²)) | 線形(O(n)) |
| ライトニングネットワーク | 非対応 | 対応 |
| アドレス形式 | `1...`(P2PKH)/ `3...`(P2SH) | `bc1q...`(bech32) |
| 手数料効率 | 基準 | 約30〜45%削減 |
具体的な手数料計算例
実際の数字でSegWitの節約効果を確認しましょう。
シナリオ:1入力・2出力のシンプルなBitcoin送金トランザクション
レガシーP2PKHの場合
- トランザクションサイズ:約225バイト
- すべてのバイトが4ウェイト → 合計 900ウェイト = 225 vByte
- 手数料レート20 sats/vByte を適用:225 × 20 = 4,500 sats
ネイティブSegWit(P2WPKH)の場合
- 同等のトランザクション:ウィットネスデータ約107バイト+通常データ約68バイト
- 通常データ:68 × 4 = 272ウェイト
- ウィットネスデータ:107 × 1 = 107ウェイト
- 合計 379ウェイト = 約95 vByte
- 手数料レート20 sats/vByte を適用:95 × 20 = 1,900 sats
結果:手数料が約58%削減(4,500 sats → 1,900 sats)
ポイント:P2SH-wrapped SegWit(`3...`アドレス)は中間的な節約効果(約30%削減)があります。最大の節約はネイティブbech32アドレス(`bc1q...`)を使用した場合です。
SegWitが開いた扉:ライトニングネットワークとTaproot
ライトニングネットワークの前提条件
レイヤー2ソリューションであるライトニングネットワークは、「ペイメントチャネル」と呼ばれる未確認トランザクションの連鎖を基盤とします。展性バグが存在する環境では、チャネルを開設した後に相手方がTXIDを改ざんできてしまい、資金管理が不安定になります。SegWitによる展性修正がなければ、ライトニングネットワークの安全な設計は原理的に不可能でした。
Taprootへの橋渡し
2021年11月に有効化されたTaprootアップグレード(BIP 340〜342)は、SegWitのバージョニング仕組み(witnessバージョン番号)を拡張する形で実装されています。SegWitがなければTaprootも存在しません。
採用状況(2024〜2025年時点)
- Bitcoin全トランザクションに占めるSegWit比率:約85〜90%(Blockchain.com・mempool.spaceデータ)
- ネイティブbech32(`bc1q`)の比率:全トランザクションの約60%超
- 主要取引所・ウォレット(Binance、Coinbase、Ledger、Trezorなど)はいずれもデフォルトでSegWitアドレスを生成
SegWitのリスクと落とし穴
技術的に優れたアップグレードですが、いくつかの注意点があります。
古いウォレット・サービスとの互換性
ごく一部の古いウォレットやサービスは、ネイティブbech32(`bc1q...`)アドレスへの送金に対応していません。送金前に受取側がSegWitアドレスをサポートしているか確認することが重要です。対応していない場合は旧来の`1...`または`3...`アドレスを使用しましょう。
アドレス形式の混乱
Bitcoinには現在3種類のアドレス形式が並存しています:
- `1...` :レガシーP2PKH(最も高コスト)
- `3...` :P2SH-wrapped SegWit(中程度のコスト)
- `bc1q...` :ネイティブP2WPKH(最も低コスト)
誤った形式に送金しても資金は失われませんが、不必要に高い手数料を払う可能性があります。
SegWitはスケーリングの「完全解」ではない
SegWitはブロック容量を実効的に2〜4倍に引き上げましたが、Bitcoinを「Visaと同等の処理速度」にする魔法ではありません。高スループットの決済は依然としてライトニングネットワーク等のレイヤー2ソリューションに委ねられています。
SegWitの恩恵は自動適用されない
手数料削減の恩恵を受けるには、ウォレットが実際にSegWitアドレスからコインを送受信している必要があります。古いアドレスに残高がある場合、そこから送金するトランザクションはレガシー手数料が適用されます。
SigHashの二乗問題(旧バージョンの遺産)
レガシートランザクションでは、入力数が増えるにつれてSigHashの計算量が二乗的に増加するため、大型トランザクションの検証がネットワーク全体に負荷をかける潜在的な脆弱性がありました。SegWitはSigHashを線形スケーリングに改善しましたが、まだレガシーアドレスを使い続けているユーザーはこの問題の影響を受け続けています。
COINOTAGの視点:SegWitが示すBitcoinの進化哲学
SegWitは「一つのアップグレード」として括られがちですが、実際には複数の問題を同時に解決した多目的な変更でした。ブロック容量の拡大、展性修正、マルチシグセキュリティの強化、SigHash線形化――これらがすべて後方互換性を保ちながら一度に実現されています。
これはBitcoinの開発哲学を体現しています:急進的な変更よりも、保守的かつ段階的なソフトフォークを優先する。SegWitの活性化には95%のマイナーサポートが必要とされ、当時は「それほどの合意が得られるのか」と懐疑的な声もありました。しかし最終的にはその閾値を達成し、Bitcoinエコシステム全体が前進しました。
SegWitを「過去の話」として片付けるのは早計です。現在のBitcoinトランザクションの約85〜90%がSegWitベースであり、ライトニングネットワークの急速な普及もSegWitの展性修正なしには成立しませんでした。TaprootがSegWitのバージョニングを土台にしていることを考えると、将来のBitcoinプロトコル改善もSegWitという礎の上に積み上げられていくことになります。
ユーザーにとっての実践的な結論はシンプルです:ネイティブbech32(`bc1q`)アドレスを使用するウォレットを選ぶことで、手数料を最大化に削減できます。これはSegWitが提供する最も直接的かつ即座に実感できる恩恵です。
まとめ
セグリゲーテッド・ウィットネス(SegWit)は、Bitcoinプロトコルにおける最も影響力のあるアップグレードの一つです。署名データをトランザクション本体から切り離すというシンプルなアイデアが、ブロック容量拡大・展性修正・マルチシグセキュリティ強化・線形SigHashという4つの改善を同時に実現しました。2017年8月23日の活性化から現在に至るまで、SegWitはBitcoinスケーリングの基盤として静かに、しかし確実にエコシステムを支え続けています。Bitcoinマイニングの仕組みについてさらに深く理解したい方はBitcoinマイニング完全解説もご覧ください。