ビットコインSegWitの実装:ブロックチェーン開発者のための重要な教訓

あなたはビットコインまたはブロックチェーンの開発者ですか?おそらく、スケーラビリティ、ネットワーク遅延、トランザクション料金、および同様の問題を検討しており、パブリックブロックチェーンを改善しようとしています。 Bitcoin SegWitの実装には重要な教訓があります。この記事では、このプロジェクトについて説明します。ただし、最初に分離された証人(SegWit)とは何かについて説明します。.

ビットコインの採用とユーザーが直面する課題

ビットコインは、仲介されていない安全なネットワークで人々の手に力を与え、高い人気を誇っています。しかし、あなたはまだそれであなたの朝のお茶を買っていません、あなたは?

人気があるにもかかわらず、次の課題のために、日々の取引はまだビットコインにありません。

  1. ビットコインネットワークのすべてのノードは、すべてのブロックとトランザクションを保存し、トランザクションの検証に参加する必要があります。ビットコインネットワークは、最も遅いノードと同じくらい速くなることができます。ビットコインは、すべてのノードの参加を義務付ける「プルーフオブワーク」(POW)コンセンサスアルゴリズムを使用します。 POWアルゴリズムの詳細については、「PoW Vs. PoS:2つのブロックチェーンコンセンサスアルゴリズムの比較」.
  2. POWアルゴリズムでは、ビットコインマイナーがますます複雑になる暗号パズルを解く必要があるため、大量の計算能力を使用します。これにより、エネルギーを大量に消費するだけでなく、ネットワークの負荷が増加します。影響はネットワーク遅延です.
  3. ビットコインユーザーは、トランザクションが高速に実行されることを望んでいます。ただし、ネットワークの遅延とスケーラビリティの欠如により、速度が低下します。ビットコインブロックは限られた数のトランザクションしか処理できず、トランザクションに優先順位を付けるために、ユーザーは高いマイナー料金を支払います。これらの料金は増え続けました.

Bitcoin SegWitは取引手数料の問題を大幅に解決しましたが、別の問題が原因で発生しました。これについては後で説明します。.

ビットコインSegWitの起源:ビットコインの可鍛性

ビットコインには、別の潜在的に深刻な問題もありました。ビットコインはデータ暗号化を使用します。これは最初に平文をスクランブルされた「暗号文」に変換します。秘密鍵を持っている人だけが、秘密鍵を使用して暗号文を復号化して元の平文に戻すことができます.

順応性は、サイバー攻撃者が暗号文を別の暗号文に変換できるようにする暗号化技術のバグです。その後、ハッカーは変更された暗号文を完全に異なるが関連する平文に復号化できます。たとえば、支払いトランザクションで受取人の住所と支払い金額を変更できます。ビットコイン暗号化にはこの可鍛性のバグがありました.

「分離された証人(コンセンサスレイヤー)」、つまりSegWitの「ビットコイン改善提案」(BIP)141は、この可鍛性のバグを解決することを目的としていました.

BitcoinSegWitの実装が順応性の問題をどのように解決したか

ビットコイン開発者のPeterWiulleは、2015年12月にSegWitの提案を出しました。ソリューションは次のように機能しました。

  1. それは「証人」と呼ばれる別の構造を作成しました。これにはトランザクションを認証するためのデータがありますが、トランザクションの詳細はありません.
  2. 新しいウィットネス構造は、残りのトランザクションデータとは別にビットコインブロックにコミットされるため、「分離されたウィットネス」という名前が付けられています。.
  3. ハッカーがトランザクションデータを入手し、順応性のバグを悪用しようとしたとします。 SegWitを使用してデジタル署名部分にアクセスすることはできなくなりました.
  4. したがって、暗号文を別のものに変更できたとしても、デジタル署名なしでは彼らの努力は役に立ちません。.

これは、ビットコインSegWit提案が可鍛性のバグを解決するために計画した方法です。ただし、提案にはさらに多くの変更が含まれており、これらはビットコインのブロックサイズの効果的な増加に貢献しました。読み進めて、方法を見つけてください.

ビットコインSegWitはビットコインのブロックサイズを効果的に増加させます

ビットコインのブロックサイズは1メガバイト(MB)です。また、署名情報はトランザクションデータの大部分を構成していたため、ブロックには少数のトランザクションしか含めることができませんでした.

SegWitの提案では、「重量単位」(WU)と呼ばれる別のパラメーターが作成されました。ブロックのトランザクションデータ部分の各バイトは、4つのWUに対応します。ただし、「Witness」構造の各バイトは1WUに相当します。.

この提案では、ビットコインブロックの最大ウェイトを400万WUと定義しています。簡単な計算を行うと、SegWitを使用した新しいブロックのサイズが1MBを超えることが効果的にわかります。これにより、マイナーはブロックにより多くのトランザクションを含めることができました.

各ブロックのスペースがより効果的になるため、トランザクションをブロックに含めるための激しい競争が減ります。これにより、取引手数料が削減されます!

ビットコインコミュニティが1MBのブロックサイズ制限を明示的に無効にすることを決定した場合、ハードフォークを実装する必要がありました。ただし、暗号コミュニティは、ネットワークとエコシステム全体に不安定さをもたらすため、ハードフォークを好まないことがよくあります.

Bitcoin SegWit実装の場合、1 MBのブロックサイズ制限のルールはそのままでしたが、新しいWUパラメーターはそれをバイパスしました。したがって、SegWitを実装するためのハードフォークはありませんでした.

ビットコインSegWitの長所と短所、および採用

SegWitがどのように可鍛性のバグを解決し、ビットコインの取引手数料を削減したかを見てきました。ただし、追加の利点があります。 「ライトニングネットワーク」の例を考えてみましょう.

ライトニングネットワークは、小規模で頻繁な支払いトランザクションを可能にするオフチェーンソリューションです。これはビットコインブロックチェーン上で実行され、そこですべてのトランザクションを記録するわけではありません。このソリューションは、ビットコインブロックチェーン内のトランザクションの定期的な要約のみを記録します.

システムはビットコインブロックチェーン内のすべての中間トランザクションをコミットするわけではないため、ユーザーは中間トランザクションが安全であるという確信を必要としていました。展性のバグはその自信を許しません。ビットコインSegWitの実装は、ライトニングネットワークの開発にも役立ちました.

SegWitには多くの利点がありますが、高度なビットコインスケーリングソリューションと見なすべきではありません。これは自動化されたスケーラビリティの測定ではなく、ビットコインのブロックサイズ制限の1回限りのバイパスでした。さらに、ブロックサイズを効果的に増やすと、将来的に低速のノードがビットコインブロックをロードするのに時間がかかる可能性があります.

ビットコインSegWitは、ビットコインコミュニティでその長所と短所について多くの議論が行われた後、2017年8月に実装されました。ただし、採用は完全にはほど遠いため、統計を表示できます ここに.

ビットコインまたはブロックチェーンの開発者として、ビットコインSegWitの実装から重要な教訓を見つけることができます。改善提案を作成するときは、長期的なスケーラビリティ、セキュリティ、および分散化の側面を考慮してください.