著者: アレック・チェン
出典: ボルト・キャピタル
「モジュール式ブロックチェーン」というアイデアは、スケーラビリティとブロックチェーン インフラストラクチャに関するカテゴリーを定義する物語になりつつあります。
理論は単純です。レイヤー 1 ブロックチェーンのコア コンポーネントを分解することで、単一レイヤーで 100 倍の改善を達成でき、その結果、よりスケーラブルで構成可能な分散システムが実現します。モジュール式ブロックチェーンについて詳しく説明する前に、既存のブロックチェーン アーキテクチャと、ブロックチェーンの現在のアプリケーションが直面している制限について理解する必要があります。

出典: イーサリアム財団
ブロックチェーンとは何ですか?
ブロックチェーンの基本を簡単に復習しましょう。ブロックチェーン内のブロックは、ブロック ヘッダーとそれに関連付けられたトランザクション データという 2 つのコンポーネントで構成されます。ブロックは「フルノード」によって検証され、ブロックデータ全体を解析および計算して、トランザクションが有効であること、およびユーザーがアカウント残高を超えるコインを送信していないことを確認します。
ブロックチェーンを構成する機能的な「レイヤー」の概要を簡単に説明しましょう。
トランザクションと状態の変更は最初にここで処理されます。ユーザーは通常、トランザクションの署名、スマート コントラクトの展開、資産の転送など、この層を通じてブロックチェーンと対話します。
解決レイヤーでは、ロールアップの実行が検証され、紛争が解決されます。この層はチェーン全体には存在せず、モジュラー スタックのオプションの部分です。米国の裁判所システムと同様に、解決層は紛争の最終的な仲裁を提供する米国最高裁判所と考えることができます。
ブロックチェーンのコンセンサス層は、ブロック コンテンツをダウンロードして実行し、状態遷移の有効性についてコンセンサスに達するフル ノードのネットワークを通じて順序付けとファイナリティを提供します。
状態遷移が有効であることを検証するために必要なデータは、このレイヤーで公開および保存する必要があります。悪意のあるブロック作成者がトランザクション データを差し控える攻撃が発生した場合、これを簡単に検証できるはずです。データ可用性レイヤーは、ブロックチェーンのスケーラビリティのトリレンマにおける主なボトルネックですが、その理由については後ほど説明します。
たとえば、イーサリアムはモノリシックなブロックチェーンです。これは、ベース層が上記のすべてのコンポーネントを処理することを意味します。

出典: リサーチゲート
ブロックチェーンは現在、「ブロックチェーンのスケーラビリティのトリレンマ」として知られる問題に直面しています。分散システムに関するブリューワーの定理と同様に、ブロックチェーン アーキテクチャは、他の 2 つの強力な保証を提供するために、分散化、セキュリティ、またはスケーラビリティを犠牲にすることがよくあります。
セキュリティとは、ネットワークが攻撃を受けたときに機能する能力を指します。この原則はブロックチェーンの中核であり、決して侵害されるべきではないため、実際のトレードオフは通常、スケーラビリティと分散化の間になります。
ブロックチェーン システムのコンテキストで分散化を定義してみましょう。ブロックチェーンが分散化されるためには、ハードウェア要件が参加の制約になってはならず、検証ネットワークのリソース要件は低くなければなりません。
スケーラビリティは、ブロックチェーンのスループットを検証コストで割ったものです。つまり、検証リソース要件を低く抑えながらトランザクション量の増加に対処できるブロックチェーンの能力です。スループットを向上させるには主に 2 つの方法があります。まず、ブロック サイズを増やすことができるため、ブロックに含めることができるトランザクションの容量が増加します。残念ながら、ブロック サイズが大きくなると、より高い計算出力の要求に応じてフル ノードを実行するためのハードウェア要件が増加するため、ネットワークの集中化につながります。特にモノリシックブロックチェーンは、チェーンの検証コストの増加に伴うスループットの増加により、分散性が低下するため、この問題に悩まされています。 2 番目に、オンチェーン計算の検証を可能にする証明を活用しながら、実行をオフチェーンに移動してメイン ネットワーク上のノードから計算の負担を移すことができます。
ブロックチェーンは、モジュラー アーキテクチャを通じて、関心事の分離の原則を通じてブロックチェーンのスケーラビリティのトリレンマを解決し始める可能性を秘めています。ブロックチェーンは、モジュール式の実行レイヤーとデータ可用性レイヤーを通じて、計算コストと検証コストの相関関係を解消することでネットワークをトラストレスで分散化する特性を維持しながら、スループットを拡張できます。フォールトプルーフ、オプティミスティックロールアップを導入することでこれをどのように実現できるか、またそれらがデータ可用性の問題にどのように関連するかを見てみましょう。
誤った証拠と楽観的なロールアップ
V God は記事「Endgame」の中で、集中化と分散化の間の考えられる妥協策は、スケーラビリティの目的から、将来のブロック生成はプールと専用プロデューサーに集中する一方、重要なこととして、ブロック検証 (プロデューサーを正直に保つため) が維持されることであると述べました。分散型。これは、ブロックチェーン ノードをフル ノードとライト クライアントに分割することで実現できます。このモデルには、ブロックの検証 (計算が正しいことを確認する) とブロックの可用性 (すべてのデータが公開されていることを確認する) という 2 つの問題が関連付けられています。まず、検証をブロックするアプリケーションを調べてみましょう。
フルノードはブロック内の各トランザクションをダウンロード、計算、検証しますが、ライトクライアントはブロックヘッダーのみをダウンロードし、トランザクションが有効であると想定します。ライト クライアントは、トランザクション検証のためにフル ノードによって生成されたエラー証明に依存します。これにより、ライト クライアントが無効なトランザクションを自律的に識別できるようになり、フル ノードとほぼ同じセキュリティ保証で動作できるようになります。デフォルトでは、ライト クライアントは状態遷移が有効であると想定し、無効の証明を受け取ることで状態の有効性に異議を唱えることができます。ノードの状態がエラー証明によって疑問視されると、完全なノードは関連するトランザクションを再実行して合意に達するため、不正なノードの利益が軽減されます。
出典: https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/
ライトクライアントとエラープルーフモデルは、少なくとも 1 つの正直なフルノードが存在し、エラープルーフを送信するチェーンが完全な状態にあるという正直な少数派の仮定の下では安全です。このモデルは、すべてのシャードで N を維持しながら、バリデーターが 1 つのシャードでフルノードを実行し、他のシャードでライト クライアントを実行することを選択できるため、シャード化されたブロックチェーン (マージされたイーサリアム アーキテクチャなど) に特に適しています。セキュリティ保証は 3 つのうち 1 つです。
オプティミスティック ロールアップは、このモデルを活用して、ブロックチェーンの実行層をシーケンサーに安全に抽象化します。シーケンサーは、複数のトランザクションをバンドルして実行し、圧縮データを定期的に親チェーンに送り返す強力なコンピューターです。この計算をオフチェーン (親チェーンに対して) に移動すると、トランザクションのスループットが 10 ~ 100 倍増加します。これらのオフチェーン シーケンサーが善意であるとどうやって信頼できるのでしょうか?シーケンサーを実行するためにオペレーターが保持する必要があるボンドとトークンを導入しました。シーケンサーはトランザクション データを親チェーンに送り返すため、バリデーター (親チェーンとそのロールアップの間で状態の不一致をチェックするノード) を使用してエラーの証明を発行し、その後、悪意のあるシーケンサーのリスクを軽減できます。 Optimistic Rollup はエラープルーフを利用するため、ネットワーク内に信頼できるバリデーターが存在すると仮定すると安全です。この偽証明の使用は、オプティミスティック ロールアップが登場する場所です。解決レイヤーによって処理される紛争中に有効であることが証明されるまで、状態遷移は有効であると仮定します。
これが、信頼を最小限に抑えながらスケールする方法です。つまり、計算の検証を分散させながら、計算を一元化できるようになります。
データの可用性の問題
偽証明は分散型ブロック検証に対処するための効果的なツールですが、フルノードはブロックの可用性に依存して偽証明を生成します。悪意のあるブロックプロデューサーは、ブロックヘッダーのみを公開し、対応するデータの一部またはすべてを保持することを選択する可能性があります。これにより、フルノードが無効なトランザクションを検証および識別することができなくなり、誤った証拠が生成されます。このタイプの攻撃は、フル ノードでは簡単にブロック全体をダウンロードでき、不整合に気づいた場合やデータが保持された場合に無効なチェーンを残すことができるため、簡単です。ただし、ライト クライアントは、フル ノードからフォークされた、無効な可能性があるチェーンのブロック ヘッダーを追跡し続けます。 (軽量クライアントはブロック全体をダウンロードせず、デフォルトで状態遷移が有効であると想定することに注意してください。)
これは、エラー証明に関連するデータ可用性の問題の本質です。ライト クライアントは、検証前にすべてのトランザクション データがブロックで公開されていることを確認する必要があるため、フル ノードとライト クライアントは自動的にブロック ヘッダーに同意する必要があります。
解決
振り出しに戻ったようです。ライト クライアントは、ライト クライアントの本来の意図に違反しないこと、および集中ハードウェアを必要とせず、ブロック全体をダウンロードすることなく、ブロック内のすべてのトランザクション データを解放することをどのように保証するのでしょうか?
これを実現する 1 つの方法は、イレイジャー コーディングと呼ばれる数学的プリミティブを使用することです。ブロック内のバイトを複製することにより、データの一定の割合が失われた場合でも、消去コードはブロック全体を再構築できます。この手法は、データ可用性サンプリングを実行するために使用され、ライト クライアントがブロックの一部をランダムにサンプリングすることによって、ブロック全体が公開されたことを確率的に判断できるようになります。これにより、ライト クライアントは、特定のブロックを有効なものとして受け入れ、対応するブロック ヘッダーに従う前に、すべてのトランザクション データが特定のブロックに含まれていることを確認できます。ただし、この手法にはいくつかの注意点があります。データ可用性のサンプリングには待ち時間が長く、正直な少数派の仮定と同様に、安全性の保証は、ブロックの可用性を確率的に判断できるようにサンプリングを実行するのに十分な軽量クライアントがあるかどうかに依存します。


データ可用性サンプリングの簡略化されたモデル
有効性証明とゼロナレッジロールアップ
分散型ブロック検証のもう 1 つの解決策は、状態遷移にトランザクション データが必要ないことです。対照的に、正当性の証明は虚偽の証明よりも悲観的です。紛争プロセスを排除することにより、有効性証明によりすべての状態遷移の原子性が保証されますが、各状態遷移は証明される必要があります。これは、新しいゼロ知識技術 SNARK および STARK を利用して行われます。エラー証明と比較して、妥当性証明はより強力な状態保証と引き換えにより多くの計算強度を必要とするため、スケーラビリティに影響します。
ゼロ知識証明は、偽証明の代わりに有効性証明を使用した状態検証の証明です。これらは、シーケンサー/バリデーター モデルを介して、オプティミスティック ロールアップに似た計算および検証モデルに従います (ただし、スキーマはエラーの証明ではなく妥当性の証明です)。シーケンサーが計算を処理し、検証者が対応する証明を生成します。たとえば、Starknet は立ち上げ時に集中型シーケンサーを使用していましたが、ロードマップ上でオープン シーケンサーとバリデーターを徐々に分散化してきました。ゼロ知識ロールアップ (ZK ロールアップ) の計算自体は、シーケンサーでのオフチェーン実行により制御されません。ただし、これらの計算の証明はオンチェーンで検証する必要があるため、ファイナリティが証明生成のボトルネックのままです。
ライトクライアントを使用した状態検証の手法は、偽証明アーキテクチャにのみ適用できることに注意してください。状態遷移は妥当性証明によって有効であることが保証されるため、ノードがブロックを検証するためにトランザクション データは必要なくなります。ただし、有効性証明のためのデータ可用性の問題は依然として残り、さらに微妙です。状態は保証されていますが、ノードが更新して状態遷移をエンド ユーザーに提供できるように、有効性証明のためのトランザクション データは依然として必要です。したがって、有効性証明を利用するロールアップは依然としてデータの可用性の問題にさらされます。
私たちはどこで成長しましたか
V 神の議論を思い出してください。すべての道は集中的なブロック生成と分散的なブロック検証につながります。ブロック ジェネレーター ハードウェアの進歩により、ロールアップ スループットを飛躍的に向上させることができますが、実際のスケーラビリティのボトルネックは、ブロックの検証ではなくブロックの可用性です。これは重要な洞察につながります。実行層をどれほど強力にしても、どのような証明モデルを使用しても、最終的にはデータの可用性によってスループットが制限されるということです。
現在、データの可用性を確保する方法の 1 つは、ブロックチェーン データをオンチェーンで公開することです。ロールアップ実装では、イーサリアム メインネットをデータ可用性レイヤーとして利用し、すべてのロールアップ ブロックをイーサリアム上で定期的に公開します。この一時的なソリューションの主な問題は、イーサリアムの現在のアーキテクチャが、データ可用性のサンプリングを実行するライト クライアントではなく、ブロック全体をダウンロードすることでデータの可用性を保証するフル ノードに依存していることです。追加のスループットを得るためにブロック サイズを増やすと、完全なノード検証データの可用性や集中型ネットワークに対するハードウェア要件が必然的に増加します。
将来的には、イーサリアムは、フルノードとライトクライアントで構成されるデータ可用性サンプリングを利用するシャーディングアーキテクチャに移行し、それによってネットワークセキュリティを確保する予定です。 (注: イーサリアムのシャーディングは技術的にエラープルーフではなく KZG コミットメントを使用しますが、データの可用性の問題が関連しています。) ただし、これは問題の一部を解決するだけです。ロールアップ アーキテクチャが直面するもう 1 つの根本的な問題は、ロールアップ ブロックがコールデータとしてダンプされるために使用されることです。イーサリアムメインネット。これは、calldata を大規模に使用するには高価であり、ロールアップ トランザクションのバッチ サイズに関係なく、バイトあたり 16 ガスのコストがかかり、L2 ユーザーの妨げになるため、後続の問題を引き起こします。

Validium は、データ可用性の保証を維持しながらスケーラビリティとスループットを向上させるもう 1 つの方法です。(生データに比べて) 粒度の高いトランザクション データをデータ可用性委員会、PoS ガーディアン、またはデータ可用性レイヤーに送信できます。データの可用性を Ethereum calldata からオフチェーン ソリューションに移行することで、Validium はロールアップ使用量の増加に伴う固定バイト ガス コストを回避します。
また、ロールアップ アーキテクチャは、ブロックチェーン自体が実行や計算を提供する必要はなく、ブロックを注文し、それらのブロックのデータの可用性を保証する機能のみを提供する必要があるという独自の洞察ももたらします。これは、初のモジュール式ブロックチェーン ネットワークである Celestia の背後にある設計原則です。 Celestia は、以前は LazyLedger として知られていましたが、実行と検証を他のモジュラー レイヤーに任せ、トランザクションの順序付けとデータ可用性のサンプリングによるデータ可用性の保証のためのデータ可用性レイヤーを提供することだけに焦点を当てた「遅延ブロックチェーン」としてスタートしました。集中型のブロック生成と分散型ブロック検証は Celestia の設計の中核前提です。携帯電話でもライト クライアントとして参加でき、ネットワーク セキュリティを確保できます。データ可用性サンプリングの性質により、ロールアップをデータ可用性レイヤーとして Celestia に挿入すると、Celestia ライト ノードの数が増加するにつれて、同じ確率的保証を維持しながら、より大きなブロック サイズ (別名スループット) をサポートできます。
現在、他のソリューションには StarkEx、zkPorter、Polygon Avail が含まれています。 StarkEx は現在、本番環境で使用されている唯一の Validium です。いずれにせよ、ほとんどの妥当性には、データ可用性のソースが信頼できる委員会、保護者、または一般的なデータ可用性レイヤーを通じて管理されているかどうかに関係なく、そのソースに対する信頼に関する暗黙の仮定が含まれています。この信頼は、悪意のあるオペレーターがユーザーの資金の引き出しを阻止できることも示しています。
現在の進行
セレスチウムのアーキテクチャ
モジュラーブロックチェーンアーキテクチャは、現在暗号通貨分野で激しく議論されているトピックです。 Celestium のモジュラー ブロックチェーン アーキテクチャに対するビジョンは、セキュリティ上の懸念と、断片化ソリューションとデータ可用性レイヤーに関連する追加の信頼仮定により、大きな挫折に見舞われました。
その一方で、ブロックチェーン スタックのあらゆる側面で大きな進歩が見られました。Fuel Labs は実行層で並列化された仮想マシンを開発しており、一方 Optimism チームはシャーディング、インセンティブ付き検証、分散型シーケンサーに取り組んでいます。ハイブリッド オプティミスティック ソリューションとゼロ知識ソリューションも開発中です。
イーサリアムの合併後の開発ロードマップには、ソリューション層とデータ可用性層を統合する計画が含まれています。具体的には、Danksharding はイーサリアムのロードマップにおける有望な開発であり、イーサリアムの L1 データ シャードとブロック スペースを「データ可用性エンジン」に変換および最適化し、L2 ロールアップで低コスト、高スループットのトランザクションを実現できるようにすることを目的としています。
Celestia の意見にとらわれないアーキテクチャにより、幅広い実行層の実装でそれをデータ可用性層として使用することもでき、WASM、Starknet、FuelVM などの代替の非 EVM 仮想マシンの基盤を築きます。このさまざまな実行ソリューションでの共有データの可用性により、開発者は Celestia クラスター間に信頼を最小限に抑えたブリッジを作成し、イーサリアムと同様に、またそのロールアップ間で可能な限りクロスチェーンおよびクロスエコシステムの構成可能性と相互運用性を実現できます。
Starkware が先駆者となった Volitions は、オンチェーンとオフチェーンのデータ可用性のジレンマに対する革新的なソリューションを導入します。ユーザーと開発者は、Validium を使用してトランザクション データをオフチェーンに送信するか、トランザクション データをオンチェーンに保持するかを選択できます。独自のメリットとデメリット。

さらに、レイヤー 2 ソリューションの使用と普及により、レイヤー 2、つまりフラクタル スケーリングが開かれます。フラクタル拡張機能を使用すると、アプリケーション固有のロールアップをレイヤー 2 で展開できるようになります。開発者は、データの可用性からプライバシーに至るまで、インフラストラクチャを完全に制御してアプリケーションを展開できるようになります。また、レイヤー 3 にデプロイすると、Cosmos などのアプリケーション固有のソブリン チェーンのような高価なベース チェーンではなく、すべてのレイヤー 3 アプリケーションに対してレイヤー 2 の相互運用性が解除されます。
オンプレミス サーバーからクラウド サーバーへの Web インフラストラクチャの進化と同様に、分散型 Web は、モノリシックなブロックチェーンとサイロ化されたコンセンサス レイヤーから、モジュラー型のアプリケーション固有の共有コンセンサス レイヤーのチェーンへと進化しています。最終的にどのソリューションやアプリケーションが普及するかに関係なく、明らかなことが 1 つあります。モジュラーの未来では、エンド ユーザーが勝者になるということです。