見出し画像

"Optimistic"なクロスレイヤーネットワークはなぜ必要か

セカンドレイヤーが盛り上がってきました。今後イーサリアムの世界は、メインチェーン(L1)とロールアップ(L2)で構成されるようになります。そして、L1とL2、L2同士を繋ぐネットワークが重要な意味を持つようになります。

これは、マルチチェーン化が加速した2020年~2021年にかけて起こったことの再現です。チェーン間ネットワークが今まさに全盛期であることを考えると、レイヤー間ネットワークの全盛期は2022年末~2023年にかけて到来すると予想しています。

今回は、レイヤー間ネットワークが普及するにあたり、その仕組みがなぜ「Optimistic」である必要があるのか、について考察します。

クロスレイヤーネットワークとは

本noteでは、L1とL2(例:Ethereum ⇆ Optimism)、L2同士(例:Optimism ⇆ Arbitrum)を繋ぐネットワークのことを「クロスレイヤーネットワーク」と呼ぶことにします。

セカンドレイヤーと言えど、イーサリアムとシームレスにアセットを移動できるわけではなく、両者を繋ぐプロトコルが必要です。また、セカンドレイヤー同士はマルチチェーンと同様に競合状態となるため、それらにも相互接続のためのサードバーティ製プロトコルが必要です。

これが、クロスレイヤーネットワークです。そしてこのクロスレイヤーネットワークは、Optimisticである必要があると考えています。

「Optimisticである」とはどういうことか

セカンドレイヤーの文脈では、「Optimistic」というワードを頻繁に使います。日本語では「楽観的」と訳され、その独特なニュアンスからクリプト界隈ではさまざまな場面で「楽観的に」とか「楽観的だな」とか使われるようになりました。

語源はもちろん「Optimistic Rollup」です。Optimistic Rollupは、RollupをOptimisticに行う仕組みであるため、まずはOptimisticを除いた純粋なRollupの仕組みについて触れておきます。以下のnoteでも解説しましたが改めて。

Rollupとは
SolanaやBNBチェーンのように、ガス代を抑えるためにネットワーク容量を大きくしたL1チェーンは、ブロックの検証に必要なハードウェア性能が高く、結果的にネットワークが集権化する傾向にあります。
イーサリアムは、L1でスケーラビリティを出すのではなくL2で補う思想です。ブロックチェーンで最も重要なのは分散性だからです。
L1を道路に例えるなら、L2は高速道路だと言えます。
L2では、何百ものトランザクションを1つにまとめ、自身のネットワークに転送した後に、コンパクトな状態でL1へと送ります。先ほどと同様に道路で例えると、何百台もの車を1台の大型車に載せて運ぶイメージです。
これが、Rollupの考え方です。つまり、L2では基本的にトランザクションをRollupする(複数のトランザクションを1つにまとめる)ことを前提に実装されています。

https://note.com/tomohiro_tagami/n/nf094ed754057
Rollupの仕組み:https://ethereum.org/en/developers/docs/scaling/

より専門的に補足すると、RollupはトランザクションデータをCalldataとしてイーサリアムに記録する仕組みです。この時、Stateとして保存されるのはマークルルートだけになります。こうすることで、イーサリアムで保持するトランザクションのデータサイズを圧縮することが可能です(イーサリアムは「ステートマシン」と表現される)。

このRollupをOptimisticに行うのがOptimistic Rollupです。Optimisticに行うというのは、具体的には「不正が発生した時にだけトランザクションの検証を行う」ことを意味します。

不正が行われないことを前提に、基本的にはトランザクションの検証は行わず、不正が起きたときだけ検証すればいいよね?という考え方です。文字通り、「Optimistic(楽観的)」です。

イーサリアムでは、不正が行われようが行われまいが、基本的に全てのトランザクションを検証しています。そのため、ガス代が高くついてしまうのです。

Optimisticなクロスレイヤーネットワークの仕組み

Optimistic Rollupの仕組みをレイヤー間ネットワークに持ち込んだのが、Optimisticなクロスレイヤーネットワーク(Optimistic Cross-Layer Network、OCLN)です。

これは僕の造語なのでこのワーディングで定着するわけではないと思いますが、今後登場するレイヤー間ネットワークではこの仕組みが採用されると思います。

Optimisticなクロスレイヤーネットワークでは、セカンドレイヤーでのトランザクション検証と同様に、アセットの移動時に不正が発生した場合のみトランザクションの検証を行います。

レイヤーを跨いだアセットの移動には、多くのガス代がかかります。L1で行われる通常のトランザクションと比べて処理が複雑になり、その分必要なコントラクトも増えるからです。

こうすることで、正しいトランザクションに必要なガス代を削減することが可能です。

Optimisticなクロスレイヤーネットワークでは、Optimisticな考え方を前提にしているため、レイヤーを跨いだトランザクションの全てを検証することはありません。不正が発生したと疑われる場合に限り、送金者が検証を要求することで、初めてトランザクションの検証が行われます。

Optimisticなクロスレイヤーネットワークとセットで実装される仕組み

ここからはOptimisticとは関係ありませんが、クロスレイヤーネットワークは主に次の3点を特徴として持つようになると考えています。

  1. レイヤー間のアセット(トークン)移動に Mint & Burn を伴わない

  2. クロスレイヤーコントラクトを使用(EOA間の送金ではない)

  3. 不正の要求が容易

僕の中では、ここにOptimisticな性質を取り込んだ4つの特徴を持つネットワークを、Optimisticなクロスレイヤーネットワークと定義しています。最後に、上記の3点について簡単に説明しておきます。

1. レイヤー間のアセット(トークン)移動に Mint & Burn を伴わない

クロスレイヤーネットワークでは、アセットの移動時にMintとBurnを行いません。一般的なブリッジネットワークの場合、チェーンを跨いでトークンを移動させるためにMintとBurnを行っています。

しかし、Wormholeで起きたハッキング事件のように、MintとBurnの仕組みは脆弱性を生みやすいのも事実です。異なるチェーンで異なるコントラクトを使ってMintとBurnを行うわけですから、それは設計が複雑化するのも無理ありません。これについてはVitalikも言及しています。

2. クロスレイヤーコントラクトを使用(EOA間の送金ではない)

クロスレイヤーネットワークでは、アセットの移動をEOAで行いません。専用のクロスレイヤーコントラクトを使うことで、全てコントラクトで制御します。

コントラクトで制御できるということは、後述のように不正が行われた場合の検知も容易になるということです。

また、EOAではなくコントラクトを使用することで、アセット移動時にトークンがデポジットされたことなどが透明化されます。

3. 不正の要求が容易

クロスレイヤーネットワークは、2名のステークホルダーによって完結します。

  • 送金者:アセットを他のレイヤーに移動させたい人

  • リレイヤー:送金者のアセット移動を手伝ってあげる人

送金者が別のレイヤーにトークンを送りたい場合、リレイヤーがこれに応じる形でトークンの移動が実現されます。万が一、送金者がトークンを送ったにも関わらずリレイヤーがそれに応じなかった場合には、送金者は不正検証を要求することが可能です。

送金者は「トークンの移動に応じられていない」という事実だけを把握していれば不正であることを疑えるため、不正検証の要求を躊躇なく行うことができます。

Optimisticなクロスレイヤーネットワークでは、送金者が不正検証を要求した場合にのみ、トランザクションの検証が行われます。本当に不正が行われていた場合にはリレイヤーのデポジットが没収されることになり、不正が行われていなかった場合には送金者のデポジットが没収される仕組みです。

まとめ

今後イーサリアムの世界は、メインチェーン(L1)とロールアップ(L2)で構成されるようになります。そして、L1とL2、L2同士を繋ぐネットワークが重要な意味を持つようになります。それが、クロスレイヤーネットワークです。

Rollupというデータ圧縮が進んだ世界において、クロスレイヤーネットワークはOptimisticである必要があると考えています。2022年も1/4が終わろうとしていますが、残りの期間でOptimisticなクロスレイヤーネットワークは間違いなく普及します。今後に期待しましょう!


この記事が気に入ったらサポートをしてみませんか?