スケーリング
スケーリングの概要
イーサリアムを利用する人が増えるにつれて、ブロックチェーンは一定の容量制限に達しました。これによりネットワークの利用コストが上昇し、「スケーリングソリューション」の必要性が生じました。同様の目標を達成するために異なるアプローチをとる複数のソリューションが研究、テスト、実装されています。
スケーラビリティの主な目標は、分散化やセキュリティを犠牲にすることなく、トランザクション速度(より速いファイナリティ)とトランザクションのスループット(1秒あたりのトランザクション数の増加)を向上させることです。レイヤー1 (L1) のイーサリアムブロックチェーンでは、需要が高まるとトランザクションが遅くなり、非現実的なガス価格につながります。速度とスループットの観点からネットワーク容量を増やすことは、イーサリアムの有意義な普及とマスアダプションにとって不可欠です。
速度とスループットは重要ですが、これらの目標を可能にするスケーリングソリューションが分散型であり、安全であり続けることが不可欠です。ノードオペレーターの参入障壁を低く保つことは、集権的で安全でないコンピューティングパワーへの進行を防ぐ上で重要です。
概念的には、まずスケーリングをオンチェーンスケーリングとオフチェーンスケーリングのいずれかに分類します。
前提条件
すべての基礎的なトピックについて十分に理解している必要があります。スケーリングソリューションの実装は、技術がまだ十分に実証されておらず、研究開発が続けられているため、高度な内容となります。
オンチェーンスケーリング
オンチェーンスケーリングには、イーサリアムプロトコル(レイヤー1 (L1) の)の変更が必要です。長い間、ブロックチェーンのシャーディングがイーサリアムをスケーリングすると期待されていました。これには、ブロックチェーンを個別の部分(シャード)に分割し、バリデータのサブセットによって検証させることが含まれる予定でした。しかし、レイヤー2 (L2) のロールアップによるスケーリングが主要なスケーリング技術として取って代わりました。これは、ユーザーにとってロールアップを安価にするために特別に設計された、イーサリアムのブロックに添付される新しい安価なデータ形式の追加によってサポートされています。
シャーディング
シャーディングとは、データベースを分割するプロセスのことです。バリデータのサブセットは、イーサリアム全体を追跡するのではなく、個々のシャードを担当することになります。シャーディングは長い間イーサリアムのロードマップにあり、かつてはプルーフ・オブ・ステーク (PoS) へのマージの前にリリースされる予定でした。しかし、レイヤー2 (L2) のロールアップの急速な発展と、ダンクシャーディング(バリデータが非常に効率的に検証できるロールアップデータのブロブをイーサリアムのブロックに追加すること)の発明により、イーサリアムコミュニティはシャーディングによるスケーリングではなく、ロールアップ中心のスケーリングを支持するようになりました。これにより、イーサリアムのコンセンサスロジックをよりシンプルに保つことにも役立ちます。
オフチェーンスケーリング
オフチェーンソリューションは、レイヤー1 (L1) のメインネットとは別に実装されます。既存のイーサリアムプロトコルへの変更は必要ありません。一部のソリューションは、「レイヤー2 (L2)」ソリューションとして知られており、オプティミスティック・ロールアップ、ゼロ知識ロールアップ、またはステート・チャネルのように、レイヤー1 (L1) のイーサリアムのコンセンサスから直接セキュリティを引き出します。他のソリューションには、サイドチェーン、バリディウム、またはプラズマチェーンのように、メインネットとは別にセキュリティを引き出すさまざまな形式の新しいチェーンの作成が含まれます。これらのソリューションはメインネットと通信しますが、さまざまな目標を達成するために異なる方法でセキュリティを引き出します。
レイヤー2 (L2) スケーリング
このカテゴリのオフチェーンソリューションは、イーサリアム・メインネットからセキュリティを引き出します。
レイヤー2 (L2) は、メインネットの堅牢な分散型セキュリティモデルを活用しながら、イーサリアム・メインネット(レイヤー1 (L1))の外部でトランザクションを処理することで、アプリケーションのスケーリングを支援するように設計されたソリューションの総称です。ネットワークが混雑するとトランザクション速度が低下し、特定の種類の分散型アプリケーション (dapp) ではユーザーエクスペリエンスが悪化します。そして、ネットワークがさらに混雑すると、トランザクションの送信者が互いに高い手数料を提示しようとするため、ガス価格が上昇します。これにより、イーサリアムの利用が非常に高額になる可能性があります。
ほとんどのレイヤー2 (L2) ソリューションは、サーバーまたはサーバーのクラスターを中心に構成されており、それぞれがノード、バリデータ、オペレーター、シーケンサー、ブロックプロデューサー、または類似の用語で呼ばれることがあります。実装に応じて、これらのレイヤー2 (L2) ノードは、それらを使用する個人、企業、または事業体によって運営されるか、サードパーティのオペレーターによって運営されるか、または(メインネットと同様に)個人の大規模なグループによって運営される場合があります。一般的に、トランザクションはレイヤー1 (L1)(メインネット)に直接送信されるのではなく、これらのレイヤー2 (L2) ノードに送信されます。一部のソリューションでは、レイヤー2 (L2) インスタンスがそれらをグループにバッチ処理してからレイヤー1 (L1) にアンカーし、その後レイヤー1 (L1) によって保護され、変更できなくなります。これがどのように行われるかの詳細は、レイヤー2 (L2) の技術や実装によって大きく異なります。
特定のレイヤー2 (L2) インスタンスは、オープンで多くのアプリケーションによって共有される場合もあれば、1つのプロジェクトによってデプロイされ、そのアプリケーションのみをサポートするために専用化される場合もあります。
なぜレイヤー2 (L2) が必要なのか?
- 1秒あたりのトランザクション数が増加することで、ユーザーエクスペリエンスが大幅に向上し、イーサリアム・メインネットのネットワークの混雑が軽減されます。
- トランザクションはイーサリアム・メインネットへの単一のトランザクションにロールアップされるため、ユーザーのガス代が削減され、イーサリアムが世界中の人々にとってより包括的でアクセスしやすいものになります。
- スケーラビリティの更新は、分散化やセキュリティを犠牲にしてはなりません。レイヤー2 (L2) はイーサリアムの上に構築されます。
- 大規模な資産を扱う際に独自の効率性をもたらす、アプリケーション固有のレイヤー2 (L2) ネットワークが存在します。
ロールアップ
ロールアップはレイヤー1 (L1) の外部でトランザクションの実行を行い、その後データがレイヤー1 (L1) に投稿されてコンセンサスに達します。トランザクションデータはレイヤー1 (L1) のブロックに含まれるため、これによりロールアップはネイティブのイーサリアムのセキュリティによって保護されます。
異なるセキュリティモデルを持つ2種類のロールアップがあります。
- オプティミスティック・ロールアップ: デフォルトでトランザクションが有効であると想定し、異議申し立てがあった場合にのみ、を介して計算を実行します。オプティミスティック・ロールアップの詳細
- ゼロ知識ロールアップ: オフチェーンで計算を実行し、をチェーンに提出します。ゼロ知識ロールアップの詳細
ステート・チャネル
ステート・チャネルはマルチシグのコントラクトを利用して、参加者がオフチェーンで迅速かつ自由にトランザクションを行えるようにし、その後メインネットでファイナリティを決済します。これにより、ネットワークの混雑、手数料、遅延が最小限に抑えられます。現在、チャネルにはステート・チャネルとペイメント・チャネルの2種類があります。
ステート・チャネルの詳細をご覧ください。
サイドチェーン
サイドチェーンは、メインネットと並行して稼働する独立したEVM互換のブロックチェーンです。これらは双方向ブリッジを介してイーサリアムと互換性があり、独自に選択されたコンセンサスルールとブロックパラメータの下で稼働します。
サイドチェーンの詳細をご覧ください。
プラズマ
プラズマチェーンは、メインのイーサリアムチェーンにアンカーされた別のブロックチェーンであり、(オプティミスティック・ロールアップのように)不正証明を使用して紛争を仲裁します。
プラズマの詳細をご覧ください。
バリディウム
バリディウムチェーンはゼロ知識ロールアップのような有効性証明を使用しますが、データはメインのレイヤー1 (L1) のイーサリアムチェーンには保存されません。これにより、バリディウムチェーンあたり1秒間に1万件のトランザクションが可能になり、複数のチェーンを並行して稼働させることができます。
バリディウムの詳細をご覧ください。
なぜこれほど多くのスケーリングソリューションが必要なのか?
- 複数のソリューションは、ネットワークの特定の部分における全体的な混雑を軽減し、単一障害点を防ぐのに役立ちます。
- 全体は部分の総和に勝ります。異なるソリューションが共存し、調和して機能することで、将来のトランザクション速度とスループットに指数関数的な効果をもたらすことができます。
- すべてのソリューションがイーサリアムのコンセンサスアルゴリズムを直接利用する必要があるわけではなく、代替案は他の方法では得難い利点を提供できます。
視覚的に学びたい方へ
注:ビデオ内の説明では、すべてのオフチェーンスケーリングソリューションを指すために「レイヤー2 (L2)」という用語を使用していますが、私たちは「レイヤー2 (L2)」を、レイヤー1 (L1) のメインネットのコンセンサスを通じてセキュリティを引き出すオフチェーンソリューションとして区別しています。
参考文献
- ロールアップ中心のイーサリアムロードマップ (opens in a new tab) Vitalik Buterin
- イーサリアムのレイヤー2 (L2) スケーリングソリューションに関する最新の分析 (opens in a new tab)
- イーサリアムのレイヤー2 (L2) スケーリングソリューションの評価:比較フレームワーク (opens in a new tab)
- ロールアップの不完全なガイド (opens in a new tab)
- イーサリアムを活用したZKロールアップ:世界をリードする技術 (opens in a new tab)
- オプティミスティック・ロールアップとZKロールアップの比較 (opens in a new tab)
- ロールアップとデータシャードが高いスケーラビリティのための唯一の持続可能なソリューションである理由 (opens in a new tab)
- どのようなレイヤー3が理にかなっているのか? (opens in a new tab)
- データ可用性、あるいはロールアップはいかにして心配するのをやめてイーサリアムを愛するようになったか (opens in a new tab)
- イーサリアムロールアップの実践ガイド (opens in a new tab)
役に立ったコミュニティリソースをご存知ですか?このページを編集して追加してください!
チュートリアル:イーサリアム上でスケーラブルなレイヤー2 (L2) を構築する
- キャッシュのすべて – ロールアップでのコールデータコストを削減するためのキャッシュコントラクトの構築と使用方法。
- コールデータ最適化のための短いABI – レイヤー2 (L2) トランザクションのコールデータコストを削減するために短いABIを使用する方法。