Jump Crypto:各種ブロックチェーンのスケーリングソリューションの詳細解説
著者:Rahul Maganti、Jump Cryptoパートナー
原題:《L1を分析するためのフレームワーク》
翻訳:胡韬、チェーンキャッチャー
紹介
前回の記事では、特に最近無数の新しいチェーンが構築されていることを考慮して、L1を分析するためのフレームワークを構築しました。また、これらの新しいL1の背後にある動機の多くは、ブロックチェーンのスケーラビリティの解決策を探すことに集中していることを簡単に指摘しました。それでは、その中のいくつかの解決策を詳しく見ていきましょう。この記事の目標は以下の通りです:
- 様々な第1層および第2層のスケーリングソリューションの概要を提供すること。
- いくつかのコア次元に沿って、これらの異なるソリューションを分析し比較すること。
- どのスケーリングアーキテクチャが最も有望であるかについての見解を示すこと。
スケーラビリティの三難のジレンマ
2017年初頭のブログ記事で、Vitalik Buterinはスケーラビリティの三難のジレンマを提唱しました。これは、ブロックチェーンシステムの実行可能性を定義する3つの主要な属性を指します:(1)分散化;(2)セキュリティ;(3)スケーラビリティ。
これら3つの側面において、私たちは他の2つの柱を過度に損なうことなく、スケーラビリティが最も難しい問題であると考えています。セキュリティと分散化はこれらのシステムの性能にとって依然として重要ですが、後で見るように、分散システムのスケーリングの課題を解決することは、非常に根本的な理由から分散化とセキュリティに重要な突破口を提供します。したがって、ブロックチェーンを効果的にスケーリングする能力が、暗号業界の未来の成功をより広く決定する重要な要素になることを強調します。
一般的に、スケーリングには2つの主要なカテゴリがあります:第1層と第2層。両者はブロックチェーンのスループットを増加させるために関連しており重要ですが、Web3スタックの異なる側面や層に焦点を当てています。過去数年の間に、スケーリングは間違いなく多くの注目を集めており、特に小売用途の急増と取引量の増加の中で、ブロックチェーン技術の大規模な採用の鍵としてしばしば持ち上げられています。
第1層 (L1s)
第1層には、主要なスケーリングアーキテクチャがほとんどありません:
- 状態シャーディング
- 並行実行
- コンセンサスモデルの改善
- 有効性証明
状態シャーディング
シャーディングには多くの種類がありますが、コアの原則は常に変わりません:
- シャーディングは検証と計算のコストを分配するため、各ノードがすべての取引を検証する必要はありません。
- シャーディング内のノードは、より大きなチェーンと同様に、次のことを行う必要があります:(1)取引を中継する;(2)取引を検証する;(3)シャードの状態を保存する。
- シャーディングチェーンは、次の方法で非シャーディングチェーンのセキュリティ原則を保持する必要があります:(1)有効なコンセンサスメカニズム;(2)セキュリティ証明または署名の集約。
シャーディングは、1つのチェーンをK個の異なる独立したサブネットまたはシャードに分割することを可能にします。ネットワークにN個のノードがある場合、K個のサブネットのそれぞれにN/K個のノードが操作します。特定のシャード(例えばK1)内のノードのセットがブロックを検証すると、それはそのサブネットが有効であると主張する証明または署名のセットを提供します。その後、他のすべてのノード、S-{K1}が行う必要があるのは、署名または証明を検証することだけです。(検証の時間は通常、計算を再実行するよりもはるかに短いです)。
シャーディングのスケーリングの利点を理解するための鍵は、このアーキテクチャがチェーンの総計算能力を増加させるために提供する価値を理解することです。今、ノードの平均容量をC:O(C)と仮定します。チェーンがBブロックを処理する必要があると仮定します。非シャーディングチェーンの計算能力は微々たるものでO(C)ですが、シャーディングチェーンはブロックを並行して処理できるため、シャーディングチェーンの容量はO(CB)です。一般的に、実行時に節約されるコストは倍増します!こちらでVitalikのより深い技術的説明を見つけることができます。シャーディングは、Ethereum 2.0および近年の開発ロードマップにおける最も顕著な基盤コンポーネントです。
並行実行
シャーディングと並行実行は多くの点で似ています。シャーディングが異なるサブチェーンでブロックを並行して検証しようとするのに対し、並行実行は各ノードの取引処理の作業を分けることに焦点を当てています。このアーキテクチャの効果は、ノードが今や数千のコントラクトを並行して処理できるようになることです!
その仕組みを詳しく説明することはしませんが、ここにSolanaでの並行実行がSealevelを通じてどのように機能するかをより深く説明した素晴らしい記事があります。
コンセンサスモデル
コンセンサスは第1層ブロックチェーンプロトコルの核心です------チェーン上で最終的に確定される取引/データに対して、ネットワーク内の参加者はチェーンの状態に関して合意に達する方法を必要とします。したがって、新しい取引が追加され、チェーンが進行するにつれて、コンセンサスは共有状態の一貫性を確保する手段となります。しかし、異なるコンセンサスメカニズムは、ブロックチェーンの性能を測定するための重要な指標に根本的な違いをもたらす可能性があります:セキュリティ、耐障害性、分散化、スケーラビリティなど。しかし、単独のコンセンサスモデルがブロックチェーンシステムの性能を決定するわけではありません。異なるコンセンサスモデルは異なるスケーリングメカニズムに適しており、最終的には特定のネットワークの効率を決定することができます。
第2層 (L2s)
根本的に、第2層のスケーリングは第1層のリソース(計算リソースまたはその他のリソース)が異常に高価になるという前提に基づいています。ユーザー、サービス、その他のコミュニティ参加者のコストを削減するために、重い計算負荷をチェーン外(第2層)に移動しつつ、第1層の暗号とゲーム理論の原則が提供する基盤のセキュリティ保証(公開鍵と秘密鍵のペア、楕円曲線、コンセンサスモデルなど)を保持しようとします。
この分野での初期の試みは、主にチェーン外の2者間で「信頼できるチャネル」を確立し、その後第1層で状態更新を完了することに関係していました。状態チャネルは、「ブロックチェーンの状態の一部を定義された参加者のグループが制御するマルチシグ契約にロックする」ことによってこれを実現します。Plasmaチェーンは、Vitalikが最初にこの記事で提案しました:無限の数のサイドチェーンを作成し、その後、詐欺証明(PoW、PoS)を使用して第1層で取引を完了することを許可します。
ロールアップ(その利点)
ロールアップも、計算をチェーン外(第2層)に移動しつつ、メッセージや取引をチェーン上(第1層)に記録する方法の一つです。本来第1層で記録、マイニング、検証される取引は、第2層で記録、集約、検証され、その後元の第1層に公開されます。このモデルは2つの目標を達成します:(1)基盤層の計算リソースを解放する;(2)依然として第1層の基盤の暗号的セキュリティ保証を保持する。
- 取引は「集約」され、その後Sequencerによって順序付けられた収集箱契約取引に渡されます
- L2上の契約は、チェーン外の契約呼び出しを実行します
- その後、契約は新しい状態のMerkleルートをcalldataとしてL1チェーンに返します
楽観的ロールアップ
検証者は、先験的にそれらが有効であると仮定して取引をチェーン上に公開します。彼らがそう選択した場合、他の検証者は取引に異議を唱えることができますが、必ずしもそうする必要はありません。(無罪の推定モデルとして考えてください)。しかし、一度挑戦が始まると、両者(例えばアリスとボブ)は争いの解決プロトコルに参加することを余儀なくされます。
高レベルでの争いの解決アルゴリズムの動作は次のようになります:
- アリスは彼女の主張が正しいと主張します。ボブは同意しません。
- その後、アリスは主張を等しい部分に分けます(簡単のため、これは二等分されると仮定します)。
- その後、ボブは彼が主張のどの部分(例えば前半部分)が間違っていると思うかを選択しなければなりません。
- ステップ1 - 3を再帰的に実行します。
- アリスとボブはこのゲームを続け、サブ主張のサイズが単一の命令になるまで続けます。今、プロトコルはこの命令を実行するだけです。アリスが正しければ、ボブは彼の持ち分を失い、逆もまた然りです。
こちらでArbitrumの争いの解決プロトコルについてのより深い説明を見つけることができます。
楽観的な場合、コストは小さく/一定でO(1)です。争いがある場合、このアルゴリズムはO(logn)で動作し、ここでnは元の主張のサイズです。
この楽観的な検証と争いの解決アーキテクチャの重要な結果の一つは、楽観的ロールアップには誠実な当事者の保証があるということです。これは、チェーンを安全に保つために、プロトコルが詐欺を発見し報告するために誠実な当事者1人だけを必要とすることを意味します。
ゼロ知識ロールアップ
今日の多くのブロックチェーンシステムと第1層では、コンセンサスは取引計算を「再実行」することによってチェーンの状態更新を検証することによって達成されます。言い換えれば、ネットワーク上で取引を完了するために、ネットワーク内のノードは同じ計算を実行する必要があります。これは、チェーンの歴史を検証するための幼稚な方法のように思えます --- 確かにそうです!では、計算を大量のノードで複製することなく、取引の正確性を迅速に検証できる方法はあるのでしょうか。(ある程度の計算理論の背景を持つ人にとって、この考えはP vs. NPの核心です)ええ、あります!これがZKロールアップが役立つところです------実際、これらは検証のコストを計算を実行するコストよりも大幅に低く抑えることを保証します。
それでは、ZKロールアップがどのようにして高いセキュリティを維持しながらこれを実現するのかを詳しく見ていきましょう。高度なZKロールアッププロトコルには以下のコンポーネントが含まれます:
- ZK検証者 - チェーン上の証明を検証します。
- ZKプロバー - アプリケーションまたはサービスからデータを取得し、証明を出力します。
- チェーン上の契約 - チェーン上のデータを追跡し、システムの状態を検証します。
昨年、特に多くのゼロ知識証明システムが登場しました。主な証明のカテゴリは2つあります:(1)SNARK;(2)STARKですが、彼らの間の境界は日々曖昧になっています。
ZK証明システムが現在どのように機能しているかの技術的詳細については議論しませんが、ここに私たちがスマートコントラクトから得られる、効果的に検証可能な証明のようなものを示す良い図があります。
ロールアップ比較の重要な次元
速度
前述のように、スケーリングの目標は、ネットワークが取引を処理する速度を向上させ、計算コストを削減する方法を提供することです。楽観的ロールアップは、各取引のために証明を生成しないため(誠実な場合には追加のコストがない)、通常はZKロールアップよりもはるかに速いです。
プライバシー
ZK証明は本質的にプライバシーを保護します。なぜなら、それらは計算の基礎となるパラメータにアクセスすることなく検証を行う必要がないからです。以下の具体的な例を考えてみましょう:私があなたにロックとボックスの組み合わせを知っていることを証明したいとします。単純な方法は、組み合わせを共有し、あなたにボックスを開けるように頼むことです。ボックスが開けば、私はその組み合わせを知っていることは明らかです。しかし、私はその組み合わせを明かさずに知っていることを証明しなければならないと仮定しましょう。簡単なZK証明プロトコルを設計して、それがどのように機能するかを示しましょう:
- 私はあなたに紙に文を書いてもらいます。
- 私はボックスをあなたに渡し、ボックスの小さな隙間からその紙を引き裂いてもらいます。
- 私はあなたに背を向けて、ボックスに組み合わせを打ち込みます。
- 私は紙を開いて、あなたにその紙を返します。
- あなたはその紙があなたのものであることを確認します!
これが、シンプルなゼロ知識証明です。一度あなたがその紙が実際に私がボックスに入れた紙と同じであることを確認すれば、私はボックスを開けることができることを証明したことになります。したがって、先験的にボックスの組み合わせを知っているのです。
このように、ゼロ知識証明は特に一方が他方に声明の真実性を証明することを許可するのに優れていますが、相手が持たない情報を明かす必要はありません。
EVM互換性
イーサリアム仮想マシン(EVM)は、基本的なコンピュータとブロックチェーン特有の操作を実現するための命令またはオペコードのセットを定義します。イーサリアム上のスマートコントラクトはこのバイトコードにコンパイルされます。その後、バイトコードはEVMオペコードとして実行されます。EVM互換性は、実行している仮想マシンの命令セットとEVM命令セットの間に1:1のマッピングが存在することを意味します。
今日の市場で最大の第2層ソリューションは、イーサリアムの上に構築されています。イーサリアムのネイティブプロジェクトが第2層に移行したい場合、EVM互換性はシームレスで最小限のコードのスケーリングパスを提供します。プロジェクトはL2上でコントラクトを再デプロイし、L1からトークンをブリッジするだけで済みます。
最大の楽観的ロールアッププロジェクトであるArbitrumとOptimism/Bobaは、どちらもEVM互換です。zkSyncは、EVM互換性を考慮して構築された数少ないZKロールアップの一つですが、ADDMOD、SMOD、MULMOD、EXP、CREATE2を含むいくつかのEVMオペコードのサポートが不足しています。CREATE2のサポートがないことは、契約の反事実的相互作用、アップグレード性の制限、ユーザーの導入に問題をもたらす可能性がありますが、これらのオペコードのサポートはすぐに実現されると考えています。長期的には、ZKロールアップの使用において大きな障害とはならないでしょう。
ブリッジング
L2は独立したチェーンであるため、ネイティブL1トークンを自動的に継承することはありません。イーサリアム上のネイティブL1トークンは、そこにデプロイされたdAppやサービスと相互作用するために、対応するL2にブリッジする必要があります。トークンをシームレスに接続する能力は依然として重要な課題であり、さまざまなプロジェクトがさまざまなアーキテクチャを探求しています。通常、ユーザーがdepositL1を呼び出すと、L2側で同等のトークンを鋳造する必要があります。このプロセスのために高度に汎用的なアーキテクチャを設計することは特に困難である可能性があります。なぜなら、広範なトークンとトークン標準がプロトコルを駆動しているからです。
最終性
最終性は、チェーン上の取引の有効性を確認する能力を指します。第1層では、ユーザーが取引を提出すると、それはほぼ瞬時に完了します。(ノードがメモリプールからの取引を処理するのには時間がかかりますが)。第2層では、状況は必ずしもそうではありません。楽観的ロールアッププロトコルを実行する第2層チェーンに提出された状態更新は、最初にその更新が有効であると仮定されます。しかし、この更新を提出した検証者が悪意のある場合、誠実な当事者がその主張に異議を唱えるための十分な時間が必要です。通常、この挑戦期間は約7日間に設定されます。平均して、L2から資金を引き出したいユーザーは約2週間待つ必要があります!
一方、ZKロールアップは、各状態更新が証明システムを使用して検証されるため、これほど大きな挑戦期間を必要としません。したがって、ZKロールアッププロトコル上の取引は、基盤となる第1層上の取引と同様に最終的です。驚くことではありませんが、ZKロールアップが提供する即時の確定性は、L2スケーリングの優位性を争う上での重要な利点となっています。
一部の人々は、楽観的ロールアップが必ずしもL1の迅速な最終性を保証するわけではないが、迅速な引き出しがユーザーに挑戦期間が終了する前に資金を得る方法を提供することで、明確で使いやすい解決策を提供していると考えています。これは確かにユーザーに流動性にアクセスする方法を提供しますが、この方法にはいくつかの問題があります:
- L2からL1への引き出しを維持するための流動性プールの追加コスト。
- 迅速な引き出しは汎用的ではなく------トークン引き出しのみをサポートします。任意のL2からL1への呼び出しをサポートできません。
- 挑戦期間が終了する前に、流動性提供者は取引の有効性を保証できません。
- 流動性提供者は:(1)流動性を提供する人を信頼する必要があり、分散化の利点を制限します;(2)独自の詐欺/有効性証明を構築しなければならず、実際にはL2チェーンに内蔵された詐欺証明/コンセンサスプロトコルを利用する目的に反します。
シーケンシング(Sequencing)
シーケンサーは他の完全なノードと同様ですが、受信箱のキュー内の取引の順序を任意に制御できます。このような順序がなければ、ネットワーク内の他のノード/参加者は特定のバッチ取引の結果を決定できません。この意味で、これはユーザーが取引を実行する際に一定の確定性を提供します。
この目的のためにシーケンサーを使用することに対する主な反論は、故障の中心点を生じることです------シーケンサーが故障した場合、可用性が影響を受ける可能性があります。ちょっと待って……これはどういう意味ですか?これは分散化のビジョンを破壊することではありませんか?ええ……少し。シーケンサーは通常、L2を開発するプロジェクトによって運営され、通常はプロジェクトの利害関係者のために行動する半信任エンティティと見なされます。このことを考えると、こちらやこちらで分散型公正シーケンシングに関する多くの研究が行われていることを知って、安心するかもしれません。
最近の大規模なL2エコシステム(Arbitrum / Optimismを含む)でのシーケンサーの中断は、フォールトトレラントで分散型のシーケンシングの需要を証明し続けています。
資本効率
楽観的ロールアップとZKロールアップの比較におけるもう一つの重要なポイントは、それらの資本効率です。前述のように、楽観的L2は詐欺証明に依存してチェーンを保護しますが、ZKロールアップは有効性証明を利用します。
詐欺証明が提供するセキュリティは、攻撃者がチェーンをフォークしようとするコストが、彼らがネットワークから引き出すことができる価値を上回るべきだという単純なゲーム理論の原則に基づいています。楽観的ロールアップの場合、検証者は彼らがチェーンの進行に伴って有効であると考えるロールアップブロックに一定量のトークン(例えばETH)を賭けます。悪意のある行為者(誠実なノードによって有罪とされ報告された者)は罰せられます。
したがって、資本効率とセキュリティの間には根本的なトレードオフがあります。資本効率を向上させるためには、遅延/質疑期間を短縮する必要があるかもしれませんが、その結果、詐欺的な主張がネットワーク内の他の検証者によって検出または質疑されない可能性が高まります。
遅延期間を移動させることは、資本効率と遅延期間の曲線に沿って移動することに相当します。しかし、遅延期間の変化に伴い、ユーザーはその変化がセキュリティと最終性の間のトレードオフに与える影響を考慮する必要があります------さもなければ、彼らはこれらの変化に無関心であるでしょう。
現在、ArbitrumやOptimismなどのプロジェクトの7つの遅延期間は、コミュニティがこれらの側面を考慮して決定したものです。これはOffchain LabsのEd Feltenが、彼らが遅延期間の最適な長さをどのように決定したかについての詳細な説明です。
構築によって(ゲーム理論の仮定ではなく暗号学的仮定に依存する)、有効性証明は同じ資本効率/セキュリティのトレードオフの影響を受けにくいです。
特定のアプリケーションチェーン/スケーリング
私たちがマルチチェーンの未来について話すとき、私たちは一体何を指しているのでしょうか?異なるアーキテクチャを持つ高性能な第1層が多数存在するのか、より多くの第2層スケーリングソリューションが存在するのか、それとも特定のユースケースに対してカスタマイズされた最適化を施した少数の第3層チェーンだけが存在するのか?
私たちの信念は、ブロックチェーンベースのサービスに対する需要が、ユーザーの特定のタイプのアプリケーションに対する需要によって根本的に駆動されるということです。NFTの鋳造や、貸付、ステーキングなどのDeFiプロトコル……長期的には、どの技術と同様に、ユーザーは基盤の原則(この場合、決済、スケーラビリティ、セキュリティを提供するコアインフラストラクチャのL1とL2)から抽象化したいと考えています。
アプリケーション特化型チェーンは、狭い最適化を活用して高性能サービスを展開するメカニズムを提供します。したがって、私たちはこれらのタイプのチェーンが大規模な採用を促進するWeb3インフラストラクチャの重要な構成要素になると予想しています。
これらのチェーンの出現は主に2つの方法で起こります:
- 非常に特定のアプリケーションに焦点を当てた独立したエコシステム。
- 既存のL1およびL2チェーンの上に構築された追加のレイヤーですが、特定のユースケースの性能を最適化するために微調整されています。
中短期的には、これらの独立したチェーンが顕著な成長を遂げる可能性がありますが、私たちはそれが短期的な新規性の機能であり、持続可能な関心と使用の信号ではないと考えています。今でも、Celoのようなより成熟したアプリケーション特化型チェーンは相対的に少ないようです。これらの独立したアプリケーション特化型チェーンエコシステムは特定のユースケースに優れた性能を提供しますが、他の汎用エコシステムを強力にする特性が欠けていることがよくあります:
- 柔軟性と使いやすさ
- 高度な相互運用性
- 流動性の集約とネイティブ資産へのアクセス
次世代のスケーリングインフラストラクチャは、これら2つのアプローチの間でバランスを取る必要があります。
フラクタルスケーリングアプローチ
フラクタルスケーリングアプローチは、このブロックチェーンスケーリングの「階層モデル」と高度に関連しています。これは、元々孤立していた異なるアプリケーション特化型チェーンエコシステムをより広範なコミュニティと統合する独自の方法を提供し、これにより相互運用性を維持し、汎用ロジックへのアクセスを実現し、基盤のL1およびL2からのセキュリティ保証を得るのに役立ちます。
それはどのように機能しますか?
- 取引は、サービスするシナリオに基づいてローカルインスタンス間で分割されます。
- 基盤のL1/L2層のセキュリティ、スケーラビリティ、プライバシー属性を活用しつつ、ユニークなカスタマイズニーズに最適化されます。
- ストレージと計算のための新しい証明ベースおよび再帰的証明アーキテクチャを利用します。
- すべてのメッセージには、そのメッセージとそのメッセージを引き起こした歴史が有効であることを証明する証明が添付されます。
こちらは、Starkwareによるフラクタルスケーリングのアーキテクチャについての素晴らしい記事です。
結論
ブロックチェーンのスケーリングは、過去数年でますます重要になってきました。これは十分な理由があります------イーサリアムのような高度に分散化されたチェーン上での検証の計算コストが実行不可能になってきたからです。ブロックチェーンの普及に伴い、オンチェーン取引の計算の複雑さも急速に増加しており、チェーンを保護するコストがさらに増加しています。既存の第1層や動的シャーディングなどのアーキテクチャの最適化は非常に価値があるかもしれませんが、急激な需要の増加は、安全でスケーラブルで持続可能な分散型システムを開発するために、より詳細なアプローチを採用する必要があります。
私たちは、特定の行動に最適化されたチェーン層を構築するこのアプローチが、特定のアプリケーション向けの汎用計算とプライバシーをサポートするロジックを含むと信じています。したがって、私たちはロールアップや他の第2層技術を、オフチェーン計算/ストレージと迅速な検証を可能にすることでスループットを拡張するための核心と見なしています。
ご質問、意見、またはアイデアがある場合は、@Rahul Magantiまでご連絡ください!
参考文献
- https://plasma.io/plasma.pdf
- https://medium.com/starkware/fractal-scaling-from-l2-to-l3-7fe238ecfb4f
- https://developer.offchainlabs.com/docs/inside_arbitrum
- *https://minaprotocol.com/blog/solving-the-scalability-trilemma*
- https://medium.com/offchainlabs/optimizing-challenge-periods-in-rollup-b61378c87277