【Vitalik Buterinブログ】ハイブリッドレイヤー2プロトコルの夜明け

Vitalik のブログを意訳と補足をして、ZK や Optimistic Rollupについて書きました。

Vitalikブログ: https://vitalik.ca/general/2019/08/28/hybrid_layer_2.html 1

目次

  • レイヤー2の課題
  • セミレイヤー2の復活(ZK や optimistic rollup)
  • セミレイヤー2(ZK や optimistic rollup)の利点
    • 利点1
    • 利点2
    • 利点3
  • なぜ上記のような利点があるか、レイヤー2の課題を明確にする
  • プラズマおよびステートチャネル個別の問題とセミレイヤー2の強み
  • さらにスケーラビリティが必要な場合=ハイブリットなアプローチ

レイヤー2の課題

レイヤー2スケーリングへの現在のアプローチ(基本的にはプラズマとステートチャネル)は理論から実践へと移行してきていますが、同時にこれらの手法をEthereumの本格的なスケーリングソリューションとして扱う際の課題がより明らかになってきました。

Ethereumは、デベロッパーエクスペリエンスが非常に良い(簡単)であるがゆえに、成功したと言われるまでになりました。何かというと、プログラムを作成し、プログラムを公開し、誰でもそのプログラムとやりとりができる点です。
一方、ステートチャネルまたはプラズマ・アプリケーションの設計することは、インセンティブおよびアプリケーションごとの開発の複雑さに関する推論に依存しています。ステートチャネルは、同じ2者間での支払いの繰り返しや、2プレイヤーでのゲーム( Celerで実装されたように)などの特定のユースケースでうまく機能しますが、より一般化された使用が困難であることが判明しています。

Plasma(特にPlasma Cash)は、支払いでうまく機能しますが、一般化するには同様に課題があります:分散取引所(DEX)を実装する場合でも、クライアント側で多くの履歴データを保存する必要があり、EthereumスタイルのPlasmaでのスマートコントラクトへの一般化は非常に難しいようです。

セミレイヤー2の復活(ZK や optimistic rollup)

しかし同時に、忘れられていた「セミレイヤー2」プロトコルのカテゴリが復活しました。これは、スケーリングの極端な向上はそれほど期待できないものの、一般化がより容易になり、より好ましいセキュリティモデルにすることができる、というカテゴリです。

2014年のブログ投稿では 、「ブロックデータはチェーン上で公開されるが、ブロックはデフォルトでは検証されないアーキテクチャ」である “シャドウチェーン” という概念を紹介しました。

このアーキテクチャでは、ブロックは暫定的に受け入れられ、一定期間(2週間など)の後にのみファイナライズされます。この2週間の間に、暫定的に受け入れられたブロックに対して “チャレンジ”(異議を唱えること) ができます。その場合にのみブロックが検証され、ブロックが無効であることが判明した場合、そのブロックからのチェーンは元に戻され、元の発行者のデポジットは没収などのペナルティを受けます。
コントラクトは、システムの全ステートを追跡するわけではありません。ステートのルートを追跡するだけで、ユーザー自身がチェーンに送信されたデータを最初から最後まで処理することでステートを計算することができます。
最近の提案であるZK Rollup 1では、ZK-SNARKを使用してブロックの有効性を検証することにより、チャレンジ期間なしで同様のことを行います。

22

チェーン上で公開されているZKロールアップパッケージの構造。 ZK Rollupシステムのステート(つまり、アカウント残高)に影響する何百もの「内部トランザクション」は、ステート遷移を指定する内部トランザクションごとに〜10バイトを含むパッケージ、さらに「遷移がすべて有効」と証明するSNARKの〜100-300バイトを含むパッケージに圧縮されます

チャレンジ期間が設定されている場合もない場合も、チャレンジが行われない限り、ブロックの有効性を(直接)検証したり、重要な計算を実行したりしません。したがって、チェーン上のデータオーバーヘッドが最終的にボトルネックになるため、この手法は驚くほど大きなスケーラビリティの向上ではありませんが、それでも非常に重要でスケーラビリティに貢献します。

データ保存は計算よりもコストが低く、特にトランザクション内のデータの大部分は「署名」であり、多くの署名はさまざまな形式の集計で1つに圧縮できるため、トランザクションデータを非常に小さく圧縮できる方法があります。

ZK Rollupでは、各トランザクションをわずか10バイトに圧縮することにより、レイヤー1のEthereumチェーンの性能の30倍である500トランザクション/秒を発揮します。署名は、ゼロ知識証明によって有効性が検証されるため、含める必要はありません。
BLS集約シグネチャという技術を使用すると、シャドウチェーンで同様のスループットを実現することができます(最近では、ZK Rollupとの類似性を強調するために「optimistic rollup」と呼ばれています)。今後のイスタンブールのハードフォークは、データのガスコストを1バイトあたり68から16に削減するため、これらの手法のスループットをさらに4倍( 1秒あたり2000トランザクション以上 )に増やします。

セミレイヤー2(ZK や optimistic rollup)の利点

それでは、プラズマなどのデータオフチェーン技術と比べた際に、ZK や optimistic rollup などのデータオンチェーン技術の利点は何でしょうか。

利点1

まず第一に、セミトラストが必要なオペレーターが不要になります。

ZK rollupでは、暗号証明によって有効性が検証されるため、パッケージ送信者は悪さができません(設定によっては、悪意のある送信者がシステムを数秒間停止させることがありますが、できてもそれが限度です)。

optimistic rollupでは、悪意のある送信者が悪いブロックを公開できますが、次の送信者は、自分のブロックを公開する前に、すぐに悪いブロックにチャレンジするでしょう。

ZKもoptimistic rollupも、送信されたすべての差分を順番に処理するだけで、誰でも完全な内部ステートを計算できる十分なデータがチェーンで公開されます。このプロパティを奪う「データ差し止め攻撃」は存在しません。

したがって、オペレーターになることは完全にパーミッションレス(許可のいらない状態)になります。必要なのはスパム防止のため設定されているセキュリティ・デポジットだけです(例:10 ETHなど)。

利点2

第二に、特にoptimistic rollupは一般化が非常に簡単です。

optimistic rollupのステート遷移関数は、単一ブロックのガス制限内で計算できるものであれば何でもかまいません(遷移の検証に必要なステートの一部を提供するマークル分岐を含む)。

ZK Rollup は理論的には同じ方法で一般化できますが、実際には汎用計算(EVM実行など)を介してZK SNARKを作成することが少なくとも現時点では非常に困難です。

利点3

第三に、optimistic rollup は、セカンドレイヤーのネットワークインフラストラクチャの必要性が少ないため、クライアントの構築がはるかに簡単です。ブロックチェーンをスキャンするだけでさらに多くのことができます。

なぜ上記のような利点があるか、レイヤー2の課題を明確にする

しかし、これらの利点はどこから来るのでしょうか?その答えは、 データ可用性の問題 として知られる高度に技術的な問題にあります( 参考 、 ビデオ)。

基本的に、レイヤー2システムでチートを試みるには2つの方法があります。

1つ目は、無効なデータをブロックチェーンに公開することです。
2つ目は、データをまったく公開しないことです(たとえば、Plasmaでは、新しいプラズマブロックのルートハッシュをメインチェーンに公開しますが、ブロックの内容は誰にも公開しません)。

1つ目のチート(公開されたが無効なデータ)は、データがチェーン上で公開されると、有効であるかどうかを把握する方法が複数あり、無効な提出は明確に無効であり提出者が大幅にペナルティを受けるため、非常に扱いやすいといえます。

一方、2つ目のチート(利用できないデータ)は処理がはるかに困難です。チャレンジした場合は利用できないことを検出できますが、特に「データがデフォルトで保留され、検証メカニズムがその可用性を検証しようとするときだけはオンデマンドで公開されている」ような場合は、誰が非公開であるかを確実に判断できないためです。

これは、「フィッシャーマンのジレンマ」ともいわれており、チャレンジ/レスポンスゲームが悪意のある送信者と悪意のあるチャレンジャーを区別できないことを示しています。

31

フィッシャーマンのジレンマ。 時刻T3で特定のデータのウォッチのみを開始する場合、ケース1とケース2のどちらか分からず、誰が障害になっているのかわかりません。

プラズマとステートチャネルはどちらもフィッシャーマンのジレンマを回避するため、ユーザーに問題を押し付けます。

あなたがユーザーとして、対話しているもう一方のユーザー(ステートチャネルのカウンターパーティ、プラズマチェーンのオペレーター)がデータを公開すべきデータを公開していないと判断した場合、そのやりとりをexitし、別のカウンターパーティ/オペレーターに移動するのは、あなたの責任です。

あなたが、以前のすべてのデータ、および署名したすべてのトランザクションに関するデータを持っているという事実によって、どの資産をレイヤー2プロトコル内に保持しているかをチェーンに証明することができ、そのためレイヤー2から資産を安全に引き出すことができます。

そしてあなたは資産を送ってきた(以前に合意した)オペレーションの存在を証明ができます。他の人が「他の人に資産を送ったというオペレーションが存在すること」は証明することができないため、あなたが資産を取り出すことができます。

この技術はエレガントですが、すべてのステートオブジェクトには「所有者」というパラメータがあり、所有者の同意なしにオブジェクトのステートを変更することはできないという前提に依存しています。これはUTXOベースの支払いであれば有効です(アカウントベースの支払いでは、他の人の同意なしに残高を上方に編集できます。これが、アカウントベースのPlasmaが非常に難しい理由です)。
また、パブリッシャーまたはサブミッターに問題があるかどうかを証明できないため、DoS攻撃の可能性を導入せずに任意の第三者がアセットを取り出す方法はありません。

プラズマおよびステートチャネル個別の問題とセミレイヤー2の強み

プラズマおよびステートチャネルには、その他にもそれぞれに個別の問題があります。

ステートチャネルは、チャネルの一部ではないユーザーへのオフチェーントランザクションを許可しません。
Plasmaでは、ユーザーは大量の履歴データを保存する必要があります。これは、異なる資産が絡み合うとさらに大きくなります(たとえば、1段階のオーダーブック・メカニズムによる分散型取引所で発生するように、別の資産の転送を条件として資産が転送される場合 )。

ここで、ZKとoptimistic rollupのような「オンチェーンデータとオフチェーン計算のレイヤー2手法」であれば、データの可用性の問題がないため、上記の弱点はありません。ZKとoptimistic rollupでは、十分なデータをチェーンに配置して、ユーザーがレイヤー2システムの完全なステートを計算できるように細心の注意を払っています。

ZKとoptimistic rollupなどが抱える唯一の問題は、オンチェーンで計算を行わずに計算を検証することであり、これははるかに簡単な問題です。

また、スケーラビリティ向上の効果は非常に大きく、ZK rollupでは1トランザクションあたり最大10バイトで、BLS集約を使用して署名を集約することで、同様のレベルのスケーラビリティをoptimistic rollupで実現できます。これは、今日の理論上の最大1秒あたり500トランザクション、イスタンブール以降であれば2000トランザクションに相当します。

さらにスケーラビリティが必要な場合=ハイブリットなアプローチ

しかし、さらにスケーラビリティが必要な場合はどうでしょうか?

次に、データオンチェーンレイヤー2プロトコルとデータオフチェーンレイヤー2プロトコルの両方の利点のいくつかを提供する多くのハイブリッドアプローチがあります。

簡単な例を挙げると、Plasma Cashに実装された分散型取引所において履歴ストレージが膨張することは、どの注文がどの注文(注文ごとに4バイト未満)と一致するかをマッピングして公開することで防止することができます。

38

 :プラズマキャッシュユーザーがコインを1枚持っている場合に保存する必要がある履歴データ。 中: アトミックスワップを使用して別のコインと交換された1つのコインを所有している場合、プラズマキャッシュユーザーが保存する必要がある履歴データ。  :オーダーマッチングがチェーンで公開されている場合、プラズマキャッシュユーザーが保存する必要がある履歴データ。

分散型取引所の例以外でも、Plasmaチェーンが定期的にユーザーごとのデータをチェーン上に発行することにより、Plasmaに保存する必要がある履歴の量を減らすことができます。

あるステートに論理的な「所有者」がある場合にプラズマのように機能し、そうでない場合にZKまたはoptimistic rollupのように機能するプラットフォームも想像できます。プラズマ開発者はすでにこの種の最適化に取り組み始めています。

したがって、レイヤー2スケーラビリティソリューションの開発者が、ある条件ではユーザーごとのデータをオンチェーンでより積極的に公開するように移行するケースが考えられます。これは、開発を簡単にし、一般化度合いとセキュリティを高め、ユーザーごとの負荷を減らします(たとえば、ユーザーが履歴データを保存する必要はありません)。

効率低下についても、そこまで心配する必要はありません。たとえ完全にオフチェーンのレイヤー2アーキテクチャであっても、ユーザーが異なる取引先とプロバイダーの間で入金、引出、移動を行うことは避けられない頻繁に起きることであり、ユーザーごとのオンチェーンデータの量はものすごく多くなります。

ハイブリッドな手法は、セミレイヤ2アーキテクチャ内での一般化されたEthereumスタイルのスマートコントラクトの高速な展開への扉を開きます。

その他参考:


TokenLab(会員限定)ではこの他に良質なレポートを配信しています。

1週間の無料期間がございますので、ぜひお気軽にご登録ください!

 
支払い処理時に1分程度の時間がかかることがありますが、ページを閉じずに放置していれば支払い完了のページに移動します。

  • 招待メールが迷惑メールフォルダに送られることもありますので、そちらもご確認下さい。
  • 返品・交換・キャンセル等
    サービスの性質上、返金はお受けしておりません。
  • 中途解約について
    月の途中で退会された場合でも、日割りでの返金はできかねます。PayPalで退会処理を行った時点で、Discourseフォーラムでの閲覧が制限されます。
  • PayPal決済を使っていますが、PayPalのアカウント持っていない方も、申し込みと同時に登録が可能です。

最新情報をチェックしよう!