スケーリング
最終編集者: @HiroyukiNaito(opens in a new tab), 2024年5月7日
スケーリングの概要
イーサリアムのユーザー規模が拡大するにつれ、イーサリアムブロックチェーンの処理能力は限界に達しつつあります。 これにより、イーサリアムネットワークの使用コストが増加しているため、「スケーリングソリューション」の必要性が高まってきました。 スケーリングを達成するという目標の下で、異なるアプローチを用いた様々なソリューションが研究、テスト、および実装されています。
スケーラビリティの取り組みにおける主な目標は、分散化やセキュリティを犠牲にすることなく、トランザクション速度の向上(ファイナリティ到達までの時間短縮)ならびにトランザクションスループットの向上(毎秒あたりのトランザクション数の向上)を実現することです(詳細については、イーサリアムのビジョンをご覧ください)。 レイヤー1のイーサリアムブロックチェーンでは、需要が増化するとトランザクションが遅延し、ガス価格が高騰します。 イーサリアムが有意義かつ大規模に利用されるようになるためには、ネットワークの速度とスループットを改善することが不可欠です。
速度とスループットが重要である一方で、スケーリングのソリューションはこれらの目標を、分散化とセキュリティという特性を失わずに実現しなければなりません。 中央集権化およびセキュリティの低下を防ぐためには、どんなユーザーでもノードとして参加できるように参入障壁を低くしておくことが重要です。
スケーリングの概念では、まずオンチェーンのスケーリングとオフチェーンのスケーリングに分けて考えることができます。
前提知識
イーサリアムに関する基本的なトピックすべてをよく理解しておく必要があります。 スケーリング技術は、バトルテストの実績が少なく、引き続き研究、開発が続けている状態であるため、スケーリングソリューションの実装は上級者向けのテーマだと言えます。
オンチェーンにおけるスケーリング
オンチェーンスケーリングでは、イーサリアムプロトコル(レイヤー1の)を変更する必要があります。 長い間、ブロックチェーンのシャーディングによってイーサリアムが拡張されると期待されていました。 シャーディングとは、ブロックチェーンを複数の部分(シャード)に分割する技術であり、バリデータのサブセットによって検証される予定でした。 しかし、主要なスケーリング技術として、レイヤー2ロールアップによるスケーリングが引き継がれており、 より安く新しいデータ形式を追加することでサポートされています。このデータ形式は、ユーザーにとってロールアップを安価にするために特別に設計されています。
シャーディング
シャーディングは、データベースを分割するプロセスです。 バリデータのサブセットは、イーサリアム全体を追跡するのではなく、個々のシャードに対して責任を持ちます。 シャーディングは、長い間、イーサリアムのロードマップに記載されていました。また、かつては、プルーフ・オブ・ステークへ切り替わるマージの前にリリースされる予定でした。 しかし、レイヤー2ロールアップの急速な開発と、ダンクシャーディング(バリデータが非常に効率的に検証できるロールアップデータであるブロブをイーサリアムブロックに追加すること)の開発により、イーサリアムコミュニティの関心は、シャーディングによるスケーリングからロールアップ中心のスケーリングへとシフトしました。 これにより、イーサリアムのコンセンサスロジックは比較的シンプルに保たれることになりました。
オフチェーンにおけるスケーリング
オフチェーンのスケーリングソリューションは、レイヤー1のメインネットとは別個に実装されるため、既存のイーサリアムプロトコルを変更する必要がありません。 「レイヤー2」ソリューションと呼ばれる一部のソリューションでは、オプティミスティックロールアップ、ゼロ知識ロールアップ、ステートチャンネルなど、レイヤー1のイーサリアムコンセンサスに依存してセキュリティを保護するものもあります。 一方、サイドチェーン、バリディアム、あるいはプラズマチェーンなどのソリューションでは、メインネットとは別に、さまざまな形式の新規チェーンを作成してセキュリティを保証します。 これらのソリューションでは、メインネットとやり取りするものの、各ソリューションの目標に合わせて、セキュリティを維持する方法は異なります。
レイヤー2のスケーリング
オフチェーンのソリューションのうち、セキュリティをイーサリアムメインネットに依存するものをレイヤー2のスケーリングソリューションと呼びます。
レイヤー2とは、メインネットが提供する堅牢かつ分散型のセキュリティモデルを活用しつつ、イーサリアムメインネット(レイヤー1)外でトランザクションを実行することでアプリケーションのスケーラビリティを実現しようとするソリューションの総称です。 ネットワークの混雑によりトランザクション速度が低下すると、一部のDappでは優れたユーザー体験を提供できなくなります。 また、ネットワークが混雑すると、トランザクションの送信者がガス代を高く支払うようになります。そのため、ガス代が上昇し、 イーサリアムの使用コストが非常に高額になる可能性があります。
ほとんどのレイヤー2ソリューションは、サーバーまたはサーバー群を中心に構成されており、それぞれのサーバーは、ノード、バリデータ、オペレーター、シーケンサー、ブロックプロデューサーなどと呼ばれています。 これらのレイヤー2ノードは、実装方法によって、利用する個人や企業、団体、サードパーティのオペレーター、大規模な個人のグループなどが運営する場合があります(メインネットと同様)。 通常、取引はレイヤー1(メインネット)に直接送信されるのではなく、レイヤー2のノードに送信されます。 ソリューションによっては、レイヤー2のインスタンスがトランザクションをグループ化してレイヤー1に固定します。その後、レイヤー1によって安全性が確保されると、それ以降は変更できなくなります。 このプロセスの具体的な実行方法は、レイヤー2のテクノロジーや実装によって大きく異なります。
特定のレイヤー2インスタンスは、オープンで多くのアプリケーションが共有するものもあれば、1つのプロジェクトがデプロイし、そのアプリケーションのみをサポートするものもあります。
レイヤー2が必要な理由
- 毎秒あたりのトランザクション数を増加させることで、ユーザー体験が向上し、イーサリアムメインネットの混雑を軽減できる。
- 複数のトランザクションを1つのトランザクションにロールアップしてメインネットに送信するため、ガス代が軽減でき、イーサリアムの包摂性が高まり、すべての人が利用できるようになる。
- スケーラビリティを実現するためのアップデートは、分散化やセキュリティを犠牲にしてはならないが、レイヤー2はイーサリアムの基盤に基づくネットワークである。
- アプリケーションごとに特化されたレイヤー2のネットワークでは、大規模な資産を取り扱う際に独自の効率性アップが実現できる。
ロールアップ
ロールアップとは、レイヤー1の外部でトランザクションを実行し、データをレイヤー1に送信して、そこでコンセンサスを得るという手段です。 トランザクションデータはレイヤー1のブロックに含まれるため、ロールアップの安全性はイーサリアムのネイティブセキュリティにより保証されます。
ロールアップには、異なるセキュリティモデルを採用した以下の2種類があります。
- オプティミスティック・ロールアップ: トランザクションはデフォルトで有効であると仮定し、チャレンジが提起された場合のみを通じて計算を実行します。 オプティミスティック・ロールアップの詳細。
- ゼロ知識ロールアップ: オフチェーンで計算を実行し、をチェーンに送信します。 ゼロ知識ロールアップの詳細。
ステートチャンネル
ステートチャンネルでは、マルチシグのコントラクトを通じて、参加者はオフチェーンで迅速かつ自由に取引を行うことでき、その上でメインネット上でファイナリティを実現します。 これにより、ネットワークの混雑、手数料、遅延を最小限に抑えることができます。 現在利用されているチャンネルは、ステートチャンネルとペイメントチャンネルの2つです。
ステートチャンネルの詳細
サイドチェーン
サイドチェーンは、EVM互換の独立したブロックチェーンであり、メインネットと並行して実行されます。 イーサリアムとの互換性は双方向ブリッジで実現され、トランザクションは独自に選択したコンセンサスルールとブロックパラメータに基づいて実行されます。
サイドチェーンの詳細
プラズマ
プラズマチェーンとは、メインのイーサリアムチェーンにおいて固定された別個のブロックチェーンで、不正証明(オプティミスティック・ロールアップなど)を用いて紛争を仲裁します。
プラズマの詳細
バリディアム
バリディアムチェーンはゼロ知識ロールアップのように有効性証明を使用しますが、メインのレイヤー1イーサリアムチェーン上にデータを保存しません。 そのため、バリディアムチェーンごとに毎秒1万のトランザクションを処理でき、複数のチェーンを並列に実行できます。
バリディアムの詳細
さまざまなスケーリングソリューションが求められる理由
- さまざまなソリューションは、イーサリアムネットワーク全体の混雑を緩和するだけでなく、単一障害点の発生を防ぐためにも役立ちます。
- 複数のソリューションは、その全体においてさらに効力を発揮します。 つまり、多様なソリューションが共存し、調和的に機能することで、トランザクションの速度やスループットを今後爆発的に向上させることが可能になります。
- すべてのソリューションにおいてイーサリアムのコンセンサス・アルゴリズムを直接活用する必要があるわけではなく、さまざまな代替手段によりその他の方法では得にくいメリットを得ることができます。
- 特定のスケーリング・ソリューションがイーサリアムのビジョンを完全に満たすことは不可能です。
映像で学びたい場合
この動画の説明では、「レイヤー2」という用語をオフチェーンでのスケーリング・ソリューション全般を指すものとして使用していますが、本記事では、、レイヤー1(メインネット)のコンセンサスに依存してセキュリティを保護するオフチェーンソリューションを指す用語として「レイヤー2」を用いています。
参考文献
- ロールアップを重視したイーサリアム・ロードマップ(opens in a new tab) ヴィタリック・ブテリン作成。
- イーサリアムのレイヤー2スケーリング・ソリューションに関する最新のアナリティクス(opens in a new tab)
- イーサリアムの様々なレイヤー2のスケーリングソリューションを評価する:比較のフレームワーク(opens in a new tab)
- ロールアップに関する不完全ガイド(opens in a new tab)
- イーサリアムを活用したゼロ知識ロールアップ:ワールドビーター(opens in a new tab)
- オプティミスティック・ロールアップ とゼロ知識ロールアップの比較(opens in a new tab)
- ゼロ知識によるブロックチェーンのスケーラビリティ(opens in a new tab)
- ロールアップとデータシャードを組み合わせる手段が、高スケーラビリティを実現する唯一のサステナブルなソリューションである理由(opens in a new tab)
- 有意義なレイヤー3とはどのようなものか?(opens in a new tab)
- データ可用性か、あるいは: ロールアップで心配することを止めてイーサリアムを愛するようになった仕組み(opens in a new tab)
役に立ったコミュニティリソースがあれば、 ぜひこのページに追加してください。