イーサリアム混雑解消へ
20年夏のDeFi(分散型金融)好況や21年のNFT(非代替性トークン)ブームの中心地となったイーサリアム・ブロックチェーンでは、22年現在においても、dApp(分散型アプリケーション)数、ユーザー数およびトランザクション数が増加しています。
これは、ブロックチェーンの普及という観点から見ると非常に喜ばしい動向ではありますが、同時にネットワークの過剰な混雑という致命的な問題も引き起こしています。
ネットワークが混雑すると、ガス代(手数料)が高騰しトランザクションが遅延するなど、ユーザーにとっては好ましくない状況が発生してしまいます。実際、20年夏以降イーサリアムのガス代は高騰したままで、執筆時現在、10DAI(約1,100円)の送付に約25ドルも(約2,900円)かかってしまいます(ガス代は常時変動しています)。
イーサリアム・エコシステム内の多数のプロジェクトや開発者たちが、様々な方法でこの課題解消に取り組んでいますが、特に問題解決の緒になるだろうと期待されている技術が、「ロールアップ」と呼ばれる技術です。
本記事では、ロールアップ技術が注目されている理由からその仕組みに至るまで、詳細に解説していきます。
1 開発背景
ロールアップとは何かを理解するには、まずはロールアップが必要になった背景を理解する必要があります。
前述のようにロールアップ技術は、DeFiやメタバースブームによるイーサリアムネットワークの混雑をきっかけに開発が加速していきました。処理能力に限界があるイーサリアムブロックチェーンでは、トランザクション数が増加するに従いネットワークに渋滞が起こり、その結果トランザクションの遅延やガス代の高騰が引き起こされています。要するに、ネットワーク参加者やトランザクション数が増加するに従い、スケーラビリティの低さが露呈し、問題視されるようになったということです。
スケーラビリティとは、「拡張性」を意味し、ブロックチェーン分野においては、「ネットワークの規模が拡大しても機能する能力」を指しています。一般的にはトランザクションの処理能力や処理速度、処理にかかるコストなどの概念を含蓄しており、ネットワークが拡大し参加者やトランザクションが増加しても適切に機能できるブロックチェーンは、「スケーラビリティが高い」と形容されます。反対に参加者およびトランザクション数の増加に伴い、トランザクションの遅延や混雑が引き起こされてしまうものは、「スケーラビリティが低い」ということになります。
このようなスケーラビリティに関する課題を解決するために、多くの開発者たちが解決策(スケーリング・ソリューション)を模索してきました。スケーリング・ソリューションとは、高度なスケーラビリティを実現するために利用されている技術や解決策の総称です。
ただ単にスケーラビリティを向上させることは、実はそこまで難しくはありません。幾分か中央集権的なシステムにしてしまえば、比較的簡単に高度なスケーラビリティを実現できます。しかし、分散性が最大の利点であるパブリックブロックチェーンにおいては、分散性を損なうことなく高度なスケーラビリティを実現する必要があり、分散性およびスケーラビリティの両立は、パブリックブロックチェーンのスケーリング・ソリューション開発において、絶対に妥協できない点でした。分散性およびスケーラビリティの両立ができるよう、開発者たちは、二つの異なる角度から解決策を開発しています。
1-1 オンチェーンのスケーリング
まず一つ目は、イーサリアム・ブロックチェーン自体の処理能力を向上させる方法です。
これは、主にイーサリアム財団というイーサリアムの開発主体が取り組んでいるアップグレードであり、彼らは、イーサリアムのメインチェーンに「シャードチェーン」と呼ばれる並列チェーンを64本実装し、それまでは一つのチェーンで一つ一つ順番に処理していたトランザクションを同時並行的に処理できるようにすることにより、イーサリアムの処理能力を上げようと試みています。
しかしこの開発には膨大な時間と労力を要し、シャードチェーンの導入は早くとも23年頃だと言われています。
関連:イーサリアム財団が「ETH1.0」と「ETH2.0」に新名称を命名
関連:イーサリアム2.0のAMAを実施、回答を動画で解説【CONNECTV】
1-2 オフチェーンのスケーリング
二つ目の方法は、メインのブロックチェーン外の技術を借りることにより、メインチェーンの負担を減らす方法です。つまり、オフチェーンのスケーリング・ソリューションです。ロールアップはこの種の解決策であり、シャードチェーンとは異なり、既に実現されています。
ロールアップの開発が盛んになる以前にも、チャンネル(例:ビットコインのライトニング)やサイドチェーン(例:ポリゴンのPoSチェーン)が、オフチェーンのスケーリングソリューションとして利用されていましたが、主にチャンネルでは複数の参加が難しく参入障壁が高いことを、サイドチェーンでは高度のセキュリティ維持が難しいことを理由に、ロールアップへと開発の中心が移行してきました。
オフチェーン・ソリューションは、車が渋滞している道路の混雑を緩和するための解決策として、並行する高速道路を建設するのに似ています。高速道路を建設することにより、元の道路のキャパシティは変わらなくとも、高速道路に流れていく車もあるおかげで、結果として元の道路の渋滞が緩和されます。L2技術も同じで、元のチェーン(L1、イーサリアム)のキャパシティが変わらなくとも、L2でトランザクションの大部分が実行されることにより、L1の混雑を緩和できるだろうと期待されています。
シャードチェーンの開発がイーサリアム財団主体で行われているのに対し、L2の開発には、イーサリアムエコシステム内の様々な開発者およびプロジェクトが参入しており、プロジェクト数も増加しています。
2 基本概要
2-1 ロールアップとは
ロールアップとは、メインのブロックチェーンのセキュリティを活用しながら、トランザクションの一部をオフチェーン(ブロックチェーン外)で処理することにより、ネットワークの混雑解消を図るスケーリング・ソリューションです。具体的には、トランザクション自体はL2で実行されるものの、トランザクションの正当性はL1のコンセンサス・メカニズムに依存して検証され、トランザクションデータの保存もL1で行われます。
「ロールアップ(Rollup)」とは、日本語では「クルクルと巻き上げる」「まとめて束ねる」といった意味を持つ単語です。オフチェーンで処理されたトランザクションのデータを、クルクルッとひとまとめにしてからメインチェーンに提出する仕組みとなっているため、このように呼ばれています(詳しくは 3 ロールアップの仕組みを参照)。
またロールアップは、メインとなるチェーン(L1またはレイヤー1と呼ばれる)のセキュリティに依存する形でL1上に構築されているため、「L2」や「レイヤー2」とも呼ばれています(L2の定義は不明確でありサイドチェーンもL2に含まれている場合もあります)。
ネットワークの混雑が顕著なイーサリアムのエコシステム内で活発に開発が進められていますが、ロールアップ技術自体はイーサリアムに特有な概念ではなく、他のブロックチェーンにも適用可能です。
2-2 特徴・利点
ロールアップは以下のような特徴を有しています。
- サイドチェーンと異なりセキュリティ(分散性)はL1により保証されるため、L1と同レベルのセキュリティを維持
- VM(仮想マシン)の実装が可能なため、スマートコントラクトに対応
- ステートチャネルのように最初に資金をロックする必要がない
- メインのチェーンよりも低コストかつ高速なトランザクションが可能
3 ロールアップの仕組み
ロールアップの仕組み自体は比較的簡潔で、以下のように機能しています。
- ユーザーがL2(=オフチェーン)でトランザクションを実行。
- (1)のトランザクションのデータを抽出および圧縮。
- トランザクションが正当に実行されたことを示すために、(2)のようにして圧縮された複数のトランザクションのデータをひとまとめにしてL1へ提出。
- L1に構築されているスマートコントラクトで、(3)で提出されたデータが正しいかどうかを検証。正当であればL1のブロックに取り込まれる。
このように、ロールアップを活用した場合、トランザクションの大部分がL2で実行され、L1で行われることは、L1-L2間の資金移動および(4)のような正当性検証のみです。
L1では、トランザクション一つ一つを処理する必要がなく、まとめて提出されたデータの正当性のみを検証すれば良いため、負担が軽減されます。これは、大まかに言えば、例えば友達とランチをした際に、一人一人別々にレジで食べた分を会計する代わりに、一人がまとめて全員分の金額を徴収し、まとめて払うようなものだと考えてみてください。店舗側の負担は、まとめて支払ってもらった方が少なくなります。
また、データは一まとめにしてL2から送られるため、保存に必要なスペースも少なく済みます。
4 オプティミスティックとZK
以上で見たように、ロールアップの仕組み自体はそこまで複雑ではありませんが、ここで「L1(イーサリアム)は、どのようにしてL2から提出されたデータが正当なものだと判断しているのか?」「L2で不正が行われていないことを、L1ではどのように保証できるのか?」という問いが浮かんできます。
ロールアップでは、正当性の保証に二つの異なる方法が採用されています。
4-1 オプティミスティック・ロールアップ
一つ目の正当性検証方法は、「オプティミスティック・ロールアップ(ORU; Optimistic rollup)」と呼ばれる方法です。「オプティミスティック」とは「楽観」という意味であり、その名が示す通り、L1に提出されるデータは全て正当なものだという楽観的な前提に基づいて機能しています。
ORUでは、全てのトランザクションが正当なものである場合、特に何も起きずに、L1へ提出されたデータはブロックに取り込まれていきます。しかしもし仮に、不正なトランザクションが発見された場合にのみ、そのトランザクションに待ったをかけることができます。つまり「疑わしきは罰せず」のようなシステムです。
誰かが不正を発見した場合、発見者は、そのトランザクションが正当ではないという証拠とステーク(掛け金)を一緒に提出します。そうすると嫌疑がかけられているトランザクションが再度実行されるのですが、この時L2ではなく、L1でもう一度トランザクションを実行します。その結果、本当にそれが不正なトランザクションであった場合、不正が行われた時点まで時系列を巻き戻し、正しい代わりにトランザクションを提出します。そして不正なトランザクションを提出した人には罰金が課され、発見者には報酬が支払われます。反対に、不正ではなかった場合、ペナルティとして発見者の掛け金が没収されます。
このように、不正も行われなければ、不正に対する不正も行うことができないシステムを構築することにより、ORUでは、正しい不正証明を提出できる参加者が一人以上いれば、健全に機能することができます。
ORUはこのような仕組みから、EVMの実装など、L1で実行可能なことは全てL2でも実行可能であるという利点がある一方で、不正を暴くために十分な検証期間を設けなければならず、この検証期間中は資金をL1に戻せないというデメリットもあります。執筆時点では、多くのORUプロダクトでこの期間は7日に設定されています。
とはいえMakerDAOのように、検証期間を待たずとも出金できるようなシステムをORU上に構築しているプロジェクトもあります。
関連:「Optimism Dai Bridge」MakerDAOフォーラムでイーサリアムネットワークの品質向上案
ORUプロジェクト一例
- Optimism
- Arbitrum
ZKロールアップ
二つ目の検証方法は、「ゼロ知識証明」という暗号学の証明法を用いた手法です。
この方法を採用しているロールアップは、「ゼロ知識証明(Zero Knowledge)」の頭文字を取ってZKロールアップと呼ばれています。ゼロ知識証明とは、端的に言えば、「ある事柄が正しいということを、その事柄が正しいという情報以外は開示せずに証明する方法」です。
関連:プライバシー性の高い分散型アプリケーション「Snapps」とは
ZKロールアップでは、L1へひとまとめにしたデータを提出する際に、「L2で実行されたトランザクションは正しい」ということを暗号学的に示す証明結果を一緒に提出します。この証明結果は、L1のスマートコントラクトで即座に検証され、正当であればブロックに取り込まれます。つまり、取り込まれたトランザクションは必ず正しいということが、数学的に証明されています。そのためZKロールアップでは、ORUのように不正検証期間を設ける必要はありません。
不正検証期間が不要でL1への資金引き出しが即座に実行できるという利点がある一方で、ゼロ知識証明は非常に複雑なため開発者の参入障壁が高く、EVM互換のZKロールアップはまだ開発途中にあります。
ZKロールアッププロジェクト一例
- zkSync
- Polygon Hermez
- Loopring
関連:個人情報管理のカギとなる「ゼロ知識証明」とは|XSL Labs寄稿
本記事は企業の出資による記事広告やアフィリエイト広告を含みます。CoinPostは掲載内容や製品の品質や性能を保証するものではありません。サービス利用やお問い合わせは、直接サービス提供会社へご連絡ください。CoinPostは、本記事の内容やそれを参考にした行動による損害や損失について、直接的・間接的な責任を負いません。ユーザーの皆さまが本稿に関連した行動をとる際には、ご自身で調査し、自己責任で行ってください。