コンテンツへスキップ
0%

開発者のためのEthereumスケーリングソリューションガイド

Alchemy team headshot

執筆者 Alchemy

2022年5月17日 公開読了時間 2 分

Ethereumは非中央集権性とセキュリティを重視しているため、トランザクションの処理が遅くなります。これはネットワークのスループットに影響を与え、分散型アプリケーションがスケールする能力に影響を及ぼします。

Ethereumのスケーラビリティ問題を解決するために多くの設計が提案されており、それぞれ異なる利点を提供しています。このガイドではEthereumのスケーリングソリューションを紹介し、それらがどのように機能し、なぜ重要なのかを説明します。

スケーラビリティとは何か?

スケーラビリティとは、機能性を犠牲にすることなく、使用量の指数関数的な増加に対応するシステムの能力を指します。 ブロックチェーン技術の文脈では、スケーラビリティとはブロックチェーンが機能性に影響を与えることなくトランザクションの増加をサポートする能力を意味します。

現在、Ethereumのトランザクション処理能力は1秒あたり7〜15トランザクション(TPS)に限られています。一方、Oracle DatabaseやMicrosoft SQL Serverのような従来の中央集権型データベースは、1秒あたり数千件のトランザクションを処理できます。

ethereumのトランザクション毎秒チャート

Source: Blockchair

Ethereumの設計がスケーラビリティに影響を与える2つの方法

Ethereumはスループットが低く処理速度が遅いですが、それは非中央集権性とセキュリティをスケーラビリティより優先しているためです(スケーラビリティのトリレンマ)。

Ethereumの設計がスケーラビリティに影響を与える方法をいくつか紹介します:

1. Ethereumのコンセンサスアルゴリズムはトランザクションを逐次処理する

Ethereumはproof of work (PoW)を使用しており、これはネットワーク上のトランザクションがすべてのノードによって受理・検証される必要があることを意味します。これにより非中央集権性、さらに重要なことにセキュリティが促進されます。

欠点は、トランザクションの逐次実行がトランザクションのファイナリティ(トランザクションが確定するまでの時間)に影響を与えることです。これがEthereumの高いTPSレートをサポートできない原因にさらに寄与しています。

2. Ethereumはブロックサイズを1MBに制限している

Ethereumはマイニングされたブロックが保持できるデータ量を制限しています(1MB)。これは、ブロックサイズを制限することでノードがブロックチェーンの履歴をより効果的に保存できるようになり、非中央集権性が向上するためです。ブロックサイズが大きくなると、フルノードの運用が困難になり、非中央集権性が損なわれます。

しかし、1MBのブロックサイズ制限は、マイナーが1つのブロックに詰め込めるトランザクションデータを減少させ、ネットワークのスループットに影響を与えます。小さいブロックサイズは、Ethereum Virtual Machineで操作を実行するために必要な計算リソースであるgasのコストにも影響します。

マイナーの計算能力は有限であるため、より高い手数料のトランザクションを優先せざるを得ないことがよくあります。これがEthereumユーザー間である種の入札競争を生み出し、トランザクション手数料の天文学的な高騰を引き起こします。

Ethereumスケーリングソリューションとは何か?

Ethereumスケーリングソリューションとは、Ethereumネットワーク上のトランザクション実行を改善するために特別に設計されたプラットフォームです。 レイヤー2ロールアップやサイドチェーンなどのEthereumスケーリングソリューションは、異なるメカニズムを使用してネットワークのスループットを向上させるプロトコルです。

ethereumスケーリングソリューションの図

Source: Reddit

レイヤー1 vs レイヤー2スケーリングソリューション

スケーリングソリューションは大きく2つのカテゴリーに分けられます。実行地点に基づいて区別される「オンチェーン」と「オフチェーン」のソリューションです。

レイヤー1スケーリングソリューション

レイヤー1スケーリングは、ブロックチェーンネットワークに変更を加え、ベースレイヤーを書き換えることを伴います。「オンチェーン」という説明は、Ethereumへのスケーリングアップグレードがブロックチェーン自体で実行されることを意味します。

レイヤー1はブロックサイズを増やすことでスケールできる

レイヤー1のスケーリング改善策として考えられるのは、ブロックサイズの増加です。Ethereumの1MBのブロックサイズが増加すれば、マイナーはブロックに追加のトランザクションデータを含めるためのスペースが増えます。

Ethereumのブロックサイズを増やすことでTPSレートが増加する一方で、副作用として非中央集権性からの緩やかな後退が起こります。というのも、ブロックサイズが大きくなるとブロックチェーンのサイズも増大し、フルノードの運用が困難になるためです(スーパーコンピューターを持っている場合を除いて)。このため、Ethereumコミュニティはブロックサイズの拡大をスケーリングソリューションとして除外しています。

レイヤー1はブロックチェーンシャーディングによりトランザクションを並列処理してスケールできる

ブロックチェーンシャーディングは、Ethereumが使用しているデフォルトの逐次実行モデルの代わりにトランザクションの並列実行を導入するスケーラビリティ改善策です。シャーディングでは、ブロックチェーンがより小さなチェーン(シャード)に分割され、それぞれが個別のトランザクションを検証・処理します。

Ethereumが現在どのように動作しているか考えてみましょう:

トランザクションは検証されるまでネットワーク全体にブロードキャストされます。シャーディングでは、トランザクションがすべてのノードによって承認される必要はありません。代わりに、各シャードにはトランザクションを承認するためのバリデーター(コレーターと呼ばれる)がいます。

コレーション(シャードチェーン上のトランザクションの集合)は、コレーターの⅔によって署名される必要があります。また、提案されたコレーションはファイナリティを達成する前にメインチェーンに追加される必要があります。これらの対策が合わさって、システムのセキュリティが確保されます。

シャーディングにより、Ethereumは非中央集権性やセキュリティを犠牲にすることなくTPSを増加させることができます。シャードチェーンが異なるトランザクションを同時に処理するため、ネットワーク全体の処理能力が向上します。さらに、ネットワーク参加者は暗号学的証明を通じてシャードコレーションの有効性を証明できます。

ethereumシャーディングの図
Source: Genesis Block

Source: Genesis Block

レイヤー2スケーリングソリューション

レイヤー2(L2)のスケーリング改善策は、メインチェーン(レイヤー1)から外れて実行されることからそう呼ばれています。「オフチェーン」ソリューションとも呼ばれるレイヤー2スケーリングは、セキュリティをメインチェーンに依存する別のネットワーク上でトランザクションを処理することを伴います。

L2ソリューションは多くの場合、トランザクション速度とスケーラビリティを重視して設計されており、非中央集権性とセキュリティはここでは二の次となります。トランザクションデータをEthereumのメインレイヤーに投稿するため、L2はメインネットの非中央集権性とセキュリティの恩恵を受けることができます。また、L2ソリューションはEthereumの上に構築されているため、独自のネイティブトークンを必要としません。

これらのオフチェーンプロトコルは、複数のトランザクションを1つのトランザクションに集約してメインチェーンに追加できます。これによりネットワークへの負荷が軽減され、使用量が増加するにつれてアプリがスケールする可能性が高まります。

レイヤー2スケーリングソリューションの例:

  • Rollups
  • ステートチャネル
  • Plasma
  • Validium

レイヤー2 vs サイドチェーン

サイドチェーンは、Ethereum Mainnetと相互作用するものの、セキュリティをそれに依存しない別のブロックチェーンです。サイドチェーンはクロスチェーンブリッジを介してEthereumと接続され、これにより2つのチェーン間での資産の移動が可能になります。

サイドチェーンは、高スループットを可能にする異なる特性を備えて設計されているため、スケーラビリティに優れています。例えば、Polygonサイドチェーンは、より高速なトランザクションのためにproof of stake (PoS)コンセンサスアルゴリズムを使用しています。

レイヤー2ソリューションとサイドチェーンの主な違いは、そのセキュリティ保証にあります。L2ネットワークはEthereumのセキュリティ保証を享受しますが、サイドチェーンはそうではありません。

サイドチェーンはそのコンセンサスメカニズムによって保護されている一方、L2はEthereumのコンセンサスから恩恵を受けます。これが、多くの人がL2をサイドチェーンよりも安全だと考える理由です。

なぜEthereumにスケーリングソリューションが必要なのか?

優れたEthereumスケーリングソリューションは、web3の開発者やユーザーに低いgas手数料と高速なトランザクションを提供しつつ、トランザクションの安全性を保ちます。

Ethereumにスケーリングソリューションが必要な理由は以下の通りです:

1. トランザクション手数料の低減

Ethereumのgas手数料の問題は、広範な批判の的となってきました。スケーリング改善策はネットワークの混雑を軽減し、トランザクションコストの大幅な低下につながる可能性があります。

gas価格の低下は、より良いユーザー体験とアプリの採用率向上につながります。ユーザーはトランザクションの失敗や法外なgas手数料の支払いに悩まされることがなくなります。

2. より高速なトランザクション

多くのスケーリングソリューションは、Ethereumがより短い時間でより多くのトランザクションを処理する能力を向上させるために特別に作られました。

例えば、rollupsは数千のオフチェーントランザクションを1つのオンチェーントランザクションにまとめることができます。同様に、シャーディングはトランザクションの並列処理を促進することでスループットを向上させます。

これらの改善の結果として、1秒あたりのトランザクション数(TPS)レートが増加します。推定値は様々ですが、多くの人はL2とシャーディングによってEthereumのTPSが数千に達すると予想しています。

3. セキュリティの向上

L2はネットワークセキュリティを低下させることなくEthereumをスケーリングするのに優れています。オンチェーンスケーリングとは異なり、オフチェーンスケーリングプロジェクトはEthereumの非中央集権性に影響を与えません。

これらのL2は別のチェーンであるにもかかわらず、そのセキュリティはEthereumブロックチェーンと密接に結びついています。これは、ユーザーが資産をリスクにさらすことなく、スケーラビリティの恩恵を享受しながらこれらのプロジェクトと安全にやり取りできることを意味します。

Ethereumで最も一般的な5つのスケーリングソリューション

Ethereumで最も一般的な5つのスケーリングソリューションは、rollups、サイドチェーン、ステートチャネル、plasmaチェーン、Validiumです。

1. Rollups

Rollupsは、オフチェーンで実行された複数のトランザクションを組み合わせる、つまり「ロールアップ」してバッチにし、それをメインチェーンに渡します。1つのrollupには、メインチェーンが処理しなければならないトランザクション量を削減するために圧縮された、数百、場合によっては数千のトランザクションが含まれることがあります。

スケーラビリティの向上に加えて、rollups内のトランザクションはL1チェーンに固定されており、トランザクションのファイナリティを保証するため、rollupsはEthereum自体と同程度のセキュリティレベルを提供します。

rollupsには主に2種類あります:optimistic rollupsとzero-knowledge rollupsです。それぞれ、トランザクションの計算方法とEthereumへの投稿方法が異なります:

Zero-knowledge rollups、つまりZK-rollupsはオフチェーンで計算を実行し、Succinct Non-Interactive Argument of Knowledge (SNARK)またはSuccinct Transparent Argument of Knowledge (STARK)と呼ばれる暗号学的証明を生成します。これらの**「妥当性証明(validity proofs)」**は、メインチェーン上のノードにトランザクションバッチの有効性を保証します。

Optimistic rollupsは、デフォルトでトランザクションが有効であると仮定し、すべてのトランザクションバンドルに対して妥当性証明を生成しません。ただし、optimistic rollup内のトランザクションの有効性は**不正証明(fraud proof)**によって異議を申し立てることができます。

では、両方のrollup方式はどのように比較されるでしょうか?ZK-rollupsは妥当性証明を生成するためより安全ですが、そのためoptimistic rollupsよりも処理が遅くなります。

ZK-rollupsは複雑なメカニズムであるため、EVM互換性をプログラムに組み込むことが困難です。その結果、ZK-rollupsはoptimistic rollupsと比較して機能が限定されています。

Polygonは、Hermez 2.0の計画に伴い、zero-knowledge rollupsの機能をEthereumネットワークに拡張するためzero-knowledge EVM (zkEVM)に取り組んでいます。

optimistic rollupsを使用するEthereum L2

  • Optimism
  • Arbitrum
  • Boba Network
  • Immutable X

ZK rollupsを使用するEthereum L2

  • zkSYNC
  • Loopring
  • dYdX
  • StarkNet

開発者としては、dAppにrollupsを統合してトランザクションのファイナリティとスケーラビリティを改善できます。これにより、ユーザーはEthereumで頻繁に発生する高いgas手数料、トランザクションの失敗、遅い処理速度を経験せずに済みます。

2. サイドチェーン

サイドチェーンは、レイヤー2ソリューションの一種であり、Ethereum Mainnetと並行して動作する別のブロックチェーンです。これらの違いは、暗号経済的インセンティブ、コンセンサスメカニズムなどにあります。

Ethereum専用に設計されたサイドチェーンはEthereum Virtual Machine (EVM)互換性を持ち、スマートコントラクトをサポートできます。これは、サイドチェーン上にプロジェクトをデプロイし、そのスケーラビリティの向上をアプリに活用できることを意味します。

クロスチェーンブリッジは、サイドチェーンをEthereumスマートコントラクトプラットフォームに接続するために必要です。その名の通り、ブロックチェーンブリッジはユーザーがメインチェーンとサイドチェーンの間を移動するためのゲートウェイを提供します。

ブリッジを使用するには、元のチェーン上で一定量の資産(この場合はETH)をロックする必要があります。その後、同量の資産がサイドチェーン上で生成され、ウォレットに預けられます。

その後、サイドチェーン上で自由に取引を行い、その優れたトランザクション処理能力を活用できます。前述の通り、サイドチェーンはスケーラビリティを提供するように設計されており、それを実現するために異なるメカニズムを採用しています。

Ethereumサイドチェーンの例:

  • Polygon
  • xDAI
  • SKALE

その他の代替レイヤー1(L1)ブロックチェーンも、特にEVM互換のブロックチェーンであれば、Ethereumサイドチェーンとして機能できます。これらのalt L1は、多くの場合、より低いgas手数料、より優れたトランザクションのファイナリティ、場合によってはより豊富な機能などの利点を提供します。

EVM互換L1の例:

  • Avalanche
  • Fantom
  • Binance Smart Chain

3. ステートチャネル

ステートチャネルは、メインチェーンがすべてのトランザクションを検証する必要なく2者間で取引できるようにするオフチェーンスケーリングソリューションです。ステートチャネルは基本的に、必要な当事者の承認があった場合にのみ実行されるマルチシグスマートコントラクトです。

ステートチャネルの仕組み

  1. Aliceは、毎朝コーヒーを売ってくれるBobとステートチャネルを開設したいと考えています。彼女がチャネルに0.4 ETHを預け、このトランザクションがMainnet上に公開されるとします。

  2. この開設トランザクションの後、AliceとBobは望む限りオフチェーンでトランザクションを実行できます。唯一の注意点は、両者がトランザクションに署名する必要があること、つまりAliceとBobはコーヒーの各支払いを承認しなければならないということです。

  3. Aliceが預金を使い切った場合、彼女はメインチェーン上に終了トランザクション(exit transaction)を公開できます。このトランザクションはチャネルの最新の既知の状態を反映し、それがファイナリティのために記録されます。AliceとBobは十数回取引を行ったかもしれませんが、Ethereumネットワークには開設トランザクションと終了トランザクションの2つのトランザクションしか記録されません。

ステートチャネルは、長い待ち時間や高いトランザクション手数料を経験することなく、当事者が安全なオフチェーントランザクションを行うことを可能にします。また、マイナーが処理するトランザクションが減り、より高速に作業できるようになるため、スケーラビリティも向上します。

ステートチャネルを使用するEthereumスケーリングソリューション:

  • Raiden Network
  • Connext Network
  • Celer Network

4. Plasmaチェーン

Plasmaのホワイトペーパーは、メインブロックチェーンまたは「ルートチェーン」から派生する「チャイルドチェーン」の概念を紹介しています。Plasmaチェーンはトランザクションを検証できますが、ルートチェーンのセキュリティに依存しています。トランザクションの有効性を証明するため、チャイルドチェーンはルートチェーンに暗号学的証明を提出します。

Plasmaチェーンはサイドチェーンに似ており、スマートコントラクトを介してEthereumブロックチェーンと接続します。Plasmaチェーンを使用するには、チャイルドチェーン上でトークンを取得する前に、ルートチェーン上のスマートコントラクトにETHをロックする必要があります。

Plasmaは、Ethereumのベースレイヤーから直接セキュリティを得ているため、L2スケーリングソリューションと見なされています。これが、例えばサイドチェーンよりも安全である理由です。

Plasmaは、Ethereumのメインチェーン上の各ブロックに対して**マークルルート(Merkle roots)**を公開します。ブロックルートは、トランザクションに関する情報を検証するために使用できる小さな情報片です。Plasmaチェーンで攻撃が発生した場合、ユーザーは適切な証明を使ってメインチェーンに安全に退出し、資金を引き出すことができます。

plasmaを使用するEthereumスケーリングソリューション

  • OMG Plasma
  • Gluon Network

5. Validium

Validiumsは、メインEthereumレイヤーの外で計算を実行するという点でZK-rollupsに似ていますが、主な違いは、ZK-rollupsのように圧縮データをメインチェーンに投稿する代わりに、Validiumsが「オフチェーンデータ可用性」を使用することです。

Validiumsはデータプロバイダーとともにデータをオフチェーンで保存するため、ある程度カストディアル型になります。ただし、StarkWareのような一部のソリューションでは、データプロバイダーが誠実に行動することを保証するためにData Availability Committees(DAC)を使用しています。

Validiumsは非常に低い手数料と高速なトランザクション(最大100,000 tps)を実現します。しかし、ZK-rollupsなどの他のスケーリングソリューションと比較して、より多くの信頼の前提が必要です。

validiumを使用するETHスケーリングソリューション:

  • DiversiFi
  • Immutable X

スケーリングソリューションにはどのような欠点があるか?

Ethereumスケーリングソリューションの2つの欠点は、実装が複雑であることと、セキュリティ保証が低くなる可能性があることです。

1. 複雑さ

多くのスケーリングソリューションは実装が複雑であり、これがその機能性に影響を与える可能性があります。例えば、Ethereum開発チームは、アップグレードに必要な作業量のため、シャーディングのリリース日を一貫して延期してきました。

2. セキュリティ保証の低下

多くのL2およびL1スケーリングソリューションはセキュリティをEthereumに依存していますが、Ethereumほど安全であることはできません。各スケーリングソリューションは、速度のために非中央集権性やセキュリティなどの要素を犠牲にします。ユーザーはこれらのプラットフォームを使用する前に、これらのリスクを十分に理解しておく必要があります。

結論

このガイドで取り上げたスケーリングプロジェクトは、Ethereumのスケーラビリティに向けた取り組みにおいて大きな役割を果たすでしょう。ただし、これが長期的なスケールを保証するのに十分かどうかはまだ分かりません。

次のdAppをL2でスケールする予定ですか?

Alchemyの無料アカウントに登録する。世界最大のブロックチェーン開発プラットフォームであるAlchemyは、Arbitrum、Optimism、Polygon、StarkNetなどの主要なL2をサポートしています。

Background gradient

ブロックチェーンで魔法を生み出す

Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。