ロールアップ:究極のイーサリアム・スケーリング・ストラテジー?
イーサリアムの主要なスケーリング・ストラテジーとしてのロールアップを詳しく解説します。この動画では、オプティミスティック・ロールアップ(Arbitrum、Optimism)とゼロ知識ロールアップの仕組みを説明します。
Date published: 2021年4月14日
ファインマティクスによる、イーサリアムの主要なスケーリング・ストラテジーとしてのロールアップに関する解説です。この動画では、オプティミスティック・ロールアップ(Arbitrum、Optimism)とZKロールアップを比較し、なぜロールアップがイーサリアムをスケーリングするための主要な方法になったのかを考察します。
このトランスクリプトは、ファインマティクスが公開した元の動画トランスクリプト (opens in a new tab)のアクセシブルなコピーです。読みやすさのために軽く編集されています。
レイヤー2 (L2) (1:17)
イーサリアムのスケーリングは、暗号資産において最も議論されているトピックの1つです。スケーリングの議論は通常、2017年のCryptoKittiesの熱狂、2020年の分散型金融 (DeFi) の夏、または2021年初頭の暗号資産の強気相場など、ネットワーク活動が活発な時期に白熱します。これらの期間中、イーサリアム・ネットワークに対する比類のない需要により、ガス代が非常に高騰し、日常的なユーザーがトランザクションの支払いを行うには高額になりました。
この問題に取り組むため、究極のスケーリング・ソリューションの探求は、複数のチームおよびイーサリアム・コミュニティ全体にとって最優先事項の1つとなっています。
一般的に、イーサリアム(実際には他のほとんどのブロックチェーンも同様)をスケーリングするには、主に3つの方法があります。ブロックチェーン自体をスケーリングする(レイヤー1 (L1) スケーリング)、レイヤー1 (L1) の上に構築する(レイヤー2 (L2) スケーリング)、そしてレイヤー1 (L1) の側面に構築する(サイドチェーン)です。
レイヤー1 (L1) の外側 (1:58)
レイヤー1 (L1) に関して言えば、Eth2がイーサリアム・ブロックチェーンをスケーリングするために選ばれたソリューションです。Eth2は、プルーフ・オブ・ステーク (PoS) への移行、プルーフ・オブ・ワーク (PoW) ブロックチェーンの状態を新しいプルーフ・オブ・ステーク (PoS) チェーンにマージすること、そしてシャーディングなど、相互に関連する一連の変更を指します。特にシャーディングは、ロールアップと組み合わせることで、イーサリアム・ネットワークのスループットを劇的に向上させることができます。
レイヤー1 (L1) の外側でのスケーリングに関しては、複数の異なるスケーリング・ソリューションが試されてきましたが、結果はまちまちです。一方で、イーサリアムによって完全に保護されているものの、特定のアプリケーションのセットにのみうまく機能するチャネルなどのレイヤー2 (L2) ソリューションがあります。他方で、サイドチェーンは通常EVM互換であり、汎用アプリケーションをスケーリングできます。主な欠点は、イーサリアムのセキュリティに依存せず、独自のコンセンサス・モデルを持つため、レイヤー2 (L2) ソリューションよりも安全性が低いことです。
ほとんどのロールアップは、イーサリアムのセキュリティに完全に依存しながら汎用のスケーリング・ソリューションを作成することで、これら2つの世界の良いとこ取りを目指しています。これはスケーリングの聖杯であり、セキュリティを犠牲にすることなく、イーサリアム上に存在するすべての既存のスマートコントラクトを、ほとんどまたはまったく変更せずにロールアップにデプロイできるからです。ロールアップが、すべてのスケーリング・ソリューションの中で最も期待されているのも不思議ではありません。
ロールアップは、レイヤー1 (L1) の外側でトランザクションを実行しつつ、トランザクション・データをレイヤー1 (L1) に投稿することで機能するスケーリング・ソリューションの一種です。これにより、ロールアップはネットワークをスケーリングしながらも、イーサリアムのコンセンサスからセキュリティを引き出すことができます。計算をオフチェーンに移行することで、ロールアップ・トランザクションのデータの一部だけをイーサリアムのブロックに収めればよいため、実質的に合計でより多くのトランザクションを処理できるようになります。
これを実現するために、ロールアップ・トランザクションは、ロールアップ固有のバージョンのEVMを実行できる別のチェーン上で実行されます。ロールアップ上でトランザクションを実行した後の次のステップは、それらをバッチにまとめてメインのイーサリアム・チェーンに投稿することです。このプロセス全体は、本質的にトランザクションを実行し、データを取得して圧縮し、単一のバッチとしてメインチェーンに「巻き上げる(ロールアップする)」ため、「ロールアップ」という名前が付けられています。
各ロールアップは、入出金の処理と証明の検証を担当する一連のスマートコントラクトをレイヤー1 (L1) にデプロイします。証明は、異なるタイプのロールアップ間の主な違いが現れる部分でもあります。オプティミスティック・ロールアップは不正証明を使用し、ZKロールアップは有効性証明を使用します。
オプティミスティック・ロールアップ (4:26)
オプティミスティック・ロールアップはデータをレイヤー1 (L1) に投稿し、それが正しいと仮定します。これが「オプティミスティック(楽観的)」という名前の由来です。投稿されたデータが有効であれば、問題はなく、他に何もする必要はありません。オプティミスティック・ロールアップは、楽観的なシナリオにおいて追加の作業を行う必要がないという利点があります。
無効なトランザクションの場合、システムはそれを特定し、正しい状態を回復し、そのようなトランザクションを送信した当事者を罰することができなければなりません。これを達成するために、オプティミスティック・ロールアップは、不正証明を検証し、不正なトランザクションを検出し、悪意のあるアクターが他の無効なトランザクションや誤った不正証明を送信するのを思いとどまらせることができる紛争解決システムを実装しています。
ほとんどのオプティミスティック・ロールアップの実装では、トランザクションのバッチをレイヤー1 (L1) に送信できる当事者は、通常ETHの形で保証金を提供する必要があります。他のネットワーク参加者は、誤ったトランザクションを発見した場合、不正証明を送信できます。不正証明が送信されると、システムは紛争解決モードに入ります。このモードでは、疑わしいトランザクションが再度実行されます。今回はメインのイーサリアム・チェーン上で行われます。実行によってトランザクションが実際に不正であったことが証明された場合、このトランザクションを送信した当事者は、通常、保証金として預けたETHをスラッシングされることで罰せられます。
悪意のあるアクターが誤った不正証明でネットワークをスパムするのを防ぐため、不正証明を送信しようとする当事者も通常、スラッシングの対象となる保証金を提供する必要があります。
レイヤー1 (L1) でロールアップ・トランザクションを実行できるようにするために、オプティミスティック・ロールアップは、トランザクションが最初にロールアップ上で実行されたときに存在した正確な状態でトランザクションをリプレイできるシステムを実装する必要があります。これはオプティミスティック・ロールアップの複雑な部分の1つであり、通常は、特定の関数呼び出しをロールアップからの状態に置き換える個別のマネージャー・コントラクトを作成することで実現されます。
ロールアップの状態を監視し、必要に応じて不正証明を送信する誠実な当事者が1人しかいない場合でも、システムは期待通りに機能し、不正を検出できます。ロールアップ・システム内の適切なインセンティブにより、紛争解決プロセスに入ることは例外的な状況であり、常に発生するものではありません。
ZKロールアップに関しては、紛争解決はまったくありません。これは、ゼロ知識証明と呼ばれる巧妙な暗号技術を活用することで可能になります。これがZKロールアップという名前の由来です。このモデルでは、レイヤー1 (L1) に投稿されるすべてのバッチに、ZK-SNARKと呼ばれる暗号証明が含まれています。この証明は、トランザクション・バッチが送信されたときにレイヤー1 (L1) のコントラクトによって迅速に検証され、無効なバッチは直ちに拒否されます。
その他の違い (7:28)
紛争解決プロセスの性質上、オプティミスティック・ロールアップは、レイヤー1 (L1) でトランザクションをファイナライズする前に、すべてのネットワーク参加者が不正証明を送信するのに十分な時間を与えなければなりません。最悪のシナリオでも不正なトランザクションに異議を唱えることができるようにするため、この期間は通常かなり長くなります。これにより、ユーザーは資金をレイヤー1 (L1) に引き出すまでに1〜2週間も待たなければならないため、オプティミスティック・ロールアップからの出金にはかなり時間がかかります。
幸いなことに、高速な「流動性の出口」を提供することでこの状況を改善しようとしているプロジェクトがいくつかあります。これらのプロジェクトは、レイヤー1 (L1)、別のレイヤー2 (L2)、またはサイドチェーンへのほぼ即時の出金を提供し、その利便性のために少額の手数料を請求します。Hop ProtocolとConnextは注目すべきプロジェクトです。
ZKロールアップには出金に時間がかかるという問題はありません。ロールアップ・バッチが有効性証明とともにレイヤー1 (L1) に送信されるとすぐに、資金を引き出すことができるからです。
しかし、ZKロールアップには独自の欠点があります。技術の複雑さゆえに、EVM互換のZKロールアップを作成することははるかに難しく、アプリケーションのロジックを書き直すことなく汎用アプリケーションをスケーリングすることがより困難になります。とはいえ、zkSyncはこの分野で大きな進歩を遂げており、かなり近いうちにEVM互換のZKロールアップを立ち上げることができるかもしれません。
オプティミスティック・ロールアップは、EVM互換性に関してやや容易です。依然としていくつかの変更を加えた独自のバージョンのEVMを実行する必要がありますが、コントラクトの99%は変更を加えることなく移植できます。また、ZKロールアップはオプティミスティック・ロールアップよりもはるかに計算量が多くなります。つまり、ZK証明を計算するノードはハイスペックなマシンである必要があり、他のユーザーがそれらを実行するのは困難です。
スケーリングの改善 (9:32)
スケーリングの改善に関して言えば、どちらのタイプのロールアップも、イーサリアムを毎秒約15〜45トランザクション(トランザクションのタイプによる)から、最大で毎秒1,000〜4,000トランザクションまでスケーリングできるはずです。レイヤー1 (L1) でロールアップ・バッチにより多くのスペースを提供することで、毎秒さらに多くのトランザクションを処理できることは注目に値します。
これが、Eth2がロールアップと大きな相乗効果を生み出すことができる理由でもあります。複数のシャードを作成することで、可能なデータ可用性のスペースが増加し、それぞれのシャードが大量のデータを保存できるようになるからです。Eth2とロールアップの組み合わせにより、イーサリアムのトランザクション速度は最大で毎秒100,000トランザクションに達する可能性があります。
オプティミスティック・ロールアップに関しては、現在OptimismとArbitrumが最も人気のある選択肢です。Optimismは、完全な立ち上げの前に技術が期待通りに機能することを確認するため、Synthetixやユニスワップなどの限られたパートナーとともに、イーサリアム・メインネットに部分的に展開されています。Arbitrumはすでにそのバージョンをメインネットにデプロイしており、エコシステムへのさまざまなプロジェクトのオンボーディングを開始しています。
Arbitrumで立ち上げられている最も注目すべきプロジェクトには、ユニスワップ、Sushi、Bancor、Augur、チェーンリンク、Aaveなど多数あります。Arbitrumはまた、Redditとのパートナーシップを発表しており、報酬システムをスケーリングするための個別のロールアップ・チェーンの立ち上げに注力しています。OptimismはMakerDAOと提携してOptimism Dai Bridgeを作成し、DAIやその他のトークンをレイヤー1 (L1) に迅速に引き出せるようにしています。
ArbitrumとOptimismはどちらも、EVM互換のオプティミスティック・ロールアップ・ソリューションを構築するという同じ目標を達成しようとしていますが、その設計にはいくつかの違いがあります。Arbitrumは異なる紛争解決モデルを持っています。不正証明が有効かどうかを検証するためにレイヤー1 (L1) でトランザクション全体を再実行する代わりに、紛争の範囲を絞り込み、疑わしいトランザクションが有効かどうかを確認するためにレイヤー1 (L1) でわずかな命令のみを実行する可能性のある、インタラクティブなマルチラウンド・モデルを考案しました。
もう1つの大きな違いは、トランザクションの順序付けとMEVの処理へのアプローチです。Arbitrumは当初、トランザクションの順序付けを担当するシーケンサーを実行しますが、長期的にはそれを分散化したいと考えています。Optimismは、トランザクションの順序付け(したがってMEV)を一定期間他の当事者にオークションで販売できるという別のアプローチを好みます。
ZKロールアップ (13:10)
イーサリアム・コミュニティは、少なくとも短期的には主にオプティミスティック・ロールアップに焦点を当てているように見えますが、ZKロールアップに取り組んでいるプロジェクトも非常に急速に進展しています。
Loopringは、取引所と支払いプロトコルをスケーリングするためにZKロールアップ技術を使用しています。HermezとZKTubeはZKロールアップを使用した支払いのスケーリングに取り組んでおり、HermezはEVM互換のZKロールアップも構築しています。Aztecは、自社のZKロールアップ技術にプライバシー機能をもたらすことに注力しています。
StarkWareベースのロールアップは、DeversiFi、Immutable X、dYdXなどのプロジェクトですでに広く使用されています。前述のように、zkSyncは、Solidityで書かれた任意のスマートコントラクトを完全にサポートできるEVM互換の仮想マシンに取り組んでいます。
分散型金融 (DeFi) (14:02)
ロールアップは分散型金融 (DeFi) にも大きな影響を与えるはずです。以前は高いトランザクション手数料のためにイーサリアムでトランザクションを行えなかったユーザーも、次にネットワーク活動が活発になったときにはエコシステムにとどまることができるようになります。ロールアップはまた、より安価なトランザクションとより速い確認時間を必要とする新しい種類のアプリケーションを可能にします。これらはすべて、イーサリアムのコンセンサスによって完全に保護されています。ロールアップは、分散型金融 (DeFi) の新たな高成長期を引き起こす可能性があるようです。
課題 (14:29)
しかし、ロールアップに関してはいくつかの課題があります。コンポーザビリティはその1つです。複数のプロトコルを使用するトランザクションを構成するには、それらすべてが同じロールアップにデプロイされている必要があります。
もう1つの課題は、流動性の分断です。イーサリアム・エコシステム全体に新しい資金が流入しない限り、ユニスワップやAaveなどのプロトコルでレイヤー1 (L1) に存在する既存の流動性は、レイヤー1 (L1) と複数のロールアップ実装の間で共有されることになります。流動性が低いということは、通常、スリッページが大きくなり、取引の実行が悪化することを意味します。
これはまた、当然のことながら勝者と敗者が存在することを意味します。現時点では、既存のイーサリアム・エコシステムはすべてのスケーリング・ソリューションを活用できるほど大きくありません。これは長期的には変わる可能性があり、おそらく変わるでしょうが、短期的には、一部のロールアップやその他のスケーリング・ソリューションがゴーストタウンになるのを目にするかもしれません。将来的には、ユーザーが完全に1つのロールアップ・エコシステム内で生活し、メインのイーサリアム・チェーンや他のスケーリング・ソリューションと長期間やり取りしないようになるかもしれません。
サイドチェーンへの脅威 (15:44)
ロールアップについて議論する際によく出てくる質問の1つは、それらがサイドチェーンに対する脅威であるかどうかです。サイドチェーンは依然としてイーサリアム・エコシステムにおいてその居場所を持つでしょう。レイヤー2 (L2) でのトランザクションのコストはレイヤー1 (L1) よりもはるかに低くなりますが、ゲームやその他の大量のトランザクションを処理するアプリなど、特定の種類のアプリケーションを締め出すには依然として十分に高い可能性が高いです。これはイーサリアムがシャーディングを導入したときに変わるかもしれませんが、それまでにサイドチェーンは長期的に生き残るのに十分なネットワーク効果を生み出すかもしれません。
また、各ロールアップ・バッチは依然としてイーサリアムのブロック・スペースの料金を支払う必要があるため、ロールアップの手数料はサイドチェーンよりも高くなります。イーサリアム・コミュニティは、イーサリアムのスケーリング・ストラテジーにおいて、少なくとも中短期的には、そして潜在的にはさらに長期間にわたって、ロールアップに大きな焦点を当てています。