IOSG Weekly Brief |データ可用性層の分解:モジュール化された未来で見落とされているレゴブロック

IOSGベンチャーズ
2022-08-10 19:38:46
コレクション
ブロックチェーンのアーキテクチャは必然的にモノリシックからモジュラーへと進化し、各層は低結合の状態を呈する。

著者:Jiawei、IOSG Ventures
編集:Olivia、IOSG Ventures

データ可用性層の分解:モジュール化された未来における見落とされたレゴブロック

  1. 軽クライアントのデータ可用性に関して、エラーチェックコードを用いてこの問題を解決することにはほぼ異論がないが、異なる点はエラーチェックコードが正しくエンコードされることをどう確保するかである。Polygon AvailとDankshardingではKZGコミットメントが採用され、Celestiaでは詐欺証明が用いられている。
  2. Rollupのデータ可用性について、DACを連合チェーンと理解すれば、Polygon AvailとCelestiaが行っていることはデータ可用性層をより分散化することであり、これは「DA-Specific」なパブリックチェーンを提供することに相当し、信頼レベルを向上させる。
  3. 今後3〜5年の間に、ブロックチェーンのアーキテクチャは必然的にモノリシックからモジュール化へと進化し、各層は低結合の状態を呈する。将来的にはRollup-as-a-Service(RaaS)、Data Availability-as-a-Service(DAaaS)など、多くのモジュール化コンポーネントのプロバイダーが現れ、ブロックチェーンアーキテクチャのコンポーザビリティレゴを実現する可能性がある。モジュール化ブロックチェーンは次のサイクルを支える重要な物語の一つである。
  4. モジュール化ブロックチェーンにおいて、実行層はすでに「四分天下」となり、後発者は少ない;コンセンサス層は競争が激化しており、AptosやSuiなどが頭角を現している。パブリックチェーンの競争構図はまだ決着がついていないが、その物語は新瓶装旧酒であり、合理的な投資機会を見つけるのは難しい。しかし、データ可用性層の価値はまだ発掘されていない。

モジュール化ブロックチェーン Modular Blockchain

データ可用性について話す前に、モジュール化ブロックチェーンについて簡単に振り返る時間を取りましょう。(正しい図を得るには、公式アカウントに「モジュール化」と送信してください)
image
画像出典:IOSG Ventures、Peter Watts改編

モジュール化ブロックチェーンの層については厳密な定義はなく、一部の層分けはイーサリアムから出発し、他のものは一般化の視点に偏っており、主にどの文脈で議論されるかによる。

  • 実行層:実行層では2つのことが発生する。単一の取引に対しては、取引を実行し、状態を変更する;同バッチの取引に対しては、そのバッチの状態ルートを計算する。現在のイーサリアムの実行層の一部の作業はRollupに分配されており、私たちがよく知るStarkNet、zkSync、Arbitrum、Optimismなどが含まれる。
  • 決済層:主チェーン上のRollup契約が状態ルートの有効性(zkRollup)または詐欺証明(Optimistic Rollup)を検証するプロセスと理解できる。
  • コンセンサス層:PoW、PoS、または他のコンセンサスアルゴリズムを採用するかどうかにかかわらず、コンセンサス層は分散システム内で何かに対して合意を形成するためのものであり、状態遷移の有効性に対する合意を形成する。モジュール化の文脈では、決済層とコンセンサス層の意味はやや近く、いくつかの研究者は決済層とコンセンサス層を統一している。
  • 履歴状態層:Polynyaによって提案された(イーサリアムに関してのみ)。Proto-Dankshardingを導入した後、イーサリアムは一定の時間ウィンドウ内で即時データ可用性を維持し、その後はトリミング操作を行い、この作業を他者に委ねる。例えば、Portal Networkやその他のデータを保存する第三者はこの層に分類される。
  • データ可用性層:データ可用性にはどのような問題が存在するのか?それに対する解決策は何か?これは本稿で集中して議論する問題であり、ここでは概括しない。

image

画像出典:IOSG Ventures

2018年、2019年に戻ると、データ可用性は主に軽クライアントノードの文脈において語られていた;その後のRollupの視点から見ると、データ可用性には別の意味がある。本稿では「ノード」と「Rollup」という2つの異なる文脈からデータ可用性を説明する。

ノードにおけるDA

image
画像出典:https://medium.com/metamask/metamask-labs-presents-mustekala-the-light-client-that-seeds-data-full-nodes-vs-light-clients-3bc785307ef5

まず、フルノードと軽クライアントの概念を見てみましょう。

フルノードは各ブロック内のすべての取引を自らダウンロードし、検証するため、状態が正しく実行されることを確保するために誠実な仮定を必要とせず、非常に良い安全性の保証を持っています。しかし、フルノードを運用するにはストレージ、計算能力、帯域幅のリソースが必要であり、マイナーを除いて、一般のユーザーやアプリケーションにはフルノードを運用する動機がありません。さらに、特定の情報をチェーン上で検証するだけでよい場合、フルノードを運用することは明らかに不要です。

これが軽クライアントが行っていることです。IOSGの「マルチチェーンエコシステム:私たちの現在の段階と未来の構図」という記事で軽クライアントについて簡単に紹介しました。軽クライアントはフルノードとは異なるもので、通常はチェーンと直接対話せず、近くのフルノードを仲介者として利用し、フルノードから必要な情報を要求します。例えば、ブロックヘッダーをダウンロードしたり、アカウントの残高を検証したりします。
ノードとしての軽クライアントは、ブロックヘッダーのみをダウンロードして検証するため、全体のチェーンを迅速に同期できます;また、クロスチェーンブリッジモデルでは、軽クライアントはスマートコントラクトとして機能し、ターゲットチェーンの軽クライアントはソースチェーンのトークンがロックされているかどうかを検証するだけで、ソースチェーンのすべての取引を検証する必要はありません。

問題はどこにあるのか?

ここには隠れた問題があります:軽クライアントはフルノードからブロックヘッダーのみをダウンロードし、各取引を自分でダウンロードして検証しないため、悪意のあるフルノード(ブロック生産者)が無効な取引を含むブロックを構築し、それを軽クライアントに送信して欺くことができます。

私たちは「詐欺証明」を用いてこの問題を解決することを考えやすいです:つまり、1つの誠実なフルノードがブロックの有効性を監視し、無効なブロックを発見した場合に詐欺証明を構築し、それを軽クライアントに送信して警告する必要があります。または、ブロックを受け取った後、軽クライアントが全ネットワークに詐欺証明があるかどうかを積極的に尋ね、一定の時間内に受け取らなければ、そのブロックは有効であると仮定できます。こうすることで、軽クライアントはほぼフルノードと同等の安全性を得ることができます(ただし、依然として誠実な仮定に依存しています)。

しかし、上記の議論では、実際にはブロック生産者が常にすべてのブロックデータを公開することを仮定しています。これは詐欺証明を生成するための基本的な前提でもあります。しかし、悪意のあるブロック生産者はブロックを公開する際にその一部のデータを隠す可能性があります。この場合、フルノードはそのブロックをダウンロードし、それが無効であることを検証できますが、軽クライアントの特性によりそれを行うことができません。また、データが不足しているため、フルノードも軽クライアントに警告するための詐欺証明を生成できません。

別の状況として、ネットワークの理由により、一部のデータが後でアップロードされる可能性があります。この時点で、データの欠如が客観的な条件によるものなのか、ブロック生産者の意図的なものであるのかを判断することすらできません------この場合、詐欺証明の報酬と罰則のメカニズムも機能しなくなります。
これが、ノードにおけるデータ可用性の問題について議論する理由です。

image
画像出典:https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding

上図には2つの状況が示されています:1つは、悪意のあるブロック生産者がデータ欠如のあるブロックを公開し、誠実なフルノードが警告を発したが、その後その生産者が残りのデータを補充した場合;もう1つは、誠実なブロック生産者が完全なブロックを公開したが、この時悪意のあるフルノードが偽の警告を発した場合。この2つの状況では、ネットワーク内の他の人々はT3以降に見たブロックデータが完全であるが、誰かがその中で悪事を働いている。

こう考えると、軽クライアントのデータ可用性を確保するために詐欺証明を使用することには欠陥がある。

解決策

2018年9月、Mustafa AI-Bassam(現Celestia CEO)とVitalikは共著の論文で多次元エラーチェックコードを用いてデータ可用性を検証することを提案しました------軽クライアントはランダムに一部のデータをダウンロードして検証するだけで、すべてのデータブロックが可用であることを確保し、必要に応じてすべてのデータを再構築できます。

エラーチェックコードを用いて軽クライアントのデータ可用性の問題を解決することにはほぼ異論がなく、Polygon Avail、Celestia(およびイーサリアムのDanksharding)ではReed-Solomonエラーチェックコードが採用されています。

異なる点は、エラーチェックコードが正しくエンコードされることをどう確保するかです:Polygon AvailとDankshardingではKZGコミットメントが採用され、Celestiaでは詐欺証明が用いられています。両者にはそれぞれ利点と欠点があり、KZGコミットメントは量子攻撃に対抗できず、詐欺証明は一定の誠実な仮定と同期仮定に依存しています。

KZGコミットメントの他にも、STARKやFRIを用いた解決策がエラーチェックコードの正確性を証明するために使用できます。
(注:エラーチェックコードとKZGコミットメントの概念については、IOSGの「合併間近:イーサリアムの最新技術路線を詳解」に言及されていますが、本文の長さの関係でここでは詳しく説明しません)

RollupにおけるDA

Rollupにおけるデータ可用性は:zkRollupでは、誰でもLayer2の状態を再構築できるようにし、検閲に対抗する必要がある;Optimistic Rollupでは、Layer2のすべてのデータが公開されることを確保する必要があり、これは詐欺証明を構築するための前提です。では、問題はどこにあるのでしょうか?

image
画像出典:https://forum.celestia.org/t/ethereum-rollup-call-data-pricing-analysis/141

Layer2の費用構造を見てみましょう。固定費用の他に、各バッチの取引数に関連する変数は主にLayer2のガス費用とチェーン上のデータ可用性の支出です。前者の影響は微々たるものであり、後者は各バイトに対して常に16ガスを支払う必要があり、全体でRollupコストの80%-95%を占めます。(チェーン上の)データ可用性は非常に高価で、どうすればよいのでしょうか?

1つは、チェーン上にデータを保存するコストを下げることです:これはプロトコル層が行うことです。IOSGの「合併間近:イーサリアムの最新技術路線を詳解」では、イーサリアムがRollupに「大きなブロック」、つまりより大きなデータ可用性スペースを提供するためにProto-DankshardingとDankshardingの導入を検討していることを述べました。そして、エラーチェックコードとKZGコミットメントを用いてそれに伴うノードの負担問題を解決します。しかし、Rollupの視点から考えると、イーサリアムが自分のために適応するのを受動的に待つのは現実的ではありません。

2つ目は、データをチェーン外に置くことです。下図には現在のチェーン外データ可用性の解決策が示されています。一般化された解決策にはCelestiaとPolygon Availが含まれ、Rollupにおいてユーザーが選択できる解決策にはStarkEx、zkPorter、Arbitrum Novaが含まれます。

image
画像出典:IOSG Ventures

(注:Validiumは元々zkRollupとチェーン外データ可用性を組み合わせたスケーリングソリューションを指しますが、便宜上、本稿ではValidiumをチェーン外データ可用性ソリューションを指して比較します)
以下では、これらの解決策を具体的に見ていきます。

Rollupによって提供されるDA

最も単純なValidiumソリューションでは、中央集権的なデータオペレーターがデータ可用性を確保する責任を負い、ユーザーはオペレーターが悪事を働かないことを信頼する必要があります。この利点はコストが低いことですが、実際にはほとんど安全性の保証がありません。

そこで、StarkExは2020年にデータ可用性委員会(DAC)によって維持されるValidiumソリューションを提案しました。DACのメンバーは著名で法的管轄内の個人または組織であり、信頼の仮定は彼らが共謀して悪事を働かないことです。
Arbitrumは今年AnyTrustを提案し、同様にデータ委員会を用いてデータ可用性を確保し、AnyTrustに基づいてArbitrum Novaを構築しました。

zkPorterは、Guardians(zkSyncトークンの保有者)がデータ可用性を維持することを提案し、彼らはzkSyncトークンをステーキングする必要があります。データ可用性の障害が発生した場合、ステーキングされた資金は没収されます。

3つのソリューションは、Volitionと呼ばれるオプションを提供します:ユーザーは必要に応じてチェーン上またはチェーン外のデータ可用性を自由に選択し、具体的な使用シーンに応じて安全性とコストの間で自分で選択します。

image

画像出典:https://blog.polygon.technology/from-rollup-to-validium-with-polygon-avail/

一般的なDAシナリオ

上記のソリューションを提案する背景には、一般的なオペレーターの信用度が十分でない場合、より権威のある委員会を導入して信用度を高めるという考えがあります。

小規模な委員会の安全性は十分に高いのでしょうか?イーサリアムコミュニティは2年前にValidiumの身代金攻撃の問題を提起しました:もし十分な委員会メンバーの秘密鍵が盗まれ、チェーン外データ可用性が利用できなくなった場合、ユーザーを脅迫することができます------彼らが十分な身代金を支払わなければLayer2から引き出すことができないと。Ronin BridgeやHarmony Horizon Bridgeの盗難の前例を考えると、この可能性を無視することはできません。

チェーン外のデータ可用性委員会が十分に安全でないのであれば、ブロックチェーンを信頼主体として導入してチェーン外データ可用性を保証することはどうでしょうか?

前述のDACを連合チェーンと理解すれば、Polygon AvailとCelestiaが行っていることはデータ可用性層をより分散化することであり、これは「DA-Specific」なパブリックチェーンを提供し、一連の検証ノード、ブロック生産者、コンセンサスメカニズムを持ち、信頼レベルを向上させることに相当します。

安全性の向上に加えて、データ可用性層自体がチェーンであれば、特定のRollupや特定のチェーンにデータ可用性を提供することに限定されず、一般的な解決策として機能することができます。

image

画像出典:https://blog.celestia.org/celestiums/

ここでは、CelestiaがイーサリアムRollupでのQuantum Gravity Bridgeに応用される例を説明します。イーサリアム主チェーン上のL2契約は、通常通り有効性証明または詐欺証明を検証しますが、データ可用性はCelestiaによって提供されます。Celestiaチェーン上にはスマートコントラクトは存在せず、データの計算も行わず、データの可用性を確保するだけです。

L2オペレーターは取引データをCelestia主チェーンに公開し、Celestiaの検証者がDAアテステーションのメルクルルートに署名し、イーサリアム主チェーン上のDAブリッジ契約に検証と保存のために送信します。

これにより、実際にはDAアテステーションのメルクルルートがすべてのデータ可用性を証明することになり、イーサリアム主チェーン上のDAブリッジ契約はこのメルクルルートを検証し保存するだけで済み、コストが大幅に削減されます。

(注:他のデータ可用性ソリューションにはAdamantiumやEigenLayrがあります。Adamantiumソリューションでは、ユーザーは自分のチェーン外データをホスティングすることを選択でき、各状態遷移後に自分のチェーン外データが可用であることを署名して確認しなければならず、そうでない場合は資金が自動的に主チェーンに戻されて安全が確保されます;またはユーザーはデータ提供者を自由に選択できます。EigenLayrは学術的な解決策で、Coded Merkle Treeとデータ可用性オラクルACeDを提案しています。ここでは詳しくは議論しません)

小結

image
画像出典:IOSG Ventures、Celestia Blog改編

上記のソリューションを一つ一つ議論した後、安全性/分散化の程度、ガス費用の観点から横断的に比較を行います。この座標図は著者の個人的な理解を示しており、あくまでおおまかな区分であり、定量的な比較ではありません。

左下のPure Validiumは安全性/分散化の程度とガス費用が最も低いです。

中央部分はStarkExとArbitrum NovaのDACソリューション、zkPorterのGuardians検証者集団ソリューション、一般化されたCelestiaとPolygon Availソリューションです。著者はzkPorterがGuardiansを検証者集団として採用することは、DACと比較して安全性/分散化の程度がやや高いと考えています;また、DA-Specificブロックチェーンのソリューションは検証者集団と比較してもやや高いです。同時にガス費用も相応に増加します。もちろん、これは非常に粗い比較に過ぎません。

右上のボックス内はチェーン上のデータ可用性ソリューションであり、最高の安全性/分散化の程度とガス費用を持っています。ボックス内部を見ると、これら3つのソリューションのデータ可用性はすべてイーサリアム主チェーンによって提供されているため、同等の安全性/分散化の程度を持っています。純粋なRollupソリューションはモノリシックなイーサリアムと比較して明らかにガス費用が低く、Proto-DankshardingとDankshardingを導入した後、データ可用性のコストはさらに低下するでしょう。

注:本稿で議論された「データ可用性」の文脈は主にイーサリアムに基づいており、CelestiaとPolygon Availは一般化されたソリューションであり、イーサリアム自体に限定されません。

最後に、表に上記のソリューションをまとめます。

image
画像出典:IOSG Ventures

結論

  • 上記のデータ可用性の問題を議論した後、私たちはすべてのソリューションが本質的に三難のジレンマの相互制約の下でトレードオフを行っていることを発見しました。また、ソリューション間の違いはトレードオフの「細粒度」が異なることにあります。
  • ユーザーの観点から考えると、プロトコルがチェーン上とチェーン外のデータ可用性のオプションを同時に提供することは合理的です。なぜなら、異なるアプリケーションシーンや異なるユーザーグループの間で、ユーザーが安全性とコストに対する感受性はそれぞれ異なるからです。
  • 上記ではデータ可用性層がイーサリアムとRollupをサポートすることについて多く議論しました。クロスチェーン通信において、Polkadotのリレーチェーンは他のパラレルチェーンにデータ可用性のネイティブな安全保証を提供します;また、Cosmos IBCは軽クライアントモデルに依存しているため、軽クライアントがソースチェーンとターゲットチェーンのデータ可用性を検証できることが重要です。
  • モジュール化の利点はプラグイン可能性と柔軟性にあり、プロトコルに応じて適応することができます:例えば、イーサリアムのデータ可用性の負担を軽減しつつ、安全性と信頼レベルを確保する;またはマルチチェーンエコシステムの下で軽クライアント通信モデルの安全性を向上させ、信頼の仮定を低下させる。イーサリアムに限らず、データ可用性はマルチチェーンエコシステムや将来的な多くのアプリケーションシーンでも機能する可能性があります。
    私たちは、今後3〜5年の間にブロックチェーンのアーキテクチャは必然的にモノリシックからモジュール化へと進化し、各層は低結合の状態を呈するだろうと考えています。将来的にはRollup-as-a-Service(RaaS)、Data Availability-as-a-Service(DAaaS)など、多くのモジュール化コンポーネントのプロバイダーが現れ、ブロックチェーンアーキテクチャのコンポーザビリティレゴを実現する可能性があります。モジュール化ブロックチェーンは次のサイクルを支える重要な物語の一つです。
  • その中で、実行層の評価の巨獣(すなわちRollup)はすでに「四分天下」となり、後発者は少ない;コンセンサス層(すなわち各Layer1)は競争が激化しており、AptosやSuiなどのパブリックチェーンが頭角を現している。パブリックチェーンの競争構図はまだ決着がついていないが、その物語は新瓶装旧酒であり、合理的な投資機会を見つけるのは難しい。
    しかし、データ可用性層の価値はまだ発掘されていない。
ChainCatcherは、広大な読者の皆様に対し、ブロックチェーンを理性的に見るよう呼びかけ、リスク意識を向上させ、各種仮想トークンの発行や投機に注意することを提唱します。当サイト内の全てのコンテンツは市場情報や関係者の見解であり、何らかの投資助言として扱われるものではありません。万が一不適切な内容が含まれていた場合は「通報」することができます。私たちは迅速に対処いたします。
チェーンキャッチャー イノベーターとともにWeb3の世界を構築する