
著者: Kernel Ventures Turbo Guo
レビュー担当者: Mandy、Kernel Ventures、Joshua、Kernel Ventures
要約:
ZK コプロセッサは、dApp がオフチェーン コンピューティング リソースを活用できるようにするソリューションです。この記事では、主にコプロセッサの実装、さまざまなアプリケーション、および将来の開発方向について説明します。主な内容は次のとおりです。
RISC Zero の zkVM は、オンチェーン コントラクトがオフチェーン zkVM を呼び出して特定の Rust コードを実行し、その結果をチェーンに返すと同時に、計算が正しいかどうかを検証するための zkp をコントラクトに提供できる ZK コプロセッサ ソリューションです。
ZK コプロセッサを実装する方法はいくつかあります。zkVM に加えて、ユーザーはプログラム用にカスタマイズされた ZK 回路を作成したり、あらかじめ作成されたフレームワークを使用して回路を作成したりすることもできます。これにより、コントラクトはオフチェーン コンピューティング リソースを利用できます。
ZK コプロセッサは、たとえば、オフチェーンで AMM 計算を実行し、プロトコルが MEV と同様の値を取得できるようにしたり、AMM が複雑で計算集約的な動作ロジックを実装できるようにしたりすることで、DeFi で役割を果たすことができます。 ZK コプロセッサを使用すると、貸付プロトコルで金利をリアルタイムで計算したり、マージン計算を透明化したりすることもできます。 zkAMM を実装する方法は 2 つあります。1 つは zkVM を使用する方法、もう 1 つは zkOracle を使用する方法です。
ZK コプロセッサには、他にも潜在的な用途があります。たとえば、ウォレットは ZK コプロセッサを使用してオフチェーンで ID 認証を実行できます。また、コプロセッサにより、オンチェーン ゲームでより複雑な計算を実行し、DAO ガバナンスに必要なガスを削減することもできます。
ZKコプロセッサの構造はまだ未定ですが、ユーザーが独自の回路を作成する場合と比較して、プロジェクトをインターフェイスとして使用してオフチェーンリソースを呼び出す方がユーザーフレンドリーです。ただし、「インターフェイス」プロジェクトの背後でどのようなコンピューティングサービスプロバイダー(従来のクラウドベンダー、分散型リソース共有)が接続されているかは、議論する価値のある別の問題です。
1. ZKコプロセッサの意味と応用

画像出典: Kernel Ventures
ZK コプロセッサの中核は、オンチェーン計算をオフチェーンに移動し、ZK を使用してオフチェーン計算プロセスの信頼性を証明することです。これにより、スマート コントラクトは大量の計算を簡単に処理できると同時に、コントラクトで計算の信頼性を検証できるようになります。これはzkRollupの考え方に似ていますが、Rollupはオフチェーンのコンピューティングリソースを活用するチェーンプロトコルレイヤーであり、ZKコプロセッサはオフチェーンのリソースを活用するdAppです。
ここでは、RISC Zero を使用して ZK コプロセッサの実装方法を説明していますが、ZK コプロセッサの実装方法は多数あり、後ほど紹介します。 RISC Zero は Bonsai ZK コプロセッサ アーキテクチャを開発しました。その中核となるのが RISC Zero の zkVM です。開発者は、「Rust コードが正しく実行された」という事実に基づいて、zkVM 上で zkp を生成できます。 zkVM では、ZK コプロセッサを実装する具体的なプロセスは次のとおりです。
開発者は Bonsai のリレー コントラクトにリクエストを開始し、リレー コントラクトは開発者が要求したプログラムを zkVM で実行します。
リレーコントラクトはリクエストをオフチェーンリクエストプールに送信する
Bonsai はオフチェーンの zkVM でリクエストを実行し、大規模なオフチェーン コンピューティングを実行してから、その領収書を生成します。
これらの証明は「領収書」とも呼ばれ、リレー契約を介して Bonsai によってオンチェーンで公開されます。

画像クレジット: RISC Zero
Bonsai で認定されたプログラムはゲスト プログラムと呼ばれ、レシートはゲスト プログラムが正しく実行されたことを証明するために使用されます。伝票はジャーナルとシールで構成されています。具体的には、ジャーナルは zkVM アプリケーションの公開出力を保持し、シールは資格情報の有効性を証明するために、つまりゲスト プログラムが正しく実行されたことを証明するために使用されます。シール自体も、証明者によって生成された zkSTARK です。資格情報を検証することで、ジャーナルが正しい回路などで構築されていることが保証されます。
Bonsai は、Rust コードから zkVM バイトコードのコンパイル、プログラムのアップロード、VM での実行、開発者向けの証明フィードバックまでのプロセスを簡素化し、開発者がプログラムの論理設計に集中できるようにします。さらに、契約ロジックの一部だけでなく、契約ロジック全体をオフチェーンで実行することもできます。 RISC Zero では継続も使用されており、大規模な証明生成を多くの部分に分割し、各部分を個別に証明します。これにより、メモリをあまり消費せずに大規模なプログラムの証明を生成できるようになります。 RISC Zero に加えて、IronMill、Foundation、Marlin などの他のいくつかのプロジェクトも同様の一般的なソリューションを提供しています。
2. DeFiにおけるZKコプロセッサの応用
2.1 AMM - コプロセッサとしての Bonsai
zkUniswap はオフチェーンのコンピューティングリソースを活用する AMM です。スワップ計算の一部をオフチェーンにすることをコアとしており、Bonsai を使用しています。ユーザーはチェーン上でスワップ要求を開始します。 Bonsai のリレー コントラクトはリクエストを受信し、オフチェーン計算を開始します。Bonsai が計算を完了すると、計算結果と証明を EVM のコールバック関数に返します。証明が正常に検証されると、スワップが実行されます。
ただし、スワップは 1 回で完了するわけではありません。リクエストと実行プロセスは別のトランザクションで行われます。これにより、特定のリスクが発生します。つまり、リクエストが送信されてからスワップが完了するまでの間に、プールのステータスが変わる可能性があります。検証は、リクエストが送信されたときのプールの状態に基づいて行われるためです。リクエストがまだ保留中の間にプールの状態が変化すると、検証は失敗します。
この問題を解決するために、開発者はプール ロックを設計しました。ユーザーがリクエストを開始すると、オフチェーンスワップがチェーン上で正常にトリガーされるか、スワップがタイムアウトするまで(この時間は事前に設定されます)、決済スワップを除くすべての操作がロックされます。時間制限があれば、リレーやzkpに問題があってもプールが永久にロックされることはありません。具体的な時間制限は数分程度になる場合があります。
zkUniswap は MEV 用に特別に設計されており、開発者はプロトコルが MEV の価値を獲得できることを期待しています。理論的には、zkAMM にも MEV があります。トランザクションを最初に送信した人がそれをロックできるため、全員がガスを求めて競争し、ビルダーは要求されたトランザクションを並べ替えることもできます。しかし、zkUniswap は、変動金利段階的ダッチオークション (VRGDA) 方式を使用して、MEV 収益自体を消費します。
zkUniswap はロックを取り出して、より低い価格でオークションにかけます。ロックがすぐに売れた場合、プロトコルは現在の需要が高いことを認識し、自動的に価格を上げます。ロックの販売速度が遅くなると、プロトコルは価格を下げます。これは新たな収入源となるでしょう。これは、プロトコルが取引の順序を決定するための新しいものを提供し、競争価格からのお金が新しいものを通じてプロジェクト側に直接与えられることに相当します。これは非常に想像力に富んでいます。
2.2 AMM - コプロセッサとしてのzkOracle
zkVM の使用に加えて、オフチェーン コンピューティング リソースの活用を実現するために zkOracle の使用を提案する人もいます。zkOracle は、入力と出力の両方を考慮したオラクルです。一般的に、オラクルには入力オラクルと出力オラクルの 2 種類があります。入力オラクルはオフチェーン データを整理 (計算) してチェーン上に置き、出力オラクルはオンチェーン データを整理 (計算) してオフチェーンに提供します。 I/O (入力と出力) オラクル (zkOracle) は最初に出力してから入力を行うため、チェーンはオフチェーンのコンピューティング リソースを利用できます。
zkOracle は、一方ではオンチェーン データをデータ ソースとして使用し、他方では ZK を使用してオラクル ノードの計算が誤っていないことを確認し、コプロセッサの機能を実現します。したがって、AMM のコア計算は zkOracle に配置できます。zkOracle は、従来の AMM 機能を実現すると同時に、より複雑でコンピューティング リソースを消費する操作を実装するためにも使用できます。

画像ソース: github fewwwww/zkAMM
2.3 ローン金利計算、マージン計算などのその他のアプリケーション
実装方法に関係なく、ZK コプロセッサで多くの機能を実現できます。たとえば、融資契約では、事前に設定されたパラメータを設定することはできなくなり、代わりにリアルタイムの融資条件に基づいて金利を調整できるようになります。たとえば、借入需要が高いときには金利を上げて供給を引き寄せ、需要が減ったときには金利を下げるなどです。これには、貸付契約でオンチェーン データをリアルタイムで取得し、適切なパラメータを取得するために大量の計算を実行する必要があり、オフチェーン計算が必要になります (オンチェーン コストが極めて低い場合を除く)。
証拠金残高、未実現損益、清算金額などの計算などの複雑な操作もコプロセッサに転送して実行できます。コプロセッサを使用する利点は、これらのアプリケーションの透明性と検証性が向上し、マージン エンジンのロジックが秘密のブラック ボックスではなくなることです。計算はオフチェーンで実行されますが、ユーザーはその実行の正確性を完全に信頼できます。さらに、この方法はオプションの計算にも適用されます。
3. ZKコプロセッサのその他の用途
3.1 ウォレット - Bonsai をコプロセッサとして使用する
Bonfire Wallet は、zkVM を使用して ID 検証の計算をオフチェーンに移動します。このウォレットの目的は、ユーザーが生体認証情報(指紋)または暗号化ハードウェア YubiKey を使用してバーナー ウォレットを作成できるようにすることです。
具体的には、Bonfire Wallet はユニバーサル Web 認証標準である WebAuthn を使用しており、これによりユーザーはパスワードを使用せずにデバイスを使用して Web 上で直接 ID 認証を完了できます。そのため、Bonfire ウォレットでは、ユーザーは WebAuthn (WebAuthn の場合はオンチェーンではありません) を通じて公開鍵を生成し、それを使用してウォレットを作成します。
各 Burner ウォレットには、WebAuthn 公開キーを含むチェーン上の契約があり、その契約ではユーザーの WebAuthn 署名を検証する必要があります。しかし、計算量が非常に大きいため、Bonsai を使用して計算をオフチェーンに置き、zkVM ゲスト プログラムを通じてオフチェーンで署名を検証し、オンチェーン検証用の zkp を生成します。

画像出典: Bonfire Wallet
3.2 オンチェーンデータ取得 - ユーザーが独自のZK回路を作成する
Axiom は、zkVM を使用せず、別のコプロセッサ ソリューションを使用するアプリケーションです。まず、Axiom が何をしたいのかを紹介します。ZK コプロセッサを使用して、契約がチェーン上の履歴情報にアクセスできるようにしたいと考えています。実際、スマートコントラクトは一般的にリアルタイムのオンチェーンデータを取得するため、非常にコストがかかるため、コントラクトに履歴データを読み取らせるのは困難です。過去の口座残高や取引記録などの貴重なオンチェーンデータをコントラクトが取得するのは困難です。

画像ソース: Axiom デモ
Axiom ノードは必要なオンチェーン データにアクセスし、指定された計算をオフチェーンで実行し、計算のゼロ知識証明を生成して、有効なオンチェーン データに基づいて結果が正しく計算されたことを証明します。この証明はオンチェーンで検証され、契約が結果を信頼できることが保証されます。
オフチェーンコンピューティング用のzkpを生成するには、プログラムをZK回路にコンパイルする必要があります。前回の記事では、これを行うためにzkVMを使用することも説明しました。Axiomの関係者は、この問題には多くの解決策があり、パフォーマンス、柔軟性、開発経験のバランスを取る必要があると指摘しました。
カスタマイズされた回路: 開発者はプログラムに合わせて回路をカスタマイズします。これにより、最高のパフォーマンスが確実に得られますが、開発には時間がかかります。
eDSL/DSL: 開発者は依然として独自の回路を作成しますが、パフォーマンスと開発経験のバランスをとるために、開発者が ZK 関連の問題を解決するのに役立つオプションのフレームワークがいくつかあります。
zkVM: 開発者は既存の仮想マシンで ZK を直接実行できます。これは非常に便利ですが、Axiom の担当者は非効率的だと考えています。
そのため、Axiom は 2 番目のオプションを選択し、プロジェクトではユーザーが独自の回路を設計できるように最適化された ZK モジュールのセットも提供しました。
Axiom に似た別のプロジェクトは Herodotus ですが、これはクロスチェーン情報伝送用のミドルウェアを目指しています。情報処理はオフチェーンで行われるため、異なるチェーンが処理されたデータを取得できるようにすることは合理的な考えです。別のプロジェクト「Space and Time」では、同様のアーキテクチャを使用してデータ インデックスを実装しています。
3.3 オンチェーンゲーム、DAOガバナンスおよびその他のアプリケーション
さらに、オンチェーン ゲームや DAO ガバナンスでも ZK コプロセッサを使用できます。 RISC Zero は、250k ガス以上を必要とする計算は ZK コプロセッサを使用すると安価になると考えていますが、どのようにしてその結論に至ったのかはまだわかりません。 DAO ガバナンスでは ZK コプロセッサも使用できますが、複数の人と複数の契約が関係するため、大量のコンピューティング リソースを消費します。 RISC Zeroは、Bonsaiを使用することでガス料金を50%削減できると主張しています。 ZKML は本質的に ZK コプロセッサのアイデアであるため、Modulus Labs と Giza もこの分野のプロジェクトですが、ZK コプロセッサの概念はより広範囲です。
さらに、ZK コプロセッサの分野には、ZK 回路を作成するためのコンパイラ、ZK 展開用のツールキット、オンチェーン コンピューティングをオフチェーンに移行するためのツールなどを提供する ezkl などの補助プロジェクトがいくつかあります。
4. 今後の展望
コプロセッサにより、オンチェーン アプリケーションは「クラウド」のような外部コンピューティング リソースを利用できるようになります。これにより、チェーンは必要な計算のみを処理し、比較的安価な大規模コンピューティングが実現します。実際の状況では、zkVM はクラウド上でも実行できます。ZK コプロセッサは本質的に、オンチェーン コンピューティングをオフチェーンに移動するアーキテクチャであり、オフチェーン コンピューティング リソースを誰が提供するかについて制限はありません。
本質的には、オフチェーン コンピューティング リソースは、従来の大手メーカー、さらには分散コンピューティング リソースとローカル デバイスによって共有されます。これら3つの方向性は異なります。従来の大企業は、比較的成熟したオフチェーンコンピューティングソリューションを提供できます。将来的には、分散コンピューティングリソースがより「堅牢」になる可能性があり、ユーザーのローカルコンピューティングにも多くの想像力の余地があります。ただし、現在、多くの ZK コプロセッサ プロジェクトでは、このトラックの上流と下流がまだ形成されておらず、サービスを改良して別のプロジェクトに引き渡すことが不可能であるため、クローズド ソース サービスを提供することを選択しています。将来的には、次の 2 つの可能性があります。
ZKコプロセッサのあらゆる側面において、競合するプロジェクトが多数存在します。
優れたサービス経験を持つプロジェクトが市場の大部分を占める
開発者の観点から見ると、ZK コプロセッサを使用する場合、使用できる「インターフェース」プロジェクトは 1 つだけです。これは、Amazon Cloud が大きな市場シェアを占めている理由でもあります。開発者は 1 つの展開方法に慣れることになります。しかし、オフチェーンコンピューティングリソースの「インターフェース」プロジェクトとして、その背後にどのようなコンピューティングサービスプロバイダー(従来のクラウドベンダー、分散型リソース共有)が接続されているかは、議論する価値のある別の問題です。
Kernel Ventures は、インフラストラクチャ、ミドルウェア、dApp、特に ZK、Rollup、DEX、モジュラー ブロックチェーン、およびアカウントの抽象化、データの可用性、スケーラビリティなど、数十億の将来の暗号通貨ユーザーを獲得する垂直分野に重点を置いた 70 を超える初期段階の投資を行っている研究開発コミュニティ主導の暗号通貨ベンチャー キャピタル ファンドです。過去 7 年間にわたり、私たちは世界中のコア開発コミュニティと大学のブロックチェーン協会の成長をサポートすることに尽力してきました。
参考文献:
スケーラビリティのための ZK コプロセッサガイド:https://www.risczero.com/news/a-guide-to-zk-coprocessors-for-scalability
Ethereum 用の zkOracle の定義:https://ethresear.ch/t/defining-zkoracle-for-ethereum/15131
zkUniswap: 初の zkAMM:https://ethresear.ch/t/zkuniswap-a-first-of-its-kind-zkamm/16839
ZK コプロセッサとは?:https://blog.axiom.xyz/what-is-a-zk-coprocessor/
コプロセッサの簡単な紹介:https://crypto.mirror.xyz/BFqUfBNVZrqYau3Vz9WJ-BACw5FT3W30iUX3mPlKxtA
Hyper Oracle で構築する最新のアプリケーション (ボーナス: 今すぐ構築できるもの):https://mirror.xyz/hyperoracleblog.eth/Tik3nBI9mw05Ql_aHKZqm4hNxfxaEQdDAKn7JKcx0xQ
Bonfireウォレット:https://ethglobal.com/showcase/bonfire-wallet-n1dzp

