著者:Avi Zurlo ソース:nil 翻訳者:Good Oba、Golden Finance
Rollups の登場以来、ブロックチェーンのスケーリングはモジュール型かモノリシック型かという議論が中心となってきた。当初、この二分法はブロックチェーンのスケーラビリティを推論する上で有用なメンタルモデルでしたが、両陣営ともそれを超えています。
今日、モジュール型対全体型は、スケーラビリティのメンタルモデルに不必要な制限を課しています。
では、代替案は何でしょうか?
本稿では、水平対垂直のスケーリングが常にブロックチェーンのスケーラビリティの基礎となるフレームワークであったことを示し、水平対垂直を採用することがいかに優れたスケーリングソリューションにつながるかを説明します。
Modular チェーンは、ブロックチェーンのコア機能を異なるレイヤーに分割します。
モノリシックチェーンは、すべてのコア機能を相互接続された1つのレイヤーに統合します。
「レイヤー」は「マシン」に相当すると考えることができます。モノリシックチェーンには、すべてのタスクを実行する単一のバリデータノードがありますが、モジュラーチェーンには複数(2~3個)のバリデータノードがあります。モジュラーチェーンには、異なるタスクを実行する複数(2-3)のフルノードがある。
たとえば、Rollupには通常、実行用のフルRollupノードと決済+データアベイラビリティ(DA)用のフルEtherノードの2つの運用ノードがあります。validiumでは、実行用のフルRollupノード、決済用のフルEtherノード、DA用の代替データアベイラビリティ層フルノードの3つの運用ノードを活用することができます。ノードです。
モジュール性は、ブロックチェーンのタスクを少なくとも2つのフルノードに分割します。そうすることで、モジュール型ブロックチェーンは、各ブロックを構築する際に複数のマシンの計算能力を利用することができます。
これは水平スケーリングの一形態です 。
モジュラリティは水平スケーラビリティの一形態であるため、ブロックチェーンのスケーリングを考える上で有用です。
一方、モノリシック陣営のほとんどは、ソフトウェアの最適化、並列VMの実装、データパイプライン、より高速なネットワーキング・プロトコル、そして(最も顕著なのは)より強力なハードウェアによって拡張することを選択してきました。基本的に、モノリシック・チェーンは、1つのフル・ノードから可能な限り多くの計算能力を引き出そうとします。
これは垂直スケーリングの一形態です 。
批評家たちは、このアプローチは中央集権的になりがちだと言います。スケーリングするために個々のノードの容量を増やすことに頼れば、必然的に基礎となるハードウェアの物理的な限界にぶつかり、さらにスケーリングするために必要なハードウェアを増やさざるを得なくなります。
しかし、すべてのホリスティックチェーンが垂直スケーリングだけに頼っているわけではないので、この批判は見当違いです。
例えば、Nearはシャーデッドネットワークアーキテクチャ上に構築されたホリスティックL1ブロックチェーンです。これは、ニアホールノードがすべてのタスク(すなわち、実行、決済、データの可用性)に責任を持つことを意味し、 しかし、 ニアグローブの状態のごく一部にしか責任を持ちません。このように、ニアはタスクではなく状態に基づいて作業を分割することで、複数のマシンのパワーを活用する(モジュラーチェーンのように)。
モノリシックチェーンもモジュラーチェーンも、実装するスケーリング技術に制限がないことがわかります。どちらも水平方向や垂直方向に拡大縮小できます。
さらに、モジュラー型かホリスティック型かという議論は、常に水平スケーリングか垂直スケーリングかという枠組みに根ざしている。厳密に技術的な見地から言えば、モジュラーはその設計に内在する水平方向のスケーリングに有利であり、モノリシックは垂直方向のスケーリングに有利である。
モジュラー・チェーンの立ち上げに成功した今、さらなるスケーリングの優位性は、もはや「よりモジュラーであること」ではありません。今注目されているのは、チェーンが水平または垂直スケーリング技術をどのように利用できるかということです。
水平対垂直のメンタルモデルを使うことで、各チェーンがそのプロセスで行うトレードオフについて簡単に推論できるようになる。
Refactoring the dialogue: horizontal vs. vertical scaling
Vertical scaling
Vertical scalingは、各ノードのハードウェア利用率またはハードウェア要件を高めます。ブロックチェーンでは、これは通常、並列仮想マシン(つまりマルチスレッドプロセス)などのソフトウェアの最適化によって行われます。
ここでよく使われる例は、 EVM vs. SVMです。
EVMはトランザクションを逐次実行しますが、SVMはトランザクションを並列に実行します。注:この種の垂直スケーリングは、Eclipse L2の背後にある基礎です。
トレードオフの観点から言えば、垂直スケーリングは利用可能なハードウェアによって制限され、ハードウェア要件が増加するため中央集権的になる傾向があり、水平スケーリングよりもスケーラブルではありません。
水平スケーリング
一方、水平スケーリングは、作業負荷を複数のノードに分散することで、システムにアクセスできるマシンの数を増やします。前述したように、モジュラー・チェーンは基本的に複数のマシンにタスクを分散します。しかし、チェーンは多くの場合、シャーディングによってより高度な水平スケーリングを達成することができます。
=nil;便利な例がここにあります。
昨年11月、=nil; Foundationは、新しいイーサネットL2 =nil;を支える、 zkShardingと呼ばれる証明可能なシャーディングアーキテクチャを導入しました。nil;の設計の中心は、グローバルな状態を複数のスライスに分割することである。各スライスは=nilの分散型委員会によって運営され、ブロックを構築し、スライス間のトランザクションの検証を管理する。さらに、各スライスは有効性の証明を生成し、それをメインのスライスに送って集約し、Ether上で公開・検証する。
どちらの手法も、単一のマシンが担う必要のある負荷を減らし、ネットワーク全体のスケーラビリティを向上させます。
では、水平スケーリングのトレードオフは何でしょうか?それは、ネットワークとコンセンサスの複雑さと、マシンまたはシャード間の非同期通信の2つに集約される。
イーサネットのスケーラビリティの最終ゲーム
水平スケーリングも垂直スケーリングも、モジュラーアーキテクチャや全体的なアーキテクチャに限定されるものではありません。そのため、水平および垂直スケーリングフレームワークは、モジュラー型ブロックチェーンをよりスケーラブルにするための新しいソリューションを探求する余地を提供しています。
例えば、モジュール式スタックの1つのレイヤーを垂直方向にスケーリングすることも選択肢の1つです。一般的なアプローチは、実行スループットをスケールする並列仮想マシンを実装することです。前述したように、Eclipseは並列化を可能にするために、SVMやその他のロールアップ(Starknetなど)を使用してBlockSTMを実装しています。
しかし、垂直スケーリングは常に1台のマシンによって制限され、物理法則を破ることはできません。
1つの解決策は、スライシングによる水平スケーリングを選ぶことかもしれません。
現在のモジュール設計は、水平スケーリングの可能性をフルに引き出し始めたばかりです。シャーディングを使えば、(タスクごとに2~3台のマシンを分割するのではなく)任意の数のマシンのパワーを利用することができます。
言い換えれば、多くのマシンで同じ種類のタスクを並列に実行することができます。これは、イーサネットとセレスティアが、それぞれダンクシャーディングとデータシャーディングで実現したいと考えていることです。しかし、シャーディングは本質的にデータ・アベイラビリティ・レイヤーに限定されるものではなく、(=nil; L2の場合のように)実行と組み合わせることもできる。
モジュール式スタックによって達成される水平スケーリングと、シャーディングによって提供される水平スケーリングを組み合わせると、利用可能な計算能力が大幅に向上します。
ブロックチェーンのスケーラビリティの究極の目標は、水平方向と垂直方向のスケーリングを統合することです。