Ethereum Layer2について

Layer2はEthereumのガス代高騰などを始めとした諸問題への画期的なソリューションとして非常に注目されている。

しかし、Layer2が技術的にどう分類され、実際に各プロジェクトごとの実装やTVLなどに至るまでをまとめた記事は少ない。

私自身の勉強記録も兼ねて、Ethereum Layer2について技術を中心にまとめる。

初学者のため、少しでも内容の誤りや補足があれば遠慮なくTwitterに連絡をしてほしい。

また、お互いに疑問やアイデアなども共有し、一緒に学んでいきたいと願う。

https://twitter.com/mi0256

Layer2とは

https://ethereum.org/ja/layer-2/

レイヤー2 (L2) は、特定のイーサリアムのスケーリングソリューションの総称です。レイヤー2は、イーサリアムを拡張し、イーサリアムのセキュリティ保証がある別個のブロックチェーンです

また、そのLayer2のベースとなるブロックチェーンをLayer1と呼ぶようになった。

例えば、ビットコインはライトニングネットワークのLayer1であり、イーサリアムはロールアップ(OptimismやzkSyncなど)のLayer1と言える。

そして、Layer2の大きな目的は「スケーラビリティ」である。

スケーラビリティの主な目標は、分散化やセキュリティを損なうことなく、トランザクションのスピード(ファイナリティの迅速化) とトランザクションのスループット(1秒あたりのトランザクション量の増加) を向上させることです。

スケーラビリティを実現させることによって、セキュリティを維持しつつガス代を大幅に削減することができ、多くのユーザーと幅広いユースケースを得ることができる。

Layer2の仕組み

Layer2は大まかに説明すると「Layer2のトランザクションをまとめてLayer1に刻む」という仕組みになっている。

Ethereumではロールアップというソリューションを使ってLayer2を構築している。

ロールアップは、何百ものトランザクションをレイヤー1上で1つのトランザクションに束ねる (または「ロールアップ」)します。これにより、レイヤー1トランザクションフィーがロールアップのすべてのユーザーに分散され、各ユーザーにとって割安となります。ロールアップ・トランザクションの実行はレイヤー1外で行われますが、トランザクションデータはレイヤー1に書き込まれます。トランザクションデータをレイヤー1に書き込むことで、ロールアップはイーサリアムのセキュリティを継承します。

このロールアップには「Optimistic Rollup(楽観的ロールアップ)」と「zk-Rollup(ゼロ知識ロールアップ)」の2種類のアプローチがある。

Optimistic Rollup

Optimistic Rollupとはその名の通りで楽観的ロールアップという意味であり、トランザクションが有効である(不正が行われていない)と仮定した上で処理を続ける。

しかし、不正なトランザクションが行われた場合にはどうするのだろうか。

仕組みは単純であり、ユーザーが意義申し立て期間中に意義を申し立てることができる。

以下はOptimistic Rollupを採用しているArbitrumにおいて異議申し立てを行う例だ。

https://recruit.gmo.jp/engineer/jisedai/blog/l2-arbitrum/

異議申し立て期間 (dispute期間、約 1 週間) が経過し、主張されたロールアップ ブロックに誰も異議を申し立てなかった場合、Arbitrum はロールアップ ブロックが正しいことを確認します。 誰かが異議申し立て期間中に申し立てに異議を申し立てた場合、Arbitrum は効率的な紛争解決プロトコルを使用して、どちらの当事者が嘘をついているのかを特定します。 嘘つきは手付金を没収され、誠実者はその手付金の一部を彼らの努力に対する報酬として受け取ります (手付金の一部は燃やされ、共謀があったとしても嘘つきが罰せられることが保証されます)。

zk-Rollup

https://ethereum.org/ja/developers/docs/scaling/zk-rollups/