ソフトチェーンは双方向のペグとユースケースの潜在的な余地をもたらしますが、セキュリティコストがないわけではありません

By Bitcoin 雑誌 - 1 年前 - 閲覧時間: 6 分

ソフトチェーンは双方向のペグとユースケースの潜在的な余地をもたらしますが、セキュリティコストがないわけではありません

ソフトチェーンは、コンセンサス メカニズムとより深いレベルで相互作用するサイドチェーンの実装であり、利点とリスクをもたらす可能性があります。

これは、独学の教育者である忍による意見編集です。 Bitcoin 宇宙と技術志向 Bitcoin ポッドキャストのホスト。

この次の記事では、さまざまなサイドチェーン実装設計について説明します。 ソフトチェーン. これはもう一つ ルーベンソムセンのサイドチェーンメカ​​ニズムの提案。 これはスペースチェーンとは大きく異なります。 前回の記事で取り上げたデザイン。 それには特定の変更が必要です Bitcoin コアプロトコルはサイドチェーンを実装するために特別に構造化されており、新たな検証コストが課せられます。 Bitcoin フルノードであり、資金を管理するためのフェデレーションに依存しない双方向ペッグメカニズムをサポートしています。

ビルディングブロック

アイデアの核心は、Somsen による以前の提案に基づいています。 PoW詐欺証明、ウォレットの簡易決済検証 (SPV) のセキュリティを向上させるメカニズム。 このアイデアは、ブロックチェーンに関する単純な観察に基づいています。無効なブロックが生成された場合、存在する誠実なマイナーは無効なブロックに基づいて構築することを拒否し、最終的には有効なブロックをマイニングするため、ブロックチェーンにフォークが発生する可能性があります。 無効なブロックが生成され、誠実なマイナーによってフォークが作成されないということは、本質的にネットワークのコンセンサスプロセスに完全な破綻があったことを意味するため、それが起こる統計的な確率は無視できるほど小さいです。 したがって、フォークの発生は、「ここで何かが起こった可能性があるので、これを確認する必要があります」という一種の信号とみなすことができます。 クライアントは、これらのブロックを実際にダウンロードして何が起こっているかを確認する必要があるという一種のアラームとしてこのようなフォークを使用できます。

ただし、これには根本的な問題があります。ブロックを検証するには、UTXO を設定する必要があります。 UTXO セットを作成するには、チェーン内の以前のすべてのブロックを検証して構築する必要があります。 では、これが SPV メカニズムとしてどのように機能するのでしょうか。 その答えは、UTXO の設定されたコミットメントです。

すべてのブロックは、UTXO セット、つまりすべてのブロックのデータベースに対して検証される必要があります。 bitcoin まだ使用されていないものが存在し、現在これは、ブロックチェーンを最初からスキャンするときに各ノードが構築して保存する単なるローカルデータベースです。 UTXO セットのコミットメントは、UTXO セットを取得し、そのマークル ツリーを構築し、理想的にはそのハッシュを各ブロック内にコミットします。 これにより、追加データ (最後の UTXO セット コミットメント内にあったことを証明するすべてのトランザクションの入力ごとのマークル ブランチ) を含むブロックを受信し、そのように検証することができます。 システムが最初からこのようなコミットメント スキームを使用し、実際に多数のユーザーがチェーンを完全に検証して使用した場合、フル ノードとほぼ同等のセキュリティ保証が提供されることになります。 チェーン分割が発生するたびに、関係するすべてのブロックをダウンロードして、フォローしているチェーンが有効であることを確認できます。 分割の両側が有効な場合でも、最も長い方が勝ちます。 ただし、そのうちの XNUMX つが無効な場合、これによりすぐに検出できます。

双方向ペグ

ソフトチェーン設計の一環として、メインチェーン ノードは各ソフトチェーンのブロック ヘッダーをダウンロードして検証する必要があり、チェーン分割の場合は UTXO セットのコミットメントを使用してそれらのブロックをダウンロードして検証する必要があります。 これは、双方向ペグを可能にするペグアウト メカニズムの基礎を形成します。 コインをサイドチェーンに移行するには、ユーザーはコインを特定のソフトチェーンに割り当てるメインチェーン トランザクションを作成し、サイドチェーンでコインを要求することが確認されたときにそのトランザクションをポイントします。 逆に、サイドチェーンからペグアウトしようとする場合は、その逆のことを行います。 ここでPoWの不正証明が登場します。 ペグアウト中のアイデアは、サイドチェーン上の引き出しトランザクションを参照するトランザクションをメインチェーン上に作成することです。 これらのコインは、長い確認期間(たとえば XNUMX 年)が経過するまで使用可能にはならず、サイドチェーン上の出金トランザクションが再編成されるか無効であることが判明した場合は、「ソフトチェーンにロックされた」ままになります。 後者は、チェーン分割の際に、メインチェーン ノードが分割の両側のすべてのブロックをダウンロードし、UTXO セットのコミットメントを使用して検証するため、検出されます。

ペグアウトの確認ウィンドウが長いのは、正直なマイナーのごく一部でも、チェーンを分割し、UTXO セットのコミットメントでその時点からすべての検証をトリガーする単一の有効なブロックを生成するのに十分な時間を確保できるようにするためです。 これにより、メインチェーン ノードは、メインチェーンで引き出しが確認される前に、不正なサイドチェーン ペグアウトをキャッチできるため、サイドチェーン全体を検証する必要なく、そのトランザクションを無効にできます。これは、ブロックサイズの増加と同じです。

セキュリティ パラメータとリスク

この設計は、特定の変数に基づくセキュリティのレベルと、そのようなサイドチェーンがマイナーとどのように相互作用するかに関して、いくつかの疑問を引き起こします. まず第一に、ソフトチェーンはブロックの最小難易度要件で展開する必要があります。これにより、サイドチェーンのこの最小ブロックを下回って調整するのが難しくなる代わりにハッシュレートが低すぎる場合、単純に見つけるのに時間がかかります。つまり、ブロック間隔が増加。 これは、メインチェーン ノードがこの設計の一部として実行する必要がある PoW 不正防止検証のために必要です。 ソフトチェーンの難易度が低すぎると、マイナーが定期的に悪意を持ってソフトチェーンをフォークし、追加データの量を増やすことで、メインチェーン ノードに対してサービス拒否 (DoS) 攻撃を効果的に実行することが容易になります。検証する必要があります。

マージマイニングはこの問題の解決策です。 すべての場合、 Bitcoin マイナーはサイドチェーン上のブロックもマイニングしたため、ソフトチェーン上でチェーンスプリットを作成することによるメインチェーンに対する DoS 攻撃の問題はほぼ問題なく解決されました。 ソフトチェーンを分割するにはメインチェーンと同じくらい多くの作業が必要となり、メインチェーンの検証に必要なデータ量を増加させる恣意的かつ低コストの攻撃を防ぐことができます。 ただし、DoS 攻撃の問題を解決すると、マイナーの検証コストが増加するという別の問題が生じます。

マイナーがソフトチェーンもマイニングする場合は、マイニングしているブロックが有効であることを確認するためにノードを実行する必要があります。 そうでない場合、孤立し、無効なブロックから手数料収入を失うリスクがあります。 イーサリアム クローン チェーンや大規模なブロック チェーンなど、検証にコストがかかる多くのソフトチェーンがアクティブ化された場合、マイニングがより集中化され、参加コストが高くなる可能性があります。マイナーは、無効なブロック上に構築されていないことを確認するためにチェーンを検証する必要があります。お金を失うことになるので、これは実際にはオプションではありません。 検証のコストを高めると価値が損なわれる マイニングの分散化を最大化する取り組み.

最大の問題は、ソフトチェーンのコンセンサス バグが実際にメインチェーン自体のコンセンサス分割を引き起こすリスクです。 メインチェーン側が有効になろうとしているときに、サイドチェーン側の有効なペグアウト トランザクションを無効にする主要なサイドチェーンの再編成のリスクがあります。 メインチェーン ノードもソフトチェーン ヘッダーに従っていることに注意してください。 サイドチェーン ペグアウトがメインチェーンで検証されているときに、ネットワークのさまざまな部分がソフトチェーン スプリットのさまざまな側にある場合、これはメインチェーンのスプリットにつながる可能性があります。 ソフトチェーンの非決定論的コンセンサスバグも、メインチェーンの分割を引き起こす可能性があります。つまり、一部のノードがペグアウトを無効と見なし、他のノードはそれを有効と見なした場合です。

このメインチェーンのコンセンサスとのより深いつながりにより、このサイドチェーンの設計はいくぶんリスクが高くなり、実行すべきではない可能性があります。 少なくとも、ソフトチェーンを自由にスピンアップできるようにする単一のフォークを展開するのではなく、個々のフォークで一度に XNUMX つずつアクティブ化する必要があります。 この設計では、チェーンスプリットによってメインチェーン ノードがより多くのデータを検証するようになるという事実により、多くのソフトチェーンを一度にオンにする機能がメインチェーンの攻撃ベクトルになります。

ソフトチェーンはスペースチェーンよりもメインチェーンのコンセンサス層に深く関与するため、多くのリスクが伴いますが、ネイティブの双方向ペグが可能になるため、さまざまなユースケースに対応できる潜在的な余地が広がります。 次に、ドライブチェーンについて説明し、その後、サイドチェーン全般についての最後の考察を行う予定です。

忍によるゲスト投稿です。 表明された意見は完全に独自のものであり、必ずしもBTCIncまたは Bitcoin マガジン。

元のソース: Bitcoin 雑誌