単一チェーン時代は終わりを迎え、スケーラビリティとモジュラー型ブロックチェーン技術スタックの詳細を解説します。
著者:Plaintext Capital
元のタイトル:《スケーラビリティとモジュラー ブロックチェーン スタック》
編纂:Web3er Liu、チェーンキャッチャー
スケーラビリティ、つまり取引量を増やす能力は、すべてのブロックチェーンにとって非常に重要です。スケーラビリティは非常に重要であり、世界中の人々が Web3 にアクセスし、この技術のすべての潜在能力を引き出すためには、毎秒の取引量 (TPS) の増加に対応するソリューションを見つける必要があります。これにより、より迅速で低コストの取引が提供されます。
多くの新しいパブリックチェーンが高い TPS を持っているにもかかわらず、革新の程度は限られており、コストも非常に高いため、従来の金融システムをブロックチェーン上で運用するにはまだ遠い道のりです。たとえば、Layer1 アーキテクチャで最大限に最適化された Solana は、約 2500 (Solana Beach で確認可能) の TPS を実現できます。これは、Visa が主張する毎秒 65,000 件の取引を処理できるという数字よりも数桁低いことが印象的です。
私は 2017 年から暗号通貨業界に入り、その時からほとんどの研究はパフォーマンスのスケーリングに集中してきました。私は Ethereum 2.0 のために働いており、「シャーディング」の開始が最終的にすべてのスケーラビリティのニーズを満たすことを期待していましたが、シャーディング間の通信によって生じるコンポーザビリティの損失を改善することはできませんでした。その後、私の関心は Rollup に移りました。
懸念されるスケーラビリティの問題を考慮して、開発者は Ethereum から新しいスマートコントラクトプラットフォームに移行していますが、これらの新しいプラットフォームへのユーザーの需要が高まるにつれて、ブロックスペースが飽和し、ユーザーエクスペリエンスが再び低下しています(たとえば、Avalanche のガス料金の急騰など)。
これまでのところ、TPS を向上させるための開発方法は主に以下の点に集中しています:
- より高速なコンセンサスアルゴリズム(ノードが取引指示に迅速に合意できるようにする)
- 実行環境の最適化(トランザクションをより迅速に実行する)
- ネットワーク内でのブロックの迅速な伝播
これらの 3 つのポイントは、ほとんどの新しいパブリックチェーンが誇る独自の革新を 99% カバーしています。
いくつかのチームが上記の方法を研究し実践する際に優れた貢献をしたおかげで、これらの革新方法の採用とコードベースの再構築により、多くの高性能なネットワークノードが生まれました(単純に Ethereum のソースコードをフォークしたり構築したりするのではなく)、TPS はほぼ 1 桁向上しました。しかし、これらのプラットフォームがユーザーを拡大し続けるためには、ハードウェアの要求を高めて線形の成長を得る必要があります。もし、スケーラビリティの問題を解決し、分散化に影響を与えないより良いアーキテクチャがあったらどうなるでしょうか?
スケーラビリティ
今日のブロックチェーンプラットフォームは、単一のモジュールと見なすことができます。各ブロックチェーンノードは、ブロックチェーンを構成するすべての部分を実行することに参加しています:実行、コンセンサス、データの可用性。
実行(Execution)は、ブロックに含まれるトランザクションの計算です。簡単に言えば、このプロセスは、ユーザーが Ethereum ネットワーク上で保有するトークンの数を読み取り、送信したトークンの数を減算し、その結果をチェーン上に保存するプロセスです。
コンセンサス(Consensus)の役割は、これらのトランザクションを処理し、順序付けて検証確認することです。コンセンサスアルゴリズムがなければ、一群のノードは取引指示の順序について合意することができず、同じ状態に到達することはできません。
最後に、データの可用性(data availability)は、ブロックがネットワーク上に完全に公開されることを保証するプロセスです。軽量クライアント(低レベルのブロックチェーンノード)が機能するためには、ネットワークは完全なブロックが公開されることを保証する必要があります。これにより、無効なブロックが発生した場合、誠実なノードが詐欺証明(fraud proof)を作成できます。データの可用性は、ブロックチェーンのスケーリングにとって重要です。なぜなら、すべてのノードが線形に可用リソースを増やすことなく、ネットワークが容量を増やすことを可能にするからです。
今日、ブロックチェーンを拡張することは、これら 3 つの部分を同時に拡張することを意味します。
農業革命以来、人類は効率と生産性を向上させるために専門化に依存してきましたが、ソフトウェアも例外ではありません。実際、今日のインターネットプロトコルスタックは、各層が単一の目的にサービスを提供する層で構成されています。全体として、これらは私たちが今日愛してやまないインターネットの基盤です。
これらのモジュール化された層は、より強力な柔軟性と実験的な試みを許可します。たとえば、インターネットプロトコルスイートのトランスポート層では、私たちはオンライン接続のたびにデータパケットをあるコンピュータから別のコンピュータに送信するためにそれを使用します。TCP、UDP、SCTP など、さまざまなプロトコルがあり、開発者はアプリケーションのニーズを最適に満たすためにそれらを選択できます。
同様のパラダイムをブロックチェーンに適用することで、同様のスケーラビリティの利点を提供できます。
モジュラー ブロックチェーン設計への移行
実行層はユーザー向けの層(Rollup と呼ばれる)であり、取引はこの層で実行されます。
決済層(オプション)は、上層のすべての Rollup の集計結果に最終的な確定性を提供し、信頼なしでブリッジを可能にします。
コンセンサス層とデータ可用性層は、取引指示を順序付けて検証確認し、すべてのデータが公開され、アクセス可能であることを保証します。
すべてのノードがすべての取引を実行および検証する必要はなく、他のすべてのノードがブロックチェーンデータが有効であることを証明できるようにすることができます。すべての実行データを保存できる基盤層があれば、取引が有効であることを保証でき(ゼロ知識証明またはゲーム理論メカニズムを通じて)、ネットワーク内のすべての人がそれを知っていることができます。したがって、これらの取引は現在、1 つのノードによってのみ実行されることができます。
このノードが悪意のある行動を取った場合、それは排除され、別のノードがその実行を引き継ぎ、ネットワークは運営を続けることができます。
これは何を意味するのでしょうか?これは、私たちが現在、複数のノードを同時に拡張することから、単一のノードを拡張することに焦点を移したことを意味します。これは、より簡単な工学的偉業です。今日の大規模な Web2 プラットフォームのパフォーマンスが証明しているように、私たちはこの実行カテゴリを拡張する方法をすでに知っています。
したがって、実行層のスケーラビリティは現在問題ではありませんが、注意が必要な点があります。実行層はすべてのデータをコンセンサス層に保存する必要があります。そうしなければ、軽量ノード(リソースの少ないノード)は、実行層内の潜在的な詐欺行為を認識することができません。これは、軽量ノード自体が取引を実行および検証しないためです。
したがって、実行層と同期通信を行うすべてのノードが、ブロック生成ノードのオペレーターが詐欺行為を行っているかどうかを証明できる安価な方法が必要です。幸いなことに、これを実現する方法はいくつかあります。
ソブリン ロールアップ
私たちが知っている Rollups は、スマートコントラクトプラットフォーム(パブリックチェーン)上で決済を行う必要がありますが、スマートコントラクトチェーンは通常、データの可用性と決済作業を処理します。Rollups は、セキュリティを得るためにスマートコントラクトプラットフォーム上で詐欺または有効性の証明を実行する必要があり、そのチェーンの容量と実行性能に制約されます。現在のスマートコントラクトプラットフォームは決済作業を処理する必要があるため、そのスケーラビリティは限られています。
しかし、ソブリン ロールアップのプロセスは、スマートコントラクトプラットフォームの参加を必要としません。代わりに、各取引はデータ可用性層で公開されますが、Rollup 層で決済されます。重要なのは、データ可用性層(DA)は取引の実行と決済を担当せず、これによりスケールを向上させることができます。取引の実行プロセスは Rollup 層で発生し、データは DA 層で利用可能であり、決済は最終的に再び Rollup 層で発生します。Rollup は、Rollup 層のフルノードが DA 層を監視し、詐欺証明を通じて無効なブロックを報告することでセキュリティを維持します。
詐欺証明が誠実なフルノードによって生成されると、それは Rollup 層ネットワーク全体に広がり、詐欺証明を受け取った軽量ノード/フルノードは無効なブロックを直ちに放棄し、無効なブロック生成者を排除します。これにより、ブロック生成者は誠実であり続けることができます。
指定された時間内に軽量ノードが詐欺証明を受け取らなかった場合、それらはそのブロックが有効であると判断できます。
Rollup が取引を混雑する可能性のある決済層に含めることを含まないため、ソブリン ロールアップは、より良い遅延の最終確定状態を提供できます。
中心放射モデルの決済層(オプション)
中心放射モデルでは、(Matthew Di Ferrante の素晴らしい投稿を参照)制限された決済層がデータ可用性層の上にあります。合計で 3 層が存在する可能性があります:典型的な Rollup(実行層)、決済層(ソブリン ロールアップ)、データ可用性層(DA 層)。決済層はブロックチェーンのように機能し、独自のブロック生成者と取引実行機能を持っていますが、その実行機能は特定の種類の取引に制限されており、最適化が容易です。
具体的には、決済層は実行層のブロックデータを保存し、optimistic rollup の詐欺証明を実行するか、zk-rollup の状態差異と有効性証明を保存し、これらの Rollup 間を切り替えることにのみ関心があります。
決済層と同期するだけで、ユーザーは取引実行が有効であるという十分な保証を得ることができます。決済層ノードはその特性により小さなスペースを占有します。なぜなら、実行層で計算を行う重いタスクを負担しないからです。
中心放射モデルの素晴らしい点は、信頼なしで多くの Rollup/実行層がブリッジを行うことができることです。決済層が最上層で実行されるすべての取引にセキュリティを提供するため、再編成が発生した場合、すべての Rollup 実行層も再編成され、ブリッジに固有のセキュリティリスクが排除されます。最近 Vitalik が述べたように、このモデルの共有セキュリティは、マルチチェーンの世界の断片化されたセキュリティよりも優れています。実際、Eth2.0 はこのハブとして機能し、決済とデータの可用性を提供します。
ただし、このモデルは Celestia や Polygon Avail のような専門の DA 層でも実現できます。具体的には、Celestia(データ可用性)と Evmos(決済/ハブ)間の協力は、ハブモデルの興味深い例です。
両者の比較
これらの 2 つのモデルには、異なるトレードオフと妥協があります。中心放射モデルでは、実行層は基盤となる決済層の制約を受けますが、他の Rollup 実行層との信頼なしの相互運用性の恩恵を受けます。たとえば、Arbitrum と Optimism は、Ethereum を彼らの決済およびデータ可用性層として使用しており、ハブのように機能します。Ethereum が再編成される場合、彼らの間でブリッジされた資金の量に関係なく、これらの 2 つの Rollup 実行層も Ethereum とともに再編成されるため、2 つの実行層が資金を失うリスクはありません。
ソブリン ロールアップの状況では、データ可用性 DA 層の上に直接実行層を構築し、詐欺処理をチェーン外に移動させることで、遅延性、アップグレード性、その他の面でより強い柔軟性を持つことができます。しかし、実行層間の相互運用性は得られません。
データ可用性層の拡張
実行層が公開する必要のあるデータ量は、実行される取引の数に線形に増加します。したがって、スケーラブルなデータ層が必要です。
実際、専門のデータ層を拡張する方が、単一のブロックチェーンを拡張するよりもはるかに簡単です。
エラーレート(この技術により、ディスクが深刻に傷ついている場合でも CD を再生できます)とブロックデータのデータ可用性サンプリング(N 個のランダムな小部分を要求する)の組み合わせを使用することで、各ノードは確率的にすべてのブロックデータが利用可能であることを保証し、ネットワークに公開できます。(Mustafa Al-Bassam の投稿を参照し、データ可用性の問題と解決策について詳しく探求しています)
同時に、これらのノードは統合され、各軽量ノードが独自に持つデータサンプルを組み合わせてデータの全貌を再構築できます。
このサンプリングの巧妙さは、必要なサンプルサイズが DA 層のブロックサイズに対して対数的であり(つまり、非常にスケーラブル)、ユーザーがネットワークにより多くのノードを追加するにつれて、ネットワークのデータ容量も増加することです。
これがもたらす主な洞察は、私たちが「安全な」データ可用性を大幅に拡張できるということです。まるで BitTorrent のようなファイル共有ネットワークのように。
まとめ
数年の研究と不確実性を経て、ブロックチェーンのスケーラビリティの問題はついに理論的に解決されました。これがどれほど重要なことか、理由を述べることができません。私はこれについて眠れないほどです。
これは、すべてのコンセンサス、データ、取引実行作業を処理する単一のブロックチェーンの時代が終わりを迎えることを意味します。
次世代のプロトコルは、より専門化され、今日私たちが言うブロックチェーンの異なる層に対応し、実験的な革新に大きな柔軟性を提供します。
私たちは、Ethereum ベースの Rollup プロジェクトまたはその派生フォークが、Celestia、Eth2.0、またはその他の専門 DA 層を使用した決済層にデプロイされる狂騒を迎えます。決済層、DA 層、実行層は、それぞれ異なる方法で最適化されます。
私は、今日の多くのスマートコントラクトプラットフォームがこの新しいスタックの各層になると予想しており、多くの新しいプロジェクトが今後登場するでしょう。特定の分野(たとえば、仮想マシン、コンセンサスアルゴリズム、ネットワーク)に特別な専門知識を持つチームには、大きな機会があるかもしれません。
明るくスケーラブルな未来に向かって。