ビットコイン技術:分離された証人(SegWit)。 SegWit(SegWit)は、トランザクションの可鍛性からの保護を提供し、ブロック容量を増加させるために実装されたプロトコルアップグレードです。
SegWit は、入力のリストから目撃者を分離します。 証人には、トランザクションの有効性をチェックするために必要なデータが含まれていますが、トランザクションの影響を判断するために必要なデータは含まれていません。
SegWitの仕組みを本当に理解するために、ブロックウェイトとソフトフォークという2つの異なる概念に焦点を当てます。
ビットコインのブロックサイズとフォーク
ブロックサイズについて正確に説明するには、ブロックサイズの測定方法を理解することが重要です。 ブロックサイズは、シリアライズされたブロックのバイト単位のサイズ(ブロックヘッダー、トランザクションの数、およびトランザクション自体)です。
コンセンサスルールの一環として、Bitcoinネットワーク上のすべてのノードは現在、ブロックが1,000,000バイト未満であることを確認しています。 1,000,000バイトを超えるブロックは、コンセンサスルールとして、これらのノードによって拒否されます。
レガシーノード (アップグレードしないノード) は 1,000,000 バイトを超えるブロックを拒否するため、ソフトフォークはこのルールを維持する必要があります。 しかし、どのようにブロックサイズを増やし、このルールを維持することができますか? ソフトフォークを介した大きなブロックも可能ですか?
重要な洞察は、トランザクションの大部分である scriptSig (公開鍵) は、基本的にレガシーノードに送信されず、トランザクションが有効としてカウントされるということです。 これはソフトフォークとして行うことができ、より多くのトランザクションを可能にするという事実は、エンジニアリングの突破口です。
SegWit 以外のトランザクションは、scriptSigをトランザクションの途中に置きます。 SegWitトランザクションは、最後にscriptSigを置きます。 SegWit トランザクションの scriptSig 部分を「監視データ」と呼びます。 SegWit トランザクションがレガシーノードに送信されると、監視データが削除されます。 重要なのは、これらの「取り除かれた」トランザクションがレガシーノード上の有効なトランザクションであり、SegWit 以外のトランザクションよりもスペースを節約できることです。 したがって、1,000,000 バイトの制限を超えることなく、レガシーノードに送信されるブロックに、より多くのトランザクションを収めることができます。
SegWit ノードは、代替ネットワークメッセージを使用して、監視データを含む SegWit トランザクションとブロックを受信します。 監視データを含む SegWit ブロックは、1,000,000 バイトを超えることができます。 前述のように、レガシーノードは同じブロックとトランザクションを受け取りますが、監視データは取り除かれます。 これはSegWitをソフトフォークにする方法です。つまり、コンセンサスに参加するためにソフトウェアを更新することは必須ではありません。
セグウィットとブロック重量
SegWit 評論家の明らかな問題は、上限が必要であるという事実です。そうしないと、ブロックサイズが無限にエスカレートする可能性があります。これはノードのフォールトトレランスの大きな問題です。
SegWitブロックを制限するために、SegWitの作成者はサイズ以外の異なる制限を考え出しました。 SegWitブロックは、ブロック重量と呼ばれるものによって制限されています。 ブロック重量はSegWitで導入された新しい概念であり、トランザクションごとに計算されます。 本質的に、各トランザクションには「重み」があります。
監視データがゼロのトランザクションは、監視データを持つトランザクションよりも軽くなります。 SegWit トランザクションは監視データなしでレガシーノードに送信されるため、これにより常に 1,000,000 バイト以下のレガシーノードに通信されるブロックが発生します。
理解する重要な概念は、SegWitトランザクションが証人データによってどれくらいのトランザクションが取り込まれるかに応じて多くの異なる重みを持つことができるということです。これにより、トランザクションの作成者は、トランザクションの可鍛性を扱う余地が増えます。
Disclaimer: The views and opinions expressed by the author should not be considered as financial advice. We do not give advice on financial products.