メインコンテンツへスキップ
Change page

スケーリング

最終編集者: @HiroyukiNaito(opens in a new tab), Invalid DateTime

スケーリングの概要

イーサリアムのユーザー規模が拡大するにつれ、イーサリアムブロックチェーンの処理能力は限界に達しつつあります。 これにより、イーサリアムネットワークの使用コストが増加しているため、「スケーリングソリューション」の必要性が高まってきました。 スケーリングを達成するという目標の下で、異なるアプローチを用いた様々なソリューションが研究、テスト、および実装されています。

スケーラビリティの取り組みにおける主な目標は、分散化やセキュリティを犠牲にすることなく、トランザクション速度の向上(ファイナリティ到達までの時間短縮)ならびにトランザクションスループットの向上(毎秒あたりの処理件数の向上)を実現することです(詳細については、イーサリアムのビジョンをご覧ください)。 レイヤー 1 のイーサリアムブロックチェーンでは、需要が増化するとトランザクションが遅延し、ガス価格が高騰します。 イーサリアムが有意義かつ大規模に利用されるようになるためには、ネットワークの速度とスループットを改善することが不可欠です。

速度とスループットが重要である一方で、スケーリングのソリューションはこれらの目標を、分散化とセキュリティという特性を失わずに実現しなければなりません。 中央集権化およびセキュリティの低下を防ぐためには、どんなユーザーでもノードとして参加できるように参入障壁を低くしておくことが重要です。

スケーリングの概念では、まずオンチェーンのスケーリングとオフチェーンのスケーリングに分けて考えることができます。

前提知識

イーサリアムに関する基本的なトピックすべてをよく理解しておく必要があります。 スケーリング技術は、バトルテストの実績が少なく、引き続き研究、開発が続けている状態であるため、スケーリングソリューションの実装は上級者向けのテーマだと言えます。

オンチェーンにおけるスケーリング

この手法は、イーサリアムプロトコル(レイヤー 1 のメインネット)の変更を必要とします。 この手法によるスケーリングは、現在シャーディングが主流になっています。

シャーディング

シャーディングとは、負荷を分散するためにデータベースを水平的に分割するプロセスを指します。 イーサリアムにおけるシャーディングとは、「シャード」と呼ばれる新たなチェーンを作成することで、ネットワークの混雑を解消し、毎秒あたりのトランザクション数を増加させる手法を指します。 これにより、バリデータは、イーサリアムネットワーク全体に含まれるすべてのトランザクションを処理する必要がなくなるため、負荷が軽減されます。

シャーディング について詳しく知る。

オフチェーンにおけるスケーリング

オフチェーンのスケーリングソリューションは、レイヤー 1 のメインネットとは別個に実装されるため、既存のイーサリアムプロトコルを変更する必要がありません。 「レイヤー 2」ソリューションと呼ばれる一部のソリューションでは、オプティミスティックロールアップゼロ知識ロールアップ、あるいはステートチャンネルのように、セキュリティ保護につきレイヤー 1 のイーサリアムコンセンサスに依存するものもあります。 一方、サイドチェーンバリディアム、あるいはプラズマチェーンといったソリューションでは、メインネットとは別個にセキュリティを保証する様々な形式の新規チェーンを作成します。 後者のソリューションでは、メインネットとやりとりするものの、各ソリューションの目標に合わせて様々な方法でセキュリティを維持しようとします。

レイヤー 2 のスケーリング

オフチェーンのソリューションのうち、セキュリティをイーサリアムメインネットに依存するものをレイヤー 2 のスケーリングソリューションと呼びます。

レイヤー 2 とは、メインネットが提供する堅牢かつ分散型のセキュリティモデルを活用しつつ、イーサリアムメインネット(レイヤー 1)外でトランザクションを実行することでアプリケーションのスケーラビリティを実現しようとするソリューションの総称です。 ネットワークの混雑によりトランザクション速度が低下すると、一部の Dapp では優れたユーザー体験を提供できなくなります。 さらに、ネットワークが混雑すると、トランザクションの送信者が価格をつり上げることでガス価格が上昇します。 これにより、イーサリアムの使用コストが非常に高額になる可能性があります。

大部分のレイヤー 2 ソリューションは、1 台または複数のサーバークラスタで構成され、各サーバーはノード、バリデータ、オペレーター、シーケンサー、ブロック生成者といった名称で呼ばれます。 これらのレイヤー 2 のノードは、実装により、ノードを使用する個人、企業、または組織が実行する場合、サードパーティ事業者が実行する場合、あるいは多数の個人が参加するグループが実行する場合(メインネットの場合と同様)があります。 トランザクションは通常、レイヤー 1(メインネット)に直接送信されるのではなく、これらのレイヤー 2 のノードに送信されます。 一部のソリューションでは、トランザクションは送信先のレイヤー 2 のインスタンスにおいてバッチとしてグループ化されてからレイヤー 1 に固定されるため、その後はレイヤー 1 において確定され、改変できなくなります。 このプロセスが具体的にどう実行されるかは、様々なレイヤー 2 のテクノロジー/実装により大きく異なります。

個別のレイヤー 2 インスタンスは、多くのアプリケーションに解放され、共有される場合と、特定のプロジェクトによりデプロイされ、関連アプリケーションのみを専用でサポートする場合があります。

レイヤー 2 が必要な理由

  • 毎秒あたりのトランザクション数を増加させることで、ユーザー体験が向上し、イーサリアムメインネットの混雑を軽減できる。
  • 複数のトランザクションを 1 つのトランザクションにロールアップしてメインネットに送信するため、ガス代が軽減でき、イーサリアムの包摂性が高まり、すべての人が利用できるようになる。
  • スケーラビリティを実現するためのアップデートは、分散化やセキュリティを犠牲にしてはならないが、レイヤー 2 はイーサリアムの基盤に基づくネットワークである。
  • アプリケーションごとに特化されたレイヤー 2 のネットワークでは、大規模な資産を取り扱う際に独自の効率性アップが実現できる。

レイヤー 2 の詳細

ロールアップ

ロールアップとは、レイヤー 1 の外部でトランザクションを実行した上で、データをレイヤー 1 に送信し、そこでコンセンサスを得るという手段です。 トランザクションデータはレイヤー 1 のブロックに含まれるため、ロールアップの安全性はイーサリアムのネイティブセキュリティにより保証されます。

ロールアップには、異なるセキュリティモデルを採用した以下の 2 種類があります:

ステートチャンネル

ステートチャネルでは、マルチシグのコントラクトを通じて、参加者はオフチェーンで迅速かつ自由に取引を行うことでき、その上でメインネット上でファイナリティを実現します。 これにより、ネットワークの混雑、手数料、および遅延を最小限に抑えることができます。 現在利用されているチャネルとしては、ステートチャネルとペイメントチャネルがあります。

ステートチャネルについて詳しく知る。

サイドチェーン

サイドチェーンは、EVM 互換の独立したブロックチェーンであり、メインネットと並行して実行されます。 イーサリアムとの互換性は双方向ブリッジで実現され、トランザクションは独自に選択したコンセンサスルールとブロックパラメータに基づいて実行されます。

サイドチェーンについて詳しく知る。

プラズマ

プラズマチェーンとは、メインのイーサリアムチェーンにおいて固定された別個のブロックチェーンで、不正証明(オプティミスティック・ロールアップなど)を用いて紛争を仲裁します。

プラズマについて詳しく知る。

バリディアム

バリディアムチェーンは、ゼロ知識ロールアップと同様に有効性証明を使用しますが、データはレイヤー 1 であるメインのイーサリアムチェーン上に保存されません。 これにより、バリディアムチェーンごとの毎秒あたりのトランザクション数は 1 万件に達し、複数のバリディアムチェーンを並行して実行することができます。

バリディアムについて詳しく知る。

様々なスケーリングソリューションが求められる理由とは?

  • 様々なソリューションは、イーサリアムネットワークにおける各部分の全般的な混雑を緩和できるだけでなく、単一障害点の発生を防ぐために役立ちます。
  • 複数のソリューションは、その全体においてさらに効力を発揮します。 つまり、様々なソリューションが共存し、調和的に機能することで、トランザクションの速度/スループットを今後爆発的に向上させることが可能になります。
  • すべてのソリューションにおいてイーサリアムのコンセンサス・アルゴリズムを直接活用する必要があるわけではなく、様々な代替手段によりその他の方法では得にくいメリットを得ることができます。
  • 特定のスケーリング・ソリューションがイーサリアムのビジョンを完全に満たすことは不可能です。

映像で学びたい場合

この動画の説明では、「レイヤー 2」という用語をオフチェーンでのスケーリング・ソリューション全般を指すものとして使用していますが、本記事では、「レイヤー 2」につき、レイヤー 1(メインネット)のコンセンサスに依存してセキュリティを保護するオフチェーンソリューションを指す用語としてを用いています。

参考文献

イーサリアムを学ぶために利用したコミュニティリソースはありますか? このページを編集して追加しましょう!

この記事は役に立ちましたか?