セグウィットとは何ですか?

セグウィットとは何ですか?

一般に SegWit と呼ばれる Segregated Witness は、2017 年に導入された Bitcoin Core プロトコルへの極めて重要なアップグレードです。SegWit は、Bitcoin のスケーリングの課題と特定の脆弱性に対処する手段として誕生し、多くの重要な改善をもたらしました。このプロトコルの主な成果の 1 つは、トランザクションの展性の問題を修正し、ビットコインのブロック サイズ制限を拡大することで、各ブロック内により多くのトランザクションを含めることを容易にしたことです。さらに、このアップグレードにより、ビットコイン トランザクション用の 2 つの革新的なスクリプト タイプが導入され、 Bech32として知られる新しいエンコード アプローチが導入されました。

SegWit のアクティベーションに至るまでの道のりには課題がなかったわけではなく、ビットコイン コミュニティ内でかなりの議論を引き起こしました。このような論争は、ビットコインの本質的な分散型の性質、つまり世界中の参加者間の合意に依存するエコシステムを強調しました。集中型システムは権威ある法令を通じて変更を実装できますが、ビットコインではプロトコルの変更には団体合意が必要です。 SegWit をめぐる論争にもかかわらず、ビットコインは回復力と適応性を実証し、マイナーやコミュニティの著名人からの不当な影響に抵抗する能力を強調しました。

SegWit はどのように機能しますか?

Segregated Witness は一般に SegWit として知られており、ビットコイン トランザクション プロトコルの革新的なアップデートを表します。その中心的な目的は、トランザクションの効率を向上させ、非意図的なトランザクションの順応性を解決することです。 SegWit は、トランザクションを 2 つのコンポーネントに分割し、1 つ目は送信者と受信者のウォレット アドレスを含み、2 つ目はトランザクションの署名または証人データを保持することで、ブロックの重みを軽減します。この分離により、より多くのトランザクションが単一のビットコイン ブロック内に収まるようになり、スループットの向上とトランザクション手数料の削減が促進されます。

ブロックチェーンを 2 つの異なるチェーンに分割するハード フォークとは異なり、SegWit はソフト フォークとして実装されました。これは、SegWit が有効なユーザーと無効なユーザーの両方からのブロックを受け入れる統合されたビットコイン ブロックチェーンが残ったことを意味します。署名データをプライマリ トランザクション ブロックから再配置しながら検証機能を維持することにより、ビットコインの完全性が維持され、標準の 1 メガバイト ブロック内でより多くのトランザクションが可能になります。その結果、より高速かつより安全なビットコイン ネットワークが実現します。

SegWit を補完するのが Bech32 アドレス標準です。これらの「ネイティブ SegWit」アドレスは、「 bc1 」プレフィックスによって識別でき、「1」で始まる従来のレガシー アドレスとは対照的です。 SegWit と Bech32 標準を採用することで、ユーザーは取引手数料の削減の恩恵を受けることができます。レガシー アドレスに保存されたビットコインは取引されるまでそこに残りますが、取引の一部である場合、これらのアドレスからの変更は SegWit アドレスに移行することに注意することが重要です。時間が経つにつれて、ユーザーが取引に参加し、SegWit アドレスに資金を受け取るにつれて、ユーザーのビットコイン残高はこれらのより効率的なアドレスに有機的に移行していきます。

SegWit はトランザクションの展性をどのように解決しますか?

一般に SegWit として知られる Segregated Witness は、ビットコイン プロトコルの重要なアップグレードであり、主にトランザクションの展性の問題に対処するために設計されています。この問題は、ブロックチェーン上で確認される前にトランザクション データが変更される可能性を指します。

トランザクションの順応性を詳しく調べる

ジョンがスティーブンに 10 BTC を借りているシナリオを想像してください。スティーブンは悪意を持って、ネットワークが取引を確認する前にジョンの証人データを変更します。トランザクションの内容に変更はありませんが、トランザクション ID が変更されます。操作されたトランザクションが確認されると、元のトランザクションはキャンセルされます。スティーブンが 10 BTC を受け取っていないと偽ると、ジョンは BTC を再送して、気づかないうちに詐欺の被害者になる可能性があります。このような操作はネットワークからは見えないため、防ぐのが困難です。

SegWit による問題の解決策

SegWit の主な機能は、監視データをトランザクション データから分離し、トランザクション ID を変更するためにデータが変更されないようにすることです。 SegWit は、この証人データをメインのブロックチェーンとは別に保存するサイドチェーンを開発することで、そのような悪意のある改ざんの可能性を排除します。

さらに、SegWit は下位互換性を維持しています。つまり、SegWit プロトコルで実行されているノードは引き続き古いノードと対話できます。この種のアップグレードは、下位互換性がなくブロックチェーンを分割する可能性があるハード フォークとは異なり、ソフト フォークです。 SegWit のユニークな点は、サイドチェーン上のすべての証人データを暗号化する一方で、ルート コードはメイン ブロックチェーン上に残ることです。

SegWit とスケーラビリティ: 将来に向けたマッチング

SegWit は、トランザクションの順応性に対処するだけでなく、スケーラビリティにも大きなメリットをもたらします。スケーラビリティとは、速度を犠牲にすることなくトランザクションの急増に対処するネットワークの能力です。多くのブロックチェーン ネットワークは拡大するにつれて速度が低下しますが、SegWit はビットコインの効率を高めます。

コンセンサスプロセスは、多くの暗号通貨におけるスケーラビリティの課題の根本原因です。トランザクションは、ブロックチェーンに追加される前に、ビットコイン ノードの半分以上によって検証される必要があります。ノードの数が増えると、合意に達するまでに時間がかかります。しかし、SegWit はこの懸念を軽減します。以前は、目撃データがビットコイン ブロックのスペースの約 65% を消費していました。プライマリ ブロックチェーンから証人データをオフロードする SegWit のアプローチは、トランザクションのためのより多くの余地を提供し、ビットコインのブロックチェーンを拡大することなくネットワークの処理能力を最適化します。基本的に、SegWit はブロックチェーンを合理化し、より効率的になります。

SegWit には欠点はありますか?

SegWit (Segregated Witness) はビットコインの進化と密接に関係しており、その有効性と意図についてさまざまな視点をもたらします。

SegWit の設計の核心は、プライマリ チェーンを参照として使用し、メイン ブロックチェーンから特定のトランザクション データを選択的に保存することで、ブロック容量を最適化することです。このアプローチは、元のビットコイン設計に固有のスケーラビリティの問題を軽減するために開発されました。批評家は、データのオフロードはブロックチェーンの完全性を損なうと主張し、これが本質的に欠陥のあるシステムの回避策であることを示唆しています。

SegWit に対するこの懐疑により、コミュニティの派閥が分かれ、ハード フォークが開始され、2017 年にビットコイン キャッシュが誕生しました。本質的に、ビットコイン キャッシュは、SegWit 実装前のオリジナルのビットコイン モデルを反映しています。スケーラビリティの問題に対するそのソリューションは、ブロック サイズを拡大し、すべてのトランザクション データがオンチェーンに残るようにすることに重点を置いています。このアプローチは、SegWit を多層ブロックチェーン システムの基盤とみなすビットコイン コア開発者の哲学とはまったく対照的です。

ビットコインの進化とビットコイン キャッシュの台頭は、分散型ブロックチェーン ネットワークを最適に拡張し維持する方法に関する多様な視点を例示しています。他にもさまざまな暗号通貨やプロトコルが登場し、それぞれが新しいソリューションやイノベーションをもたらしています。 SegWit は依然としてビットコインの開発者コミュニティにとって重要なマイルストーンであると同時に、ブロックチェーン テクノロジーのより広範で進化し続ける状況と、固有の課題を解決するための多様なアプローチも表しています。

SegWit はライトニング ネットワークを可能にします

SegWit によって可能になった最も画期的な進歩の 1 つは、ビットコインのスケーラビリティの課題に対処するために設計された第 2 層ソリューションであるライトニング ネットワークの統合でした。ライトニング ネットワークは、当事者間にオフチェーンの支払いチャネルを作成することで、トランザクション速度の高速化と手数料の削減を約束します。この革新的なアプローチにより、メインのビットコイン ブロックチェーンの外部で多数のトランザクションを処理することが可能になり、最終的な口座残高のみがオンチェーンで記録されます。その結果、より効率的で合理化されたシステムが実現し、大量のトランザクションを短時間で処理できるようになります。

ただし、SegWit を有効にしないとライトニング ネットワークの可能性を最大限に発揮することはできません。これは主に、ライトニング ネットワークの基盤が未確認のビットコイン トランザクションに大きく依存しているためです。ビットコインネットワークの初期状態では、これらのトランザクションは「トランザクション展性」と呼ばれるタイプの攻撃に対して脆弱でした。基本的に、攻撃者はトランザクションが確認される前にトランザクションの一意の ID を変更し、不一致や二重支払いの可能性が生じる可能性があります。

SegWit を有効にすることで、ビットコイン コミュニティはこのトランザクションの展性の問題に対処しました。そうすることで、ネットワークの防御を強化しただけでなく、ライトニング ネットワークを安全に展開するための道も開かれました。トランザクションの順応性のリスクがなければ、ライトニング ネットワークはスムーズに動作し、ユーザーがより高速、セキュリティ、コスト効率の高いトランザクションを実行できるようになります。

SegWitのブロックサイズの増加

SegWit はソフト フォークに分類されていますが、ビットコインの中核となるコンセンサス ルールの 1 つに重大な変更をもたらしました。この変更は、下位互換性を維持する方法で実装され、各ブロック内のトランザクションの容量を増やすことを目的としていました。

SegWit が登場する前は、各ブロックには最大 1MB のデータを保持するという制限があり、ブロックが最大容量まで満たされた場合、約1650 のトランザクションに相当しました。ただし、SegWit は、ブロック コンテンツに対する主な制約としてブロック サイズに代わるブロック重みの概念を導入しました。現在、フルロードされたブロックには2700近くのトランザクションが格納されています。

この違いは注目に値します。SegWit が導入される前は、各ブロックのサイズは 1MB (100 万バイトのトランザクション データに相当) に制限されていました。

対照的に、ブロック重量では、重量単位に依存する、より微妙な測定システムが使用されます。このシステムでは、トランザクションの非監視データの 1 バイトは 4 重量単位に相当しますが、監視データの 1 バイトは 1 重量単位に相当します。ブロックの上限が 400 万重量単位に設定されている場合、SegWit 以外のトランザクションのみで満たされたブロックは依然として以前の 100 万バイトの制限に従います。

この革新的な測定方法により、ブロック サイズの増分がソフト フォークの原理と一致することが保証されます。さらに、ビットコインマイナーとユーザーの両方に、SegWit を導入する経済的動機を与えます。 SegWit を使用して取引するユーザーは、Witness データが占めるブロック重量制限の割合が小さいため、取引手数料の削減の恩恵を受けることができます。同時に、SegWit トランザクションを処理するマイナーは、ブロックにさらに多くのトランザクションを含める機会が得られ、手数料収入の増加につながります。

SegWit の新しいスクリプト タイプ

ビットコインの世界では、スクリプト タイプは、「スクリプト」と呼ばれる独自のスクリプト言語を介してブロックチェーン上でビットコインを取引するための個別の方法を表します。 SegWit の出現により、Witness フィールドの機能を活用するために、Pay-to-Witness-Pubkey-Hash (P2WPKH) と Pay-to-Witness-Script-Hash (P2WSH) という 2 つの新しいスクリプト タイプが導入されました。

重要な洞察: SegWit 時代より前に存在していた P2PKH や P2SH などのスクリプト タイプは、「レガシー スクリプト タイプ」と呼ばれます。

Pay-to-Witness-PubKey-Hash (P2WPKH)

SegWit が組み込まれる前は、最も主に利用されていたスクリプトは、ビットコインを公開鍵のハッシュに効果的に固定するメカニズムである Pay-to-Pubkey-Hash (P2PKH) でした。 SegWit の革新である P2WPKH は、微妙な違いはありますが P2PKH の機能を反映しています。 P2WPKH 出力を使用するシナリオでは、重要なコンポーネント (署名と公開キー) は Witness に安全に保管されます。一方、ScriptSig はそのまま残ります。この戦略的な動きは、トランザクション ID の潜在的な展性を回避することを目的としています。

Pay-to-Witness-Script-Hash (P2WSH)

P2PKH に続いて、Pay-to-Script-Hash (P2SH) が著名なレガシー スクリプト タイプとして注目を集めました。これにより、ユーザーは redeemScript と呼ばれる独自の任意のスクリプトのハッシュにビットコインをディスパッチできるようになります。この redeemScript を備えており、規定の基準を満たしている人は誰でも、このビットコインを取り戻すことができます。

初期の P2SH は主にマルチシグ トランザクションに対応し、裸のマルチシグなどの対応するものと比較して、強化されたスペース効率と裁量性の両方を提供しました。

SegWit の Pay-to-Witness-Script-Hash (P2WSH) を入力します。その手法は P2SH と密接に共鳴します。 P2WSH 出力は、必要な署名と公開キーとともに Witness Script (SegWit バージョンの redeemScript) を提示するとロックが解除されます。 P2WPKH のアプローチを反映して、P2WSH 入力では空の ScriptSig フィールドが必要となり、重要な署名と公開キーを含む Script Witness が監視領域に追いやられます。

ラップされた SegWit

ビットコインと対話する多数のウォレット、アプリ、サービスを考慮すると、ビットコインのプロトコルに新しいスクリプト タイプを導入することは簡単な作業ではありません。移行をスムーズにし、SegWit の段階的な採用を促進するために、「ラップされた SegWit」と呼ばれる仲介手段が概念化されました。

本質的に、ラップされた SegWit は従来の P2SH スクリプトのバリアントとして機能します。 P2WPKH または P2WSH のネイティブ SegWit スクリプトをシームレスに統合し、P2SH スクリプトの redeemScript の役割にキャストします。その結果、ラップされた SegWit スクリプトは P2SH-P2WPKH または P2SH-P2WSH として分類されます。

このような仕組みにより、SegWit 用に更新されていないシステムでも、SegWit アドレスにビットコインを転送できることが保証されます。これらのラップされた SegWit トランザクションの受益者は、SegWit 入力を通じてビットコインを利用できるようになり、手数料節約の可能性があります。

Plisio では以下のサービスも提供しています。

2 クリックで暗号化請求書を作成 and 暗号通貨の寄付を受け入れる

12 統合

6 最も人気のあるプログラミング言語のライブラリ

19 暗号通貨と 12 ブロックチェーン

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.