Cointime

Download App
iOS & Android

コプロセッサとロールアップ: ブロックチェーン コンピューティングが一元化され、分散化の将来を検証します

Validated Media

作者:皇帝、0xkrane

編集者: Lynn、Mars Finance

ブロックチェーンは、世界的なステータスに関するコンセンサスを可能にする、世界的に分散された台帳です。一部のブロックチェーンには、このグローバルな状態に基づいてプログラム可能にするチューリング完全な実行環境が装備されています。ブロックチェーン実行環境を対象としたプログラムはスマートコントラクトと呼ばれ、その基盤となるブロックチェーンはスマートコントラクトプラットフォームと呼ばれます。 Ethereum、Solana、Avalanche は最も広く知られているスマート コントラクト プラットフォームです。スマート コントラクト プラットフォームは、実行環境 (または仮想マシン) が CPU として機能し、状態がストレージの役割として機能する分散コンピューターと考えることができます。

ブロックチェーンをコンピューターとして見るこのフレームワークは、特にブロックチェーンのコンテキストにおいて、コプロセッサー/オフチェーン コンピューティングがなぜ避けられないのかを説明する上で重要です。従来のコンピューティングでは、コプロセッサはマイクロアーキテクチャに由来し、パフォーマンスを向上させるために設計されました。同様に、イーサリアム上のコプロセッサは、ベース層プロトコルの機能と設計スペースを強化するために、履歴データと高性能オフライン計算へのアクセスを約束します。詳細については、コプロセッサに関するこの入門記事を参照してください。

この記事では、コプロセッサーを第一原理から検討し、その重要性とメタプロパティを解明することを目的としています。次に、それらをロールアップと比較し、2 つの概念は異なるものの、密接に関連していることを示します。また、コプロセッサーでロールアップを使用できる例も示します。たとえば、フル機能のロールアップや L1 であっても、重い作業を実行するためにコプロセッサが必要になる場合があります。

この記事は、ブロックチェーンが計算は集中化されるが検証は分散化されたままの未来に向かっているということを観察してこの記事を終わります。ロールアップ、コプロセッサ、その他の検証可能なオフチェーン計算は、この未来の別の例にすぎません。

ここに至るまでの経緯:

Vitalik 氏は、「ブロックチェーンのスケーラビリティの制限」の中で、ブロックチェーンの分散化にとって、一般のユーザーがノードを実行できることが非常に重要であると述べました。

前述したように、イーサリアムは分散型グローバル コンピューターとしてさまざまな方法で概念化できます。これは、ソフトウェアを実行し、スマート コントラクトを実行するためのコンピューティング リソースを提供するノードのネットワークです。イーサリアム ブロックチェーンは、コンピューターのストレージやメモリと同様に、状態情報とコードを保存します。イーサリアム仮想マシン (EVM) は各ノード上で実行され、トランザクションを処理し、CPU のようにコードを実行します。ただし、イーサリアムはパーミッションレスかつ分散型であり、信頼できないノード間の合意を使用します。一部のノードがオフラインになっても、ネットワークは動作し続けます。 EVM の正しい動作を保証するために、イーサリアムなどのプルーフ オブ ステーク (PoS) ネットワーク上のバリデーターは、すべての状態遷移を実行して検証する必要があります。これにより、PoS ネットワーク上の最も遅いノードの速度が制限され、アプリケーション開発者が利用できるコンピューティングの量が制限されます。

通常のコンピューターとは異なり、イーサリアムはネットワークの悪用を防ぐために計算とストレージを制限します。操作ごとに料金が発生するため、無限ループは経済的に現実的ではありません。このアプローチにより、参入障壁が低くなり、Raspberry Pi などの日常的なハードウェアでネットワーク ノードを実行できるようになります。これらの制限により、誰でも分散型イーサリアム ネットワークの運用を支援できる包括的なシステムが可能になります。

イーサリアム ノードのこれらの計算上の制限により、現在、機械学習モデル、ゲーム、科学計算アプリケーションなどの複雑なアプリケーションをイーサリアム上で直接実行することはできません。

これは、重要なアプリケーションの基盤としてイーサリアムを広くアクセスし、安全で持続可能なものにするためのトレードオフです。しかし、無制限の計算を行うコンピューターに関しては、必然的にいくつかの制限があります。 Pentium 5 などの古いプロセッサと比較しても、次のような制限があります。

これは、重要なアプリケーションの基盤としてイーサリアムを広くアクセスし、安全で持続可能なものにするためのトレードオフです。しかし、無制限の計算を行うコンピューターに関しては、必然的にいくつかの制限があります。 Pentium 5 などの古いプロセッサと比較しても、次のような制限があります。

  • 複雑な浮動小数点演算は不要です。EVM は基本的な演算と論理演算のみをサポートします。ニューラル ネットワークのような高度な数値計算は実現できません。 (興味深い点は、最近の歴史では、浮動小数点を処理できないため、Ampleforth のようなリベース アセットの交換がさらに困難になり、場合によっては特定の DEX と互換性がなくなることさえあるということです)。
  • 各ブロックの計算量 (ガスメーターの計算) は限られているため、ゲームのような複雑なソフトウェアは非常に高価になります。各ブロックのガス制限は 30M ガスです。
  • メモリの制限 – スマート コントラクトには永続ストレージの制限が小さいため、大規模なプログラムを作成するのは困難です。
  • 永続的なファイル ストレージなし - グラフィック、オーディオ、ビデオなどのファイルはブロックチェーンに保存できません。
  • 遅い - イーサリアムのトランザクション速度は現在約 15 TPS で、CPU よりも何桁も遅いです。

最終的に、ストレージと計算が制限されると、アプリケーションが利用できる自由度が制限されます (これらの制限はブロックチェーンごとに異なりますが、常に存在します)。人々はブロックチェーンを 1970 年代や 1980 年代の計算量に制約のある環境と比較しますが、私たちはいくつかの大きな違いがあると考えています。

  • コンピューティング技術は 1970 年代から 1980 年代にかけて急速に進歩しました (この期間に、マイクロプロセッサ内のトランジスタの数は約 1,000 個から約 1,000,000 個に増加しました)。しかし、この成長は人々が頻繁にコンピュータを購入したり更新したりすることを意味するものではありません。スマート コントラクト プラットフォームは最も遅いノードによって制限されるため、コンピューター エッジでの高速化が必ずしもブロックチェーンの計算速度の比例増加につながるとは限りません。高速化は、ブロックチェーン上のノードのベースライン要件を更新することによってのみ達成できます。
  • また、ノードを継続的に更新するための最小ハードウェア要件と分散化の間には、明らかなトレードオフがあります。個々の利害関係者は、ハードウェアを数年ごとにアップグレードしたくはないかもしれません (そして、パフォーマンスを毎日監視することももちろん望んでいません) ので、ブロックチェーン インフラストラクチャを実行したいと考えているのは専門家だけになります。

これらすべては、CPU が長年にわたって改良され、各デバイスでより多くの CPU コアを搭載し、ますます複雑なタスクを実行できるようになったということです。ブロックチェーン コンピューターが (ベースラインのノード要件により) 従来のコンピューティングほど高速ではないと考えられる場合、代替のコンピューティング ソースを見つけようとするのは理にかなっています。ここでの興味深い例えは、従来のコンピューティングの CPU はグラフィックス処理タスクが苦手であり、そのことがほぼすべてのコンピューターでの GPU の台頭につながっているということです。同様に、ブロックチェーンは単純な計算バッテリーを可能にする安全な状態ストアであることに重点を置いているため、オフチェーン コンピューティングにはアプリケーション設計空間を拡大する明らかな機会があります。現在、ブロックチェーンは、オープン アクセス、自己主権、検閲耐性、構成可能性などの特性を必要とする低コンピューティング アプリケーションでのみ意味を持ちます。より多様なアプリケーションをオンチェーンに配置するには、アプリケーション開発者に対する制限を解除する必要があります。これらの制限も実験を容易にするという前提でこれを言います。たとえば、CLOB は計算上の制限によりイーサリアム上で効率的に実行できなかったため、AMM が採用され、その取引量は 1 兆米ドルに達しました。

ブロックチェーン アプリケーションにより多くのコンピューティング能力を提供するには、次の 2 つの一般的な方法があります。

ベースライン ノード要件を比較的頻繁に増やします。これは、Solana やSui などの統合型高性能ブロックチェーンがたどる道筋とほぼ同じです。ノードの高いベースラインにより、非常に高速なブロックチェーンを構築できるようになり、アプリケーション設計におけるいくつかの設計制約も取り除かれます。フェニックスは Solana 上の指値注文ブック DEX であり、現在イーサリアム (または任意の L2) 上に構築することはできません。ベースライン要件の増加の裏返しとして、要件が増加し続けると、ノードの実行は専門のインフラストラクチャ プロバイダーのみが実行可能になる可能性があります。過去の RAM 要件は、Solana のハードウェア要件がどのように増加し続けているかを示す良い例です。

アーカイブ (注: 2020 年の RAM 需要の中央値を使用) は、計算をオフチェーンのサードパーティに移動します。これはイーサリアムエコシステムが採用している戦略です。これらのサードパーティ自体は、ブロックチェーン (アグリゲーションの場合)、オフチェーンの検証可能なコンピューティング デバイス (つまり、コプロセッサ)、または信頼できるサードパーティ (dydx オーダーブックのようなアプリケーション固有のオフチェーン コンピューティングの場合) になります。 ))。

オフチェーンコンピューティングの統合に向けて

最近、オフチェーンで検証可能な計算を提供するコプロセッサに関する議論が増えています。コプロセッサは、ゼロ知識証明や信頼できる実行環境 (TEE) など、さまざまな方法で実装できますが、これらに限定されません。いくつかの例は次のとおりです。

  • ZK コプロセッサ: Axiom、Risc Zero の Bonsai。
  • TEE: カジキのオイスター

同時に、計算​​のオフロードに関しては、イーサリアムのロールアップ中心のロードマップにより、イーサリアム上のさまざまなアグリゲーションに計算がオフロードされます。ここ数年、開発者とユーザーは、ロールアップが提供する安価で高速なトランザクションとインセンティブを理由に、ロールアップに移行してきました。理想的な世界では、ロールアップにより、イーサリアムは信頼の仮定を追加することなく、オフチェーン実行を通じて全体的なコンピューティング能力を拡張できます。計算量が増えるということは、より多くのトランザクションを実行するだけでなく、各トランザクションでより表現力豊かな計算を実行することも意味します。新しいトランザクション タイプにより、アプリケーションで使用できる設計スペースが拡張され、スループットの向上により、これらの表現力豊かなトランザクションの実行コストが削減され、より高いレベルのアプリケーションへのコスト効率の高いアクセスが保証されます。

先に進む前に、混乱を避けるために集約とコプロセッサを簡単に定義しましょう。

ロールアップ: ロールアップは、ベース/ホスト チェーンとは別に永続的なパーティション状態を維持しますが、データ/プルーフを公開することでベースのセキュリティ プロパティを継承します。状態をホスト チェーンから移動することにより、ロールアップは、状態遷移の整合性証明をホストに公開する前に、追加の計算を使用して状態遷移を実行できます。ロールアップは、イーサリアムの高額な料金を支払いたくないが、イーサリアムの安全なプロパティにアクセスしたいユーザーにとって最も役立ちます。

コプロセッサについて説明する前に、まずイーサリアムでのスマート コントラクト開発の現在の制限について理解しましょう。イーサリアムには、アカウント残高、契約データなどのグローバル状態の永続的な状態ストレージがあります。このデータはブロックチェーン上に無期限に残ります。ただし、いくつかの制限があります。

  • 契約データの最大サイズは制限されています(たとえば、現在は契約ごとに 24KB、EIP 170 に設定されています)。大きなファイルを保存するとこの範囲を超えます。 (※コプロセッサでも解決できません)
  • コントラクト ストレージの読み取り/書き込みは、ファイル システムやデータベースよりも遅くなります。 1 KB のデータにアクセスするには数百万の Gas がかかる場合があります。
  • グローバル状態が持続する一方で、各ノードは「プルーニング」モードでローカルに最新の状態のみを保持します。完全な状態履歴にはアーカイブ ノードが必要です。
  • 画像、音声、ドキュメントなどのファイルを処理するためのネイティブ ファイル システム プリミティブはありません。スマート コントラクトは、基本的なデータ型のみをストレージに読み書きできます。

この問題の解決策は次のとおりです。

  • 大きなファイルは、契約のストレージ制限内に収まるように小さな部分に分割できます。
  • ファイル参照はオンチェーンに保存でき、ファイルは IPFS などのオフチェーン システムに保存できます。

コプロセッサ: コプロセッサ自体は状態を維持しません。コプロセッサは AWS のラムダ関数のように動作し、アプリケーションは計算タスクを送信でき、計算証明を含む結果を返します。コプロセッサーは基本的に、特定のトランザクションで使用できる計算量を増加させますが、コプロセッサーでの証明もトランザクションごとに実行されるため、コプロセッサーを使用すると集約よりもコストが高くなります。コストを考慮すると、コプロセッサは、検証可能な方法で複雑な 1 回限りのタスクを実行したいプロトコルやユーザーにとって役立つ可能性があります。コプロセッサのもう 1 つの利点は、オフチェーン コンピューティングを使用するアプリケーションが、アプリケーション自体に信頼の前提を追加することなく、イーサリアムの完全な履歴状態にもアクセスできることです。これは、今日の通常のスマート コントラクトでは不可能です。

集約とコプロセッサの違いを理解するために、これら 2 つのプリミティブの ZK フレーバーを参照してみましょう。 ZK ロールアップは、ゼロ知識証明の検証可能性と圧縮の側面へのアクセスを提供し、エコシステムのスループットを大幅に向上させます。一方、コプロセッサは zk-proofs の検証可能性プロパティにのみアクセスします。これは、システム全体のスループットが変わらないことを意味します。さらに、ZK ロールアップには、ロールアップの仮想マシンをターゲットとするプログラムを証明できる回路が必要です (たとえば、イーサリアム上のロールアップは、EVM をターゲットとするコントラクト用の zkEVM を構築しています)。対照的に、ZK コプロセッサは、実行する目的のタスクのための回路を構築するだけで済みます。

したがって、ロールアップとコプロセッサの最大の違いは次の 2 つであると考えられます。

  • ロールアップはパーティションの永続的な状態を維持しますが、コプロセッサは維持しません (ホスト チェーンの状態を使用します)。
  • ロールアップ (名前が示すとおり) は複数のトランザクションをまとめてバッチ処理しますが、コプロセッサーは通常 (少なくとも現在のパラダイムでは) 単一トランザクションの一部として複雑なタスクに使用されます。

最近、ホスト チェーン上で直接実行されているかのようにトランザクションを実行し、ホストの完全な状態にアクセスするブースター ロールアップが提案されました。ただし、ブースター ロールアップには独自のストレージもあり、ホストやロールアップ全体でコンピューティングとストレージを拡張できます。ブースター ロールアップの提案は、オフチェーン コンピューティング設計の範囲内の範囲を示しており、従来のロールアップとコプロセッサは範囲の対極にあります。ロールアップ、ブースター ロールアップ、およびコプロセッサはすべて、より多くの計算へのアクセスを提供します。唯一の違いは、基礎となる L1 から分割された状態の量を保持することです。

Modular Summit 2023 での「シールドされたトランザクションはロールアップである」と題された講演で、Henry De Valence 氏はまさにこの概念について語り、ロールアップを定義するための非常にシンプルなイメージを思いつきました。

この説明では、基礎となるチェーンによってサードパーティにオフロードされる実行はロールアップであると想定しています。彼の定義によれば、コプロセッサもロールアップされます。これは、オフチェーン検証可能な計算を旗印にロールアップとコプロセッサを統合するという私たちの見解とは少し異なりますが、全体的な意見は同じです。

Vitalik 氏は、エンドゲームのビジョンの中で、ブロックの生成が集中化され、ブロックの検証がトラストレスで、高度に分散化される未来について説明しています。私たちは、これが現在何が起こっているかを考えるのにほぼ適切なモデルであると信じています。 zk-rollup では、ブロックの生成と状態遷移の計算が集中化されます。ただし、証明により検証が安価になり、分散化されます。同様に、zk コプロセッサはブロックを生成せず、履歴データにアクセスし、そのデータの状態遷移を計算するだけです。 zk コプロセッサーでの計算は常に集中マシンで実行できますが、結果とともに返される妥当性証明により、誰でも結果を使用する前に検証できます。おそらく、Vitalik 氏のビジョンは、次のように言い換えるのが正しいでしょう。「コンピューティングの将来は集中化されますが、集中化されたコンピューティングの検証はトラストレスであり、高度に分散化されています。」

私たちはお互いを知っていますが、違いがあります

ロールアップとコプロセッサは一般的には似ていますが、今日ではまったく異なる市場にサービスを提供しています。 「ETH L1 でコプロセッサを使用して流動性を獲得できるのに、なぜロールアップが必要なのでしょうか?」と疑問に思う人もいるかもしれませんが、これはもっともな質問ですが、ロールアップが依然として利用可能な理由はいくつかあると考えられます。今日のコプロセッサよりも市場機会が大きい):

  • 前述したように、コプロセッサを使用すると、同じトランザクション内で L1 よりも多くの計算にアクセスできます。ただし、コプロセッサを呼び出すブロックチェーンが実行できるトランザクションの数を変更するのには役立ちません (バッチ処理を考えている場合は、ほら、すでにロールアップに達しています)。ロールアップはパーティションの永続的な状態を維持することで、イーサリアムのセキュリティ特性を備えたブロック領域にアクセスしたい人が利用できるトランザクションの数を増やすことができます。これが可能なのは、ロールアップが n ブロックごとにのみ Ethereum に公開され、すべての Ethereum バリデーターが状態遷移が発生したことを検証する必要がないためです。関係者は証拠を信頼できます。
  • コプロセッサを使用する場合でも、L1 上の他のトランザクションと同じ桁の料金を支払います。一方、バッチ処理によるロールアップでは、コストを数桁削減できます。

さらに、ロールアップはこの個別の状態でトランザクションを実行する機能を提供するため、依然としてブロックチェーンのように動作します (より高速で分散性の低いブロックチェーンですが、それでもブロックチェーンです)。ロールアップからアクセスします。この場合、ユーザーが任意に複雑なトランザクションを実行したい場合、コプロセッサはロールアップに役立ちます (現在、ロールアップで検証可能なトランザクションを実行しているため、ロールアップの物理法則に従うだけで済みます)。

ここで注意すべきもう 1 つの重要な点は、現在、流動性の大部分が ETH L1 に存在しているため、製品を改善するために流動性に依存している多くのプロトコルにとって、依然としてイーサリアム メインネットで起動することが賢明である可能性があるということです。イーサリアムメインネット上のアプリケーションは、コプロセッサ上で断続的にトランザクションを実行することで、より多くの計算にアクセスできます。たとえば、Ambient や Uniswap v4 などの DEX は、フックやコプロセッサを使用して複雑なロジックを実行し、市場データに基づいて手数料の変更方法を決定したり、流動性曲線の形状を変更したりすることができます。

興味深い例えとして、ロールアップとコプロセッサ間の対話を命令型プログラミングと関数型プログラミングに例えます。命令型プログラミングは、変更可能な状態と副作用に焦点を当て、タスクを段階的に実行する方法を指定します。関数型プログラミングでは、不変データと純粋関数を重視し、状態の変化や副作用を回避します。同様に、ロールアップは保持している状態を変更する命令型プログラムに似ていますが、コプロセッサは状態を変更せずに結果と計算証明を生成する関数型プログラムに似ています。さらに、命令型プログラミングや関数型プログラミングと同様に、ロールアップとコプロセッサにはそれぞれの役割があり、それに応じて使用する必要があります。

証拠に基づいた未来

コンピューティングが集中化されているが、集中化されたコンピューティングの検証がトラストレスで高度に分散化されている世界になった場合、イーサリアムはどこへ行くのでしょうか?世界のコンピューターはデータベースに還元されてしまうのでしょうか?これは悪いことですか?

最終的にイーサリアムの目標は、ユーザーがトラストレスなコンピューティングとストレージにアクセスできるようにすることです。以前は、イーサリアム上のトラストレス計算にアクセスする唯一の方法は、すべてのノードによって計算が実行され検証されることでした。証明テクノロジー (特にゼロ知識証明) の進歩により、バリデーター ノードで行われる計算のほとんどをオフチェーン計算に移動し、バリデーターにオンチェーンでの結果のみを検証させることができます。これにより、本質的にイーサリアムは世界の不変の掲示板に変わります。計算による証明により、トランザクションが正しく完了したことを検証でき、トランザクションをイーサリアムに公開することで、これらの証明のタイムスタンプと不変の履歴ストレージを取得できます。ゼロ知識証明が任意の計算でより効率的になるにつれて、ある時点で ZK での計算コストがブロックチェーン (おそらく 100 個のバリデーター CometBFT チェーン) での計算コストよりも大幅に低くなる可能性があります。このような世界では、ZK 証明がトラストレス コンピューティングへの主要なアクセス モードにならないとは考えにくいです。デビッド・ウォンも最近同様の考えを表明しました。

将来的にはどんな計算も証明できるため、イーサリアムのベースレイヤーをこれらのアプリケーションの拠点として改修するのではなく、ユーザーのニーズがあるさまざまなトラストレスアプリケーション用のインフラストラクチャを構築することもできます。理想的な世界では、カスタマイズされたインフラストラクチャはよりシームレスなユーザー エクスペリエンスを生み出し、その上に構築されたアプリケーションに合わせて拡張することもできます。これにより、Web3 アプリケーションが Web2 アプリケーションと競合できるようになり、サイファーパンクが夢見てきた信頼性のない、証拠に基づいた未来が到来することが期待されます。

全体として、私たちは次のパラダイムに向かって進んでいると信じています。

信用するのではなく、検証してください。

コメント

全てのコメント

Recommended for you