blockchainjapan’s blog

旬のブロックチェーンを記事を厳選して提供!

ロールアップの非技術的な紹介


ロールアップの非技術的な紹介

Author: Benjamin Simon
2020年6月1日1
© Mechanism Capital

イントロダクション

まず、比喩から始めましょう。

あなたが中学校の数学の授業の場に戻ってきたと想像してください。中学校の数学の先生が、あなたに100問の割り算の計算問題が記載されたA4の用紙を私たちに渡します。

各問題は非常に大きな数字(例:1394875435÷7563748)で構成されており、その課題はできるだけ多くの問題を解くことであり、条件として解答と計算手順を全てその用紙に記述しないといけないというルールです。もちろん短時間で。

誰もがその不条理さに愕然とすると共に、不可能であることを悟るのに多くの時間は要さないでしょう。

さて、このストーリーがロールアップとどう関係するのでしょうか?

この比喩では、用紙はイーサリアムのブロックであり、計算問題はスマートコントラクトのトランザクションです。イーサリアムは現在、とても混雑しています。それは、各ブロックに含める必要のあるトランザクションがあまりにも多いからです。さらに困るのは、これらのトランザクションの大半は、フラッシュローンやアグリゲーター経由の計算量の多いものばかりなのです。私たちは、DeFi誕生前のシンプルな送金や決済だけを考えればいい時代から既に脱却してしまっているのです。

「数学の先生が、長い割り算の計算行程を1枚の用紙に全て記入する事を要求するように、イーサリアムも同様に、1つのトランザクションごとに計算を処理・記録しなければならないのです。」これがこの問題の核心です。

そう、ロールアップが誕生するまでは

ロールアップは、計算をオフチェーンに移し、オンチェーンには最低限のトランザクションデータだけを保存します。つまり基本的になイーサリアムのスクラッチペーパー(計算用の別紙)として機能するという事です。ロールアップは全ての面倒なデータ処理を実行し、指数関数的に膨大になったスマートコントラクトのトランザクションを1つのイーサリアムブロック内でバッチ処理(「ロールアップ」)することができるのです。

この比喩は、ロールアップが解決しようとしている問題(計算行程による過負荷から生じるネットワークの混雑)をイメージするのに役立ちます。また、ロールアップによる解決策がどのようなものなのかについても、漠然としたイメージができたのではないでしょうか?(計算行程をオフチェーンに移転する)。しかし、ロールアップが実際にどのように機能し、なぜ関わる人間を興奮させるのかについて、より掘り下げる必要があります。

ロールアップとは?

ロールアップとは、基本的には独立したブロックチェーンとして表現できますが、いくつかの理解すべきポイントがあります。イーサリアムと同様に、ロールアップのプロトコルは、スマートコントラクトコードを実行するバーチャルマシンを持ちます。ロールアップのバーチャルマシンは、イーサリアムのバーチャルマシン(EVM)とは独立して動作しますが、イーサリアムのスマートコントラクトにより管理されます。これにより、ロールアップとイーサリアムは通信が可能になっています。ロールアップはトランザクションを実行してデータを処理し、イーサリアムはその結果を受け取って保存します。2

技術的な部分では、ロールアップチェーンと他のブロックチェーンとの明確な違いは、新しいブロックを生成する方法です。

通常のブロックチェーンは、分散ネットワーク上の関係者(マイナーやバリデーター)によって維持されています。この関係者たちは、コンセンサスにより共同でブロックを生成していきます。簡単に言えば、あるトランザクションをどのように処理するか、つまり次のブロックをどのように構築するかについて、関係者同士で投票するという事です。そして、多数の票を獲得したブロックが、チェーンに永続的なものとして書き込まれます。

一方、ロールアップチェーンは、この多数決の方法を用いません。その代わりとして、ロールアップの状態を監視する一人の当事者が、そのトランザクションをどう処理するかについて、「assertion」と呼ばれるものをイーサリアムに送り返します。3 重要なポイントとしては、イーサリアムは、他のロールアップ当事者の過半数がこの主張を支持するかどうかにかかわらず、この主張を送られた指示通りに処理するということです。4

え、ロールアップは集中管理型なのですか?

ロールアップのブロック生成を集中管理で実行する事は、ロールアップが効率的なトランザクション処理を可能にしている一因です。しかし、これはどう考えても気になる問題ですよね?多数のコンセンサスを得ずに、ロールアップはどのようにブロック生成の正当性を保証するのでしょうか。ブロック生成者が悪意を持っていた場合はどうなるのでしょうか。

このような集中型は、コンセンサスベースのブロックチェーンを熟知している皆さんにとって混乱を招くものです。実際、話がここで終わってしまうと、Avalancheの共同創業者Kevin Seqniqi氏が最近ツイートしたように、ロールアップは「単一の当事者により複製されたデータベースに過ぎない」と誤った見解を持って結論づけたくなるかもしれません。

これから説明しますが、実際には、集中型に関する主張は論理的に間違っているのです。通常、強固なコンセンサスメカニズムを持たない中央集権型のブロックチェーンが、不正や敵対的買収に対して脆弱であることは事実です。しかし、ロールアップが提供するユニークなケースでは、分散化されていないことは、実はセキュリティやインテグリティ5にとって問題にはならないのです。ここを理解するために、もう少し掘り下げましょう。

データの可用性の重要性

冒頭の数学の課題の話を思い出してください。計算用のスクラッチペーパーの存在は、問題とその解答だけをメインシートに書くことができるという解決策となります。ロールアップをスクラッチペーパーに置き換えて「スマートコントラクトの計算をオフチェーンに移し、オンチェーンには最低限のトランザクションデータしか保存しない」というプロセスを簡単に説明しました。

この最後の部分、つまり「オンチェーンのトランザクションデータの保存」は、ロールアップが機能する上で非常に重要なものとなります。ロールアップでは、データ処理としての計算行程のみがオフチェーンで実行されます。ロールアップが処理する全てのトランザクションは、入力データ(正式にはcalldata)をイーサリアム上に保存したままとなります。

ここで、トランザクションデータをオンチェーンで維持することの重要性について触れましょう。数学の課題の例で言えば、先生に提出する用紙には、長い割り算の問題とその解答が含まれています。これにより、個々の計算行程を記載していなくても、先生は生徒の計算の整合性を事後的にチェックする事が可能になります。同様に、オンチェーンでデータが持続的に利用できるという事は、ロールアップ上のあらゆる計算がイーサリアムのベースレイヤーによって繰り返される事を意味するものです。

つまり、ロールアップがオンチェーンでデータを利用できる事で、レビュープロセスを組み込むことができます。イーサリアムは、ロールアップチェーン上で処理されたトランザクションの整合性を、元帳に書き込む前にダブルチェックすることが可能なのです。これは、米国の最高裁判所司法審査権に近いものがあるといえるでしょう。6

限定性による強み

ロールアップの主な特徴は、その限定的な性質にあるといえるでしょう。イーサリアムは必要に応じてロールアップのトランザクションを覆すことができるため、ロールアップはトランザクションをベースレイヤーに提供するだけで、強制的に書き込む事はできません。イーサリアムは必要に応じて、このトランザクションを覆すことができるため、ロールアップのトランザクションには真のファイナリティを持たないと言われています。

ロールアップの限定的な性質を念頭に置いて、例の集中化の疑惑に戻りましょう。ロールアップの個々のブロック生成者が悪意を持ってトランザクションを処理しようとする可能性がある場合、イーサリアムはレビュープロセス完了後にバッチを拒否するだけで、ブロック生成者はペナルティを受けることになります。7

このレビュープロセスが具体的にどのように機能するかは、ロールアップがOptimisticかゼロ知識かによって異なります(詳しくはこちら)。しかし、どちらの場合においてもレビュープロセスは、ロールアップなしでイーサリアムが単独でトランザクション処理するよりも指数関数的に効率的となります。

つまり、ロールアップシステムは、イーサリアムが主権チェーンであることを保証するチェックアンドバランスに基づくものであり、イーサリアム自身のコンセンサスが真実の最終判断機能を持ちます。ここで重要なことは、サイドチェーンは同様ではないということです。サイドチェーンは、同じ様なレビュープロセスを持たず、完全に独立したコンセンサスメカニズムによってトランザクションを処理します。サイドチェーンのトランザクションは、(イーサリアム上で確認されるまで)ロールアップトランザクションにはない方法で「最終」と判断されます。つまりサイドチェーンは、イーサリアム自身の分散型セキュリティの恩恵を受けないため、それ自体にかなり大きな信頼の前提を必要とするという事です。実際のところ、サイドチェーンはロールアップよりもEVM互換のレイヤー1に近いと言えるでしょう。

最後に

まとめると、ロールアップは計算をオフチェーンに移し、オンチェーンのスペースを確保します。オンチェーンのデータの可用性は、イーサリアム自身によるロールアップトランザクションの整合性のダブルチェックを可能にするため、非常に重要な部分となります。このレビュープロセスは、ロールアップブロックの生成に対するチェックシステムとして機能し、コンセンサスメカニズムの必要性を無くすのです。

イーサリアムは、ロールアップによってネットワークの分散型セキュリティを損なうことなく、オンチェーンの容量を飛躍的に増やすことができます。これは私の考えでは、誰もが望んでいたスケーリングソリューションと同じくらいエレガントなものであると言えるでしょう。

本文は以上です。丁寧なコメントとアドバイスをいただいたt11sさんとHasuさん、ありがとうございました。


以下注釈:

  1. Note: I recently began a series on rollups in Deribit Insights, the first installment of which explores some of the differences between Zero Knowledge and Optimistic Rollups. A number of readers have asked me whether there is a non-technical introduction to rollups that I would recommend, since my piece assumes a baseline knowledge of the subject. In fact, there are a number of helpful overviews (see here, here, and here). But I haven’t found a comprehensive introduction for beginners that avoids technical jargon (at least to the extent possible). The following primer aims to fill that gap.
  2. As an aside, this connection is maintained onchain by something called a “state root,” which keeps track of the rollup’s internal state — account balances, transactions, code, etc. See Vitalik’s introduction for further detail.
  3. In fact, in an Optimistic Rollup, a transaction can be processed (correctly!) by one party even if all the other network participants disagree. This is the “one of n” honest participant assumption of Optimistic Rollups, which I explore in more depth in the section titled “Security Considerations,” in this Deribit article.
  4. The block producer role has different requirements in an Optimistic vs. Zero Knowledge rollup. For more on this, see the same section (“Security Considerations”) in the Deribit article.
  5. Haseeb Qureshi’s thought-provoking piece on decentralization is helpful here. Qureshi’s thesis is that decentralization is not intrinsically valuable, and, conversely, that centralization is not inherently bad. While Qureshi doesn’t discuss rollups in the article, his argument is still highly relevant.
  6. In Marbury v. Madison (1803), the Marshall court ruled that the Supreme Court has the power to overturn Congressional legislation that it deems unconstitutional, effectively giving the judicial branch the final say on all legislative matters.
  7. In fact, the block producer in a ZK Rollups cryptographically barred from processing transactions fraudulently, since the Zero Knowledge proof of the transaction would itself be invalid.

© Mechanism Capital