新しいクラスのアプリケーションを解き放つために。 必要なコンピューティングではなく、必要なコンピューティングです。
分散型アプリは、イーサリアムの処理能力が制限されているため、複雑なオンチェーン計算の実行に制限があります。 その結果、多くのDeFiプロトコルがオーダーブックやリスクシステムなどのコンポーネントをオフチェーンに移動するのを見てきました。 これは、特定のタスクに合わせてカスタマイズされた計算環境の必要性を示しています。
オンチェーンで展開された多くのdefiアプリが、システムの一部をオフチェーンで管理するようになったのは、ゆっくりとした、しかし緩やかな変化です。 Dydx V4は、オーダーブックをオフチェーンに保ち、おそらく証拠金システムも維持する予定です。 Blurは、スムーズなUXのために、交換の一部をオフチェーンに保ちます。 オプション取引所であるAevoは、オーダーブックとリスクエンジンをオフチェーンで管理しています。 その最も単純な理由は、これらのパフォーマンス中心のシステムをオンチェーンで効率的かつスケーラブルに維持することの難しさです。
コンポーネントのオフチェーンへの移行は、特定のタスクに合わせてカスタマイズされた(そして高性能な)計算環境という、より広範なニーズを示しています。 しかし、これだけではありません。 この体制では、現状維持がうまく機能します。 プロトコルがオフチェーンシステムを実行する場合、オフチェーンシステムが言ったとおりに機能するかどうかを信頼することは、ユーザーであるあなたにとって最終的に不透明です。 検証可能な計算は、信頼の仮定を排除し、プロトコルが信頼要素を導入することなくオフチェーン計算を行うことを可能にします。 これがイーサリアムのコプロセッサの約束です。 イーサリアムのコプロセッサモデルについて説明する前に、このアイデアがどこから来たのかを簡単におさらいしましょう。
コプロセッサの概念は、パフォーマンスを向上させるための技術としてコンピュータアーキテクチャに端を発しています。 従来のコンピュータは、すべての計算を処理するために単一の中央処理装置(CPU)に依存しています。 しかし、ワークロードが複雑になるにつれて、CPUが過負荷になりました。
コプロセッサーは、特定のタスク専用の特殊なプロセッサーとして導入されました。 たとえば、グラフィックス処理装置 (GPU) は、3D レンダリングに必要な膨大な並列計算を処理します。 これにより、メインCPUは汎用的な処理に集中することができます。 その他の一般的なコプロセッサには、暗号化/復号化用の暗号化アクセラレータ、マルチメディア用の信号プロセッサ、科学計算用の数学コプロセッサなどがあります。 各コプロセッサは、ニッチなワークロードを効率的に実行するために合理化されたアーキテクチャを備えています。 (ただし、このほとんどが並列プログラミング、つまりGPUに包摂されていると言えます。
この CPU とコプロセッサの分業により、パフォーマンスが桁違いに向上しました。 コプロセッサモデルにより、コンピュータは、単独のジェネラリストCPUでは実現不可能な、ますます高度なワークロードを引き受けることが可能になりました。
イーサリアムはジェネラリストCPU VMとも言えますが、オンチェーンで実行するために支払わなければならないコストがかかるため、重い計算を行う準備ができていないため、さまざまなプロトコルの展開が制限され、設計者はEVMの制約の中で何か新しいことを考え出すことを余儀なくされています。 簡単に言えば、複雑なアプリケーションにはコストが厳しすぎます。 これにより、さまざまなプロトコルがプロトコルの一部をオフチェーンに保つことにもつながり、このように展開されたすべてのオフチェーンモデルは、特定のリスクの概念をもたらしました。 中央集権化のリスクと、単なる信頼のリスク。プロトコルが悪意がないと信頼しているが、これは分散型アプリの精神にやや反している。
この記事では、これらのソリューションのいくつかを取り上げ、このインフラストラクチャによってどのような種類のアプリケーションのロックを解除できるかを垣間見せます。 また、暗号空間におけるアプリケーションの基礎となるであろう計算をオフロードする別の方法も検討します。
AxiomやRiscZeroが提供するようなコプロセッサは、最近、スマートコントラクトが重い計算の負荷を軽減できるようにすることで、オンチェーンで可能なアプリケーションの新しい次元を切り開きました。 システムは、コードが誰でも検証できる方法で実行されたことを証明します。
Bonsai と Axiom は、オンチェーン状態にアクセスできる任意の計算をオフチェーンで実行し、計算が実行されたという "レシート" を提供するという点で同様のソリューションです。
Axiomは、イーサリアムのスマートコントラクトが、ネットワークの分散化とセキュリティを維持しながら、より多くの過去のオンチェーンデータにアクセスし、複雑な計算を行うことを可能にします。 現在、コントラクトは現在のブロックから非常に限られたデータにアクセスできるため、構築できるアプリケーションの種類が制限されます。 同時に、コントラクトが完全な履歴アーカイブデータにアクセスできるようにするには、すべてのネットワークノードが完全なアーカイブを保存する必要がありますが、これはストレージコストのために実行不可能であり、分散化に悪影響を及ぼします。
この問題を解決するために、Axiomは「ZKコプロセッサ」システムを開発しています。 これにより、コントラクトは過去のブロックチェーンデータを照会し、Axiomネットワークを介してオフチェーンで計算を実行できます。 公理ノードは、要求されたオンチェーンデータにアクセスし、指定された計算を実行します。 重要なのは、結果が有効なオンチェーンデータから正しく計算されたというゼロ知識証明を生成することです。 この証明はオンチェーンで検証され、その結果が契約によって信頼できることを保証します。
このアプローチにより、コントラクトはチェーン履歴からはるかに多くのデータにアクセスでき、ベースレイヤーノードに負担をかけることなく複雑な計算を実行することができます。 Axiomは、これにより、過去のブロックチェーン活動の証明可能で客観的な分析に依存する新しいカテゴリのアプリケーションが可能になると考えています。 彼らはすでに基本的なデータ読み取りのためのメインネット機能を立ち上げており、近い将来、完全なアーカイブデータアクセスとコントラクトビュー機能のZK検証に拡張する予定です。 長期的なビジョンは、EVM機能を超えるさらに高度なZK計算です。
Axiomは、正しいオフチェーン実行の証明を生成することで、ブロックチェーンアプリケーションの新しいカテゴリを解き放ちます。
Risc Zeroは、Rust、C/C++、Goなどの言語で書かれた任意のプログラムをゼロ知識で証明できる汎用ゼロ知識仮想マシン(zkVM)を開発しました。
zkVMを使用すると、開発者はカスタム回路を設計することなく、任意のRustコードをゼロ知識で証明できます。 目標は、ゼロ知識アプリケーション開発をより身近なものにすることです。 zkVMは、プライベートな入力やロジックを明らかにすることなく、プログラムが正しく実行されたことを証明するプルーフレシートを生成します。 これにより、集中的な計算をオフチェーンで行い、プルーフレシートがオンチェーンで正しい実行を検証することができます。 RustクレートはこのzkVMで動作しますが、システムコールにはいくつかの制限があります。 継続と呼ばれる機能を使用すると、大規模な計算をセグメントに分割し、個別に証明できます。 これにより、並列証明が可能になり、計算サイズの制限がなくなり、zkVMプログラムの一時停止/再開が可能になります。 継続により、zkVMの完全準同型暗号化、EVM、WASMなどの新しいユースケースが可能になりました。
Bonsai は、Risc Zero によって開発されたオフチェーンのゼロ知識証明サービスであり、イーサリアムおよびブロックチェーン アプリケーションに汎用 zkVM を使用できるようにします。 これは、zkVMのオンチェーンスマートコントラクトとオフチェーン計算の間の橋渡しを提供します。
によって有効になるワークフロー Bonsai は次のとおりです。
開発者は、オフチェーン計算を要求するために Bonsai のリレー コントラクトを呼び出すスマート コントラクトを記述します
Bonsai は、これらのオンチェーン要求を監視し、Rust で記述された対応する zkVM プログラムを実行します
zkVM プログラムは Bonsai のインフラストラクチャで実行され、集中的またはプライベートな計算をオフチェーンで実行し、正しく実行されたという証拠を生成します。
"レシート" と呼ばれる証明結果は、リレー コントラクトを介して Bonsai によってオンチェーンに戻されます。
開発者のスマートコントラクトは、コールバック関数で結果を受け取ります
これにより、計算負荷の高いロジックや繊細なロジックをオフチェーンで発生させながら、オンチェーンのzkプルーフを介して正しい実行を検証することができます。 スマートコントラクトは、計算の要求と結果の消費を処理するだけで済みます。
Bonsai は、Rust コードを zkVM バイトコードにコンパイルし、プログラムをアップロードし、VM で実行し、証明を返す複雑さを抽象化します。 開発者は、プログラムロジックの作成に集中できます。 したがって、このインフラストラクチャにより、機密データとロジックをプライベートに保ちながら、汎用計算をオフチェーンで実行できます。
Bonsai を使用すると、開発者は、基になる zkVM 暗号化とインフラストラクチャの専門知識を必要とせずに、オフチェーン コンピューティングを使用してブロックチェーン アプリケーションを簡単に構築できます。 簡単に言えば、Bonsai を使用すると、開発者は zk の専門知識がなくてもオフチェーン計算を簡単に統合できます。
ZKコプロセッサは、検証可能なオフチェーン計算を実現する唯一の方法なのでしょうか? トラストレスで安全な方法で計算の負荷を軽減するために、他にどのようなアプリケーションがありますか? セキュリティの特性、効率性、実装に関する意見はさまざまですが、暗号のさまざまな分野で検討されており、ゆっくりと最前線に出てくるでしょう。
MPCやTEEなどの代替手段は、検証可能なオフチェーン計算への他のアプローチを提供します。 MPC は機密データの共同コンピューティングを可能にし、TEE はハードウェア ベースの安全なエンクレーブを提供します。 どちらもトレードオフの関係にありますが、ZKコプロセッサの代替にもなり得ます。
セキュア マルチパーティ計算 (MPC) を使用すると、複数のパーティが入力に対して関数を共同で計算し、それらの入力をプライベートに保つことができます。 これにより、機密データに関するコラボレーションが可能になり、すべての参加者のプライバシーが維持されます。 しかし、MPCでは、すべての当事者がアウトプットを学ぶか、まったく学習しないかのどちらかであり、ほとんどの当事者が不誠実であれば、公平性を達成することは不可能です。 言い換えれば、すべてのノードが破損すると、プライバシーと整合性の保証は消えます。 ブロックチェーン技術は、MPCプロトコルをより公平にするのに役立ちます。
お互いに給料を明かさずに給料の平均を知りたい3人の友人を想像してみてください。 Secure MPC を使用してこれを実現できます。
友達がアリス、ボブ、イブだとします。
アリスは給料を受け取り、それに乱数を加算し、その結果をボブに伝えます。
ボブはアリスから受け取った数字に自分の給料と別の乱数を加算し、その結果をイブに伝えます。
イブは自分の給料をボブの数値に加算し、前に加算したすべての乱数を減算し、その結果を 3 で割って平均を求めます。
最終的な数字は、給与の平均です。他人の給料については何も知りません。 ここで注意すべきニュアンスの1つは、平均がイブの給料よりも低い場合、お互いの正確な給料は誰にもわからないが、イブは他の2人の給料の1人が自分よりも低いと推測できるということです。
ブロックチェーンは、当事者が情報を投稿できるようにする改ざん防止の公開台帳を提供します。 証人暗号化を使用することで、当事者は不公平な MPC プロトコルの出力を暗号化できます。 彼らは、復号化キーの抽出を可能にするトークンを台帳に投稿します。 台帳は公開されているため、すべての関係者が同時に復号化キーにアクセスできます。 これにより、すべての当事者が出力を復号化するか、または誰も復号しない公平な復号化プロトコルが可能になります。
Andrew Miller氏は、「ブロックチェーンの機密性レイヤーとしてのMPC」の中で、MPCがプライベートデータの計算にどのように役立つかについて語っています。 公的に監査可能なMPCは、ゼロ知識証明を使用して、ノードが完全に破損しているにもかかわらず整合性を維持します。 クライアントは、有効性を証明するために入力をコミットします。 MPCノードは、正しい計算の証明を生成します。 最終的に、検証者は入力、出力、および証明が一致することを確認します。 この監査では、標準の MPC コストを超えるオーバーヘッドが最小限に抑えられます。 証明は、ユニバーサルセットアップのSNARKを使用して簡潔に行われます。 ただし、パフォーマンスの最適化、プログラミング モデル、および実際の展開については疑問が残ります。
個人情報や財務データなどの機密データは、保存時や転送時、使用時や計算時に保護する必要があります。 従来の暗号化方式では、保存中および転送中のデータは保護されますが、データがアクティブに使用されている場合は保護されません。 これは、データが処理されるときに暗号化されていない形式であることが多く、攻撃に対して脆弱なままであるため、問題です。
信頼できる実行環境 (またはセキュリティで保護されたエンクレーブ) は、データを暗号化できる分離された環境ですが、計算は引き続き実行できます。 重要な考え方は、データと計算を分離して、特権のあるシステム プロセスでさえアクセスできないようにすることです。 信頼できる実行環境 (TEE) は、機密データとコードを保護するためのハードウェアベースのセキュリティ機能を提供するプロセッサ内の安全な領域です。 特定のソフトウェアをシステムの他の部分から分離し、デバイスで実行されているオペレーティング システムやその他のソフトウェアによっても、TEE 内のデータが改ざんされないようにします。
TEE を使用すると、機密データは使用中でも保護されたままになります。 これにより、プライバシーを保護するソーシャルネットワーク、金融サービス、ヘルスケアなどのアプリケーションが可能になります。 効率性と信頼性の仮定にはいくつかの制限がありますが、エンクレーブは、特にブロックチェーンネットワークと組み合わせて堅牢で検閲不可能なシステムを構築する場合に、多くの潜在的な用途を持つ強力なテクノロジーです。 信頼に関するトレードオフは、強力なデータ プライバシーが必要な多くの商用および非営利アプリケーションで許容できる場合があります。
信頼できる実行環境(TEE)を使用すると、データの機密性と運用の改ざんを防止しながら、信頼できないサードパーティのクラウドプロバイダーに計算をアウトソーシングできます。 これは、プライバシーや制御を犠牲にすることなく、クラウドの利便性とコスト削減を利用したい分散型アプリや組織にとって非常に便利です。 しかし、TEE がすべての問題を魔法のように解決するわけではなく、ほとんどの開発者が簡単に使用できるようになるまでには、まだいくつかの実用的な課題があります。
これらは強力なビルディングブロックですが、上記の制限やベンダーの集中化、スケーリング、フォールトトレランスに関する制限に対処するには、慎重なシステム調査が必要です。
Intel SGX や AWS Nitro Enclaves などの信頼できる実行環境 (TEE) は、機密性の高い計算を実行し、機密データを保存するための分離された環境を提供します。 TEE は、特権のあるシステム プロセスであっても、TEE 内のコードやデータにアクセスしたり、改ざんしたりできないようにします。 これにより、分散型のアプリや組織は、プライバシーや整合性を気にすることなく、信頼できないサードパーティのクラウドホストに計算をアウトソーシングすることができます。
これらの課題を解決することで、強力な整合性、機密性、検閲耐性を必要とする分散型アプリへのTEEの適用性が大幅に拡大し、信頼できないクラウドに計算とストレージをアウトソーシングすることができます。 TEE は強力な原始的なものですが、その限界に対処するためには、思慮深いシステム協調設計が依然として必要です。
コプロセッサを評価する際に重要な考慮事項は、さまざまな種類の計算に必要なセキュリティ モデルと保証レベルです。 注文の照合など、特定の機密性の高い計算では、最大限のセキュリティと最小限の信頼の仮定が必要です。 これらに対して、zk-coprocessorsのようなゼロ知識証明を使用するコプロセッサは、オペレータを信頼しなくても結果を検証できるため、強力な保証を提供します。
ただし、zk-コプロセッサには、効率と柔軟性の欠点がある場合があります。 MPC や信頼できるハードウェアなどの他のアプローチは、分析やリスク モデリングなどの機密性の低い計算のトレードオフとして許容できる場合があります。 保証は弱くなりますが、より幅広い計算をより効率的に行うことができます。 必要なセキュリティのレベルは、アプリケーションのリスク許容度によって異なります。 チームは、問題となっている価値を分析し、検証されていないが効率的なコプロセッサが、特定の重要でない計算に対して合理的なエンジニアリング上の妥協点であるかどうかを評価する必要があります。
全体として、コプロセッサはさまざまなセキュリティ モデルにまたがっており、チームは特定のタスクのセキュリティ要件にソリューションを一致させる必要があります。 エコシステムはまだ初期段階にあるため、スケーラブルで検証可能な計算のさらなる進歩により、可能性が広がります。
ブログ「Feedback Control as a new primitive for Defi」で、著者らは、DeFiメカニズムの制御メカニズムは、計算とストレージが豊富になるにつれて、強化学習(RL)とDRLを使用して、端から端までゆっくりとアップグレードされる可能性があると述べています。 RLはまだ難しいかもしれませんが、検証可能な計算により、機械学習のアプリケーションはまだ可能かもしれません。
昨年の貸付プロトコルは、流動性のない弱気市場で貸し出されるトークンの積極的なパラメータによる不良債権の可能性のために精査されています。 オンチェーンの流動性にアクセスし、資産の流動性プロファイルを作成できるモデルは、パラメータを動的に変更する可能性があります。
例えば、レンディングプロトコルは、リアルタイムのオンチェーンデータに基づいて金利を動的に制御することで恩恵を受けることができます。 フィードバック制御システムは、あらかじめ設定された金利モデルに頼るのではなく、現在の利用率と流動性係数に基づいてアルゴリズムで金利を調整することができます。
例えば、資産を借りる需要が高く、稼働率が上昇する場合、コントローラーは金利を急速に引き上げて供給を奨励し、稼働率を安定させることができます。 逆に、利用率が低い場合は、金利を引き下げて借入のインセンティブを高めることができます。 コントローラーのパラメータは、プロトコル収益の最大化やボラティリティの最小化などの目的に合わせて最適化するように調整できます。
プロトコルは、これを実装するために、借入総額、利用可能な流動性、その他の利用指標などのリアルタイムのオンチェーンデータにアクセスする必要があります。 次に、コントローラー ロジックがこのデータを処理して、最適な金利調整を計算します。 レートの更新は、DAOを介してオンチェーンで管理することも、証明検証を使用してオフチェーンで管理することもできます。
プロトコルは、これを実装するために、借入総額、利用可能な流動性、その他の利用指標などのリアルタイムのオンチェーンデータにアクセスする必要があります。 次に、コントローラー ロジックがこのデータを処理して、最適な金利調整を計算します。 レートの更新は、DAOを介してオンチェーンで管理することも、証明検証を使用してオフチェーンで管理することもできます。 最近の研究、Chitraらによる「Attacks on Dynamic Defi Interest rate curves」は、動的貸出モデルがより多くのMEVをもたらすことを示しています。 したがって、これらのプロトコルの設計には慎重な検討が必要です。
ブロックチェーンデータへのアクセスが豊富なことから、機械学習アプリケーションをこのように使用するという自然な結論に至ります。 機械学習アプリケーションの計算の証明は少し難しいかもしれませんが、検証可能なML計算はそれ自体が巨大な市場です。 これらは、オンチェーンアプリケーション、特に一部のセキュリティアプリケーションにも利用できます。
ブロックチェーンデータには、機械学習モデルが不審なアクティビティを検出したり、リスク管理システムを強化したりするために使用できる貴重なシグナルが含まれています。 しかし、MLをオンチェーンで実行することは、ガス代やプライバシーの懸念から、現在のところ実現不可能です。 これは、スマートコントラクト、ウォレット、または疑わしい引き出しや送金を検出するためのポートフォリオマネージャーのためのオンチェーン監視システムのように見えるかもしれません。 セキュリティの場合、「ラガー」や「ハッキング」などの悪意のある攻撃など、さまざまな種類のシグナルを取得するために利用できる膨大な量のプロファイリングデータがあります。 また、貸し手と借り手のオンチェーン履歴を考慮して、信用力やプロファイリングリスクのDeFiアプリケーションにも使用できます。
課題には、データ品質、コンセプトのドリフト、プルーフシステムのパフォーマンスの限界などがあります。 しかし、MLと検証可能なオフチェーン計算を組み合わせることで、コプロセッサはブロックチェーン分析とリスク管理に多くの新しい機会をもたらします。
永久スワップの証拠金システムは、中央集権型および分散型取引所に関して、常にユーザーから隠されてきました。 永久スワップやオプションなどのデリバティブの証拠金システムは、伝統的に中央集権的な取引所によって管理される不透明なブラックボックスでした。
コプロセッサーは、分散型取引のための透明で検証可能な証拠金ロジックを実装する機会を提供します。 自動レバレッジ解消システムを検証済みの方法で実装するという約束は、ユーザーにより高い信頼性の要素を提供し、中央集権的な対応物とすぐに差別化します。
証拠金システムは、永久スワップのインデックス価格フィードとポジション値を監視し、証拠金残高がマイナスになる前にポジションを清算することができます。 維持証拠金率、資金調達率、清算ペナルティなどのすべてのリスクパラメータは、オンチェーンで管理することができます。
ただし、証拠金残高、未実現損益、清算額などを計算するための集中的な計算は、コプロセッサにオフロードできます。 マージンエンジンのロジックを機密環境で実行し、正しい計算を証明する証明を生成します。
コプロセッサー・アプローチの利点には、透明性、検証可能性、およびプライバシーが含まれます。 マージンエンジンのロジックは、もはやプロプライエタリなブラックボックスではありません。 計算はオフチェーンで行われますが、ユーザーは正しい実行の証明を信頼できます。 オプションについても同じことが言えます。
課題には、集中的な証拠金計算のための証明を効率的に生成することが含まれます。 しかし、全体として、コプロセッサは、プライバシーと検証可能性を組み合わせることで、分散型デリバティブプラットフォームの新たな可能性を解き放ちます。
コプロセッサは、分散化を損なうことなく、ブロックチェーンアプリケーションの可能性を大幅に拡大します。 この分野で最先端のプロジェクトが革新を続ける中、イーサリアムやそれ以降での検証可能なオフチェーン計算の未来は明るいと思われます。
今後の記事では、これらのソリューションのセキュリティ上の考慮事項、ロールアップとの比較、より広範なイーサリアムアプリケーション環境への適合性、スケーリングの問題に対する万能薬であるかどうかについて掘り下げる予定です。
新しいクラスのアプリケーションを解き放つために。 必要なコンピューティングではなく、必要なコンピューティングです。
分散型アプリは、イーサリアムの処理能力が制限されているため、複雑なオンチェーン計算の実行に制限があります。 その結果、多くのDeFiプロトコルがオーダーブックやリスクシステムなどのコンポーネントをオフチェーンに移動するのを見てきました。 これは、特定のタスクに合わせてカスタマイズされた計算環境の必要性を示しています。
オンチェーンで展開された多くのdefiアプリが、システムの一部をオフチェーンで管理するようになったのは、ゆっくりとした、しかし緩やかな変化です。 Dydx V4は、オーダーブックをオフチェーンに保ち、おそらく証拠金システムも維持する予定です。 Blurは、スムーズなUXのために、交換の一部をオフチェーンに保ちます。 オプション取引所であるAevoは、オーダーブックとリスクエンジンをオフチェーンで管理しています。 その最も単純な理由は、これらのパフォーマンス中心のシステムをオンチェーンで効率的かつスケーラブルに維持することの難しさです。
コンポーネントのオフチェーンへの移行は、特定のタスクに合わせてカスタマイズされた(そして高性能な)計算環境という、より広範なニーズを示しています。 しかし、これだけではありません。 この体制では、現状維持がうまく機能します。 プロトコルがオフチェーンシステムを実行する場合、オフチェーンシステムが言ったとおりに機能するかどうかを信頼することは、ユーザーであるあなたにとって最終的に不透明です。 検証可能な計算は、信頼の仮定を排除し、プロトコルが信頼要素を導入することなくオフチェーン計算を行うことを可能にします。 これがイーサリアムのコプロセッサの約束です。 イーサリアムのコプロセッサモデルについて説明する前に、このアイデアがどこから来たのかを簡単におさらいしましょう。
コプロセッサの概念は、パフォーマンスを向上させるための技術としてコンピュータアーキテクチャに端を発しています。 従来のコンピュータは、すべての計算を処理するために単一の中央処理装置(CPU)に依存しています。 しかし、ワークロードが複雑になるにつれて、CPUが過負荷になりました。
コプロセッサーは、特定のタスク専用の特殊なプロセッサーとして導入されました。 たとえば、グラフィックス処理装置 (GPU) は、3D レンダリングに必要な膨大な並列計算を処理します。 これにより、メインCPUは汎用的な処理に集中することができます。 その他の一般的なコプロセッサには、暗号化/復号化用の暗号化アクセラレータ、マルチメディア用の信号プロセッサ、科学計算用の数学コプロセッサなどがあります。 各コプロセッサは、ニッチなワークロードを効率的に実行するために合理化されたアーキテクチャを備えています。 (ただし、このほとんどが並列プログラミング、つまりGPUに包摂されていると言えます。
この CPU とコプロセッサの分業により、パフォーマンスが桁違いに向上しました。 コプロセッサモデルにより、コンピュータは、単独のジェネラリストCPUでは実現不可能な、ますます高度なワークロードを引き受けることが可能になりました。
イーサリアムはジェネラリストCPU VMとも言えますが、オンチェーンで実行するために支払わなければならないコストがかかるため、重い計算を行う準備ができていないため、さまざまなプロトコルの展開が制限され、設計者はEVMの制約の中で何か新しいことを考え出すことを余儀なくされています。 簡単に言えば、複雑なアプリケーションにはコストが厳しすぎます。 これにより、さまざまなプロトコルがプロトコルの一部をオフチェーンに保つことにもつながり、このように展開されたすべてのオフチェーンモデルは、特定のリスクの概念をもたらしました。 中央集権化のリスクと、単なる信頼のリスク。プロトコルが悪意がないと信頼しているが、これは分散型アプリの精神にやや反している。
この記事では、これらのソリューションのいくつかを取り上げ、このインフラストラクチャによってどのような種類のアプリケーションのロックを解除できるかを垣間見せます。 また、暗号空間におけるアプリケーションの基礎となるであろう計算をオフロードする別の方法も検討します。
AxiomやRiscZeroが提供するようなコプロセッサは、最近、スマートコントラクトが重い計算の負荷を軽減できるようにすることで、オンチェーンで可能なアプリケーションの新しい次元を切り開きました。 システムは、コードが誰でも検証できる方法で実行されたことを証明します。
Bonsai と Axiom は、オンチェーン状態にアクセスできる任意の計算をオフチェーンで実行し、計算が実行されたという "レシート" を提供するという点で同様のソリューションです。
Axiomは、イーサリアムのスマートコントラクトが、ネットワークの分散化とセキュリティを維持しながら、より多くの過去のオンチェーンデータにアクセスし、複雑な計算を行うことを可能にします。 現在、コントラクトは現在のブロックから非常に限られたデータにアクセスできるため、構築できるアプリケーションの種類が制限されます。 同時に、コントラクトが完全な履歴アーカイブデータにアクセスできるようにするには、すべてのネットワークノードが完全なアーカイブを保存する必要がありますが、これはストレージコストのために実行不可能であり、分散化に悪影響を及ぼします。
この問題を解決するために、Axiomは「ZKコプロセッサ」システムを開発しています。 これにより、コントラクトは過去のブロックチェーンデータを照会し、Axiomネットワークを介してオフチェーンで計算を実行できます。 公理ノードは、要求されたオンチェーンデータにアクセスし、指定された計算を実行します。 重要なのは、結果が有効なオンチェーンデータから正しく計算されたというゼロ知識証明を生成することです。 この証明はオンチェーンで検証され、その結果が契約によって信頼できることを保証します。
このアプローチにより、コントラクトはチェーン履歴からはるかに多くのデータにアクセスでき、ベースレイヤーノードに負担をかけることなく複雑な計算を実行することができます。 Axiomは、これにより、過去のブロックチェーン活動の証明可能で客観的な分析に依存する新しいカテゴリのアプリケーションが可能になると考えています。 彼らはすでに基本的なデータ読み取りのためのメインネット機能を立ち上げており、近い将来、完全なアーカイブデータアクセスとコントラクトビュー機能のZK検証に拡張する予定です。 長期的なビジョンは、EVM機能を超えるさらに高度なZK計算です。
Axiomは、正しいオフチェーン実行の証明を生成することで、ブロックチェーンアプリケーションの新しいカテゴリを解き放ちます。
Risc Zeroは、Rust、C/C++、Goなどの言語で書かれた任意のプログラムをゼロ知識で証明できる汎用ゼロ知識仮想マシン(zkVM)を開発しました。
zkVMを使用すると、開発者はカスタム回路を設計することなく、任意のRustコードをゼロ知識で証明できます。 目標は、ゼロ知識アプリケーション開発をより身近なものにすることです。 zkVMは、プライベートな入力やロジックを明らかにすることなく、プログラムが正しく実行されたことを証明するプルーフレシートを生成します。 これにより、集中的な計算をオフチェーンで行い、プルーフレシートがオンチェーンで正しい実行を検証することができます。 RustクレートはこのzkVMで動作しますが、システムコールにはいくつかの制限があります。 継続と呼ばれる機能を使用すると、大規模な計算をセグメントに分割し、個別に証明できます。 これにより、並列証明が可能になり、計算サイズの制限がなくなり、zkVMプログラムの一時停止/再開が可能になります。 継続により、zkVMの完全準同型暗号化、EVM、WASMなどの新しいユースケースが可能になりました。
Bonsai は、Risc Zero によって開発されたオフチェーンのゼロ知識証明サービスであり、イーサリアムおよびブロックチェーン アプリケーションに汎用 zkVM を使用できるようにします。 これは、zkVMのオンチェーンスマートコントラクトとオフチェーン計算の間の橋渡しを提供します。
によって有効になるワークフロー Bonsai は次のとおりです。
開発者は、オフチェーン計算を要求するために Bonsai のリレー コントラクトを呼び出すスマート コントラクトを記述します
Bonsai は、これらのオンチェーン要求を監視し、Rust で記述された対応する zkVM プログラムを実行します
zkVM プログラムは Bonsai のインフラストラクチャで実行され、集中的またはプライベートな計算をオフチェーンで実行し、正しく実行されたという証拠を生成します。
"レシート" と呼ばれる証明結果は、リレー コントラクトを介して Bonsai によってオンチェーンに戻されます。
開発者のスマートコントラクトは、コールバック関数で結果を受け取ります
これにより、計算負荷の高いロジックや繊細なロジックをオフチェーンで発生させながら、オンチェーンのzkプルーフを介して正しい実行を検証することができます。 スマートコントラクトは、計算の要求と結果の消費を処理するだけで済みます。
Bonsai は、Rust コードを zkVM バイトコードにコンパイルし、プログラムをアップロードし、VM で実行し、証明を返す複雑さを抽象化します。 開発者は、プログラムロジックの作成に集中できます。 したがって、このインフラストラクチャにより、機密データとロジックをプライベートに保ちながら、汎用計算をオフチェーンで実行できます。
Bonsai を使用すると、開発者は、基になる zkVM 暗号化とインフラストラクチャの専門知識を必要とせずに、オフチェーン コンピューティングを使用してブロックチェーン アプリケーションを簡単に構築できます。 簡単に言えば、Bonsai を使用すると、開発者は zk の専門知識がなくてもオフチェーン計算を簡単に統合できます。
ZKコプロセッサは、検証可能なオフチェーン計算を実現する唯一の方法なのでしょうか? トラストレスで安全な方法で計算の負荷を軽減するために、他にどのようなアプリケーションがありますか? セキュリティの特性、効率性、実装に関する意見はさまざまですが、暗号のさまざまな分野で検討されており、ゆっくりと最前線に出てくるでしょう。
MPCやTEEなどの代替手段は、検証可能なオフチェーン計算への他のアプローチを提供します。 MPC は機密データの共同コンピューティングを可能にし、TEE はハードウェア ベースの安全なエンクレーブを提供します。 どちらもトレードオフの関係にありますが、ZKコプロセッサの代替にもなり得ます。
セキュア マルチパーティ計算 (MPC) を使用すると、複数のパーティが入力に対して関数を共同で計算し、それらの入力をプライベートに保つことができます。 これにより、機密データに関するコラボレーションが可能になり、すべての参加者のプライバシーが維持されます。 しかし、MPCでは、すべての当事者がアウトプットを学ぶか、まったく学習しないかのどちらかであり、ほとんどの当事者が不誠実であれば、公平性を達成することは不可能です。 言い換えれば、すべてのノードが破損すると、プライバシーと整合性の保証は消えます。 ブロックチェーン技術は、MPCプロトコルをより公平にするのに役立ちます。
お互いに給料を明かさずに給料の平均を知りたい3人の友人を想像してみてください。 Secure MPC を使用してこれを実現できます。
友達がアリス、ボブ、イブだとします。
アリスは給料を受け取り、それに乱数を加算し、その結果をボブに伝えます。
ボブはアリスから受け取った数字に自分の給料と別の乱数を加算し、その結果をイブに伝えます。
イブは自分の給料をボブの数値に加算し、前に加算したすべての乱数を減算し、その結果を 3 で割って平均を求めます。
最終的な数字は、給与の平均です。他人の給料については何も知りません。 ここで注意すべきニュアンスの1つは、平均がイブの給料よりも低い場合、お互いの正確な給料は誰にもわからないが、イブは他の2人の給料の1人が自分よりも低いと推測できるということです。
ブロックチェーンは、当事者が情報を投稿できるようにする改ざん防止の公開台帳を提供します。 証人暗号化を使用することで、当事者は不公平な MPC プロトコルの出力を暗号化できます。 彼らは、復号化キーの抽出を可能にするトークンを台帳に投稿します。 台帳は公開されているため、すべての関係者が同時に復号化キーにアクセスできます。 これにより、すべての当事者が出力を復号化するか、または誰も復号しない公平な復号化プロトコルが可能になります。
Andrew Miller氏は、「ブロックチェーンの機密性レイヤーとしてのMPC」の中で、MPCがプライベートデータの計算にどのように役立つかについて語っています。 公的に監査可能なMPCは、ゼロ知識証明を使用して、ノードが完全に破損しているにもかかわらず整合性を維持します。 クライアントは、有効性を証明するために入力をコミットします。 MPCノードは、正しい計算の証明を生成します。 最終的に、検証者は入力、出力、および証明が一致することを確認します。 この監査では、標準の MPC コストを超えるオーバーヘッドが最小限に抑えられます。 証明は、ユニバーサルセットアップのSNARKを使用して簡潔に行われます。 ただし、パフォーマンスの最適化、プログラミング モデル、および実際の展開については疑問が残ります。
個人情報や財務データなどの機密データは、保存時や転送時、使用時や計算時に保護する必要があります。 従来の暗号化方式では、保存中および転送中のデータは保護されますが、データがアクティブに使用されている場合は保護されません。 これは、データが処理されるときに暗号化されていない形式であることが多く、攻撃に対して脆弱なままであるため、問題です。
信頼できる実行環境 (またはセキュリティで保護されたエンクレーブ) は、データを暗号化できる分離された環境ですが、計算は引き続き実行できます。 重要な考え方は、データと計算を分離して、特権のあるシステム プロセスでさえアクセスできないようにすることです。 信頼できる実行環境 (TEE) は、機密データとコードを保護するためのハードウェアベースのセキュリティ機能を提供するプロセッサ内の安全な領域です。 特定のソフトウェアをシステムの他の部分から分離し、デバイスで実行されているオペレーティング システムやその他のソフトウェアによっても、TEE 内のデータが改ざんされないようにします。
TEE を使用すると、機密データは使用中でも保護されたままになります。 これにより、プライバシーを保護するソーシャルネットワーク、金融サービス、ヘルスケアなどのアプリケーションが可能になります。 効率性と信頼性の仮定にはいくつかの制限がありますが、エンクレーブは、特にブロックチェーンネットワークと組み合わせて堅牢で検閲不可能なシステムを構築する場合に、多くの潜在的な用途を持つ強力なテクノロジーです。 信頼に関するトレードオフは、強力なデータ プライバシーが必要な多くの商用および非営利アプリケーションで許容できる場合があります。
信頼できる実行環境(TEE)を使用すると、データの機密性と運用の改ざんを防止しながら、信頼できないサードパーティのクラウドプロバイダーに計算をアウトソーシングできます。 これは、プライバシーや制御を犠牲にすることなく、クラウドの利便性とコスト削減を利用したい分散型アプリや組織にとって非常に便利です。 しかし、TEE がすべての問題を魔法のように解決するわけではなく、ほとんどの開発者が簡単に使用できるようになるまでには、まだいくつかの実用的な課題があります。
これらは強力なビルディングブロックですが、上記の制限やベンダーの集中化、スケーリング、フォールトトレランスに関する制限に対処するには、慎重なシステム調査が必要です。
Intel SGX や AWS Nitro Enclaves などの信頼できる実行環境 (TEE) は、機密性の高い計算を実行し、機密データを保存するための分離された環境を提供します。 TEE は、特権のあるシステム プロセスであっても、TEE 内のコードやデータにアクセスしたり、改ざんしたりできないようにします。 これにより、分散型のアプリや組織は、プライバシーや整合性を気にすることなく、信頼できないサードパーティのクラウドホストに計算をアウトソーシングすることができます。
これらの課題を解決することで、強力な整合性、機密性、検閲耐性を必要とする分散型アプリへのTEEの適用性が大幅に拡大し、信頼できないクラウドに計算とストレージをアウトソーシングすることができます。 TEE は強力な原始的なものですが、その限界に対処するためには、思慮深いシステム協調設計が依然として必要です。
コプロセッサを評価する際に重要な考慮事項は、さまざまな種類の計算に必要なセキュリティ モデルと保証レベルです。 注文の照合など、特定の機密性の高い計算では、最大限のセキュリティと最小限の信頼の仮定が必要です。 これらに対して、zk-coprocessorsのようなゼロ知識証明を使用するコプロセッサは、オペレータを信頼しなくても結果を検証できるため、強力な保証を提供します。
ただし、zk-コプロセッサには、効率と柔軟性の欠点がある場合があります。 MPC や信頼できるハードウェアなどの他のアプローチは、分析やリスク モデリングなどの機密性の低い計算のトレードオフとして許容できる場合があります。 保証は弱くなりますが、より幅広い計算をより効率的に行うことができます。 必要なセキュリティのレベルは、アプリケーションのリスク許容度によって異なります。 チームは、問題となっている価値を分析し、検証されていないが効率的なコプロセッサが、特定の重要でない計算に対して合理的なエンジニアリング上の妥協点であるかどうかを評価する必要があります。
全体として、コプロセッサはさまざまなセキュリティ モデルにまたがっており、チームは特定のタスクのセキュリティ要件にソリューションを一致させる必要があります。 エコシステムはまだ初期段階にあるため、スケーラブルで検証可能な計算のさらなる進歩により、可能性が広がります。
ブログ「Feedback Control as a new primitive for Defi」で、著者らは、DeFiメカニズムの制御メカニズムは、計算とストレージが豊富になるにつれて、強化学習(RL)とDRLを使用して、端から端までゆっくりとアップグレードされる可能性があると述べています。 RLはまだ難しいかもしれませんが、検証可能な計算により、機械学習のアプリケーションはまだ可能かもしれません。
昨年の貸付プロトコルは、流動性のない弱気市場で貸し出されるトークンの積極的なパラメータによる不良債権の可能性のために精査されています。 オンチェーンの流動性にアクセスし、資産の流動性プロファイルを作成できるモデルは、パラメータを動的に変更する可能性があります。
例えば、レンディングプロトコルは、リアルタイムのオンチェーンデータに基づいて金利を動的に制御することで恩恵を受けることができます。 フィードバック制御システムは、あらかじめ設定された金利モデルに頼るのではなく、現在の利用率と流動性係数に基づいてアルゴリズムで金利を調整することができます。
例えば、資産を借りる需要が高く、稼働率が上昇する場合、コントローラーは金利を急速に引き上げて供給を奨励し、稼働率を安定させることができます。 逆に、利用率が低い場合は、金利を引き下げて借入のインセンティブを高めることができます。 コントローラーのパラメータは、プロトコル収益の最大化やボラティリティの最小化などの目的に合わせて最適化するように調整できます。
プロトコルは、これを実装するために、借入総額、利用可能な流動性、その他の利用指標などのリアルタイムのオンチェーンデータにアクセスする必要があります。 次に、コントローラー ロジックがこのデータを処理して、最適な金利調整を計算します。 レートの更新は、DAOを介してオンチェーンで管理することも、証明検証を使用してオフチェーンで管理することもできます。
プロトコルは、これを実装するために、借入総額、利用可能な流動性、その他の利用指標などのリアルタイムのオンチェーンデータにアクセスする必要があります。 次に、コントローラー ロジックがこのデータを処理して、最適な金利調整を計算します。 レートの更新は、DAOを介してオンチェーンで管理することも、証明検証を使用してオフチェーンで管理することもできます。 最近の研究、Chitraらによる「Attacks on Dynamic Defi Interest rate curves」は、動的貸出モデルがより多くのMEVをもたらすことを示しています。 したがって、これらのプロトコルの設計には慎重な検討が必要です。
ブロックチェーンデータへのアクセスが豊富なことから、機械学習アプリケーションをこのように使用するという自然な結論に至ります。 機械学習アプリケーションの計算の証明は少し難しいかもしれませんが、検証可能なML計算はそれ自体が巨大な市場です。 これらは、オンチェーンアプリケーション、特に一部のセキュリティアプリケーションにも利用できます。
ブロックチェーンデータには、機械学習モデルが不審なアクティビティを検出したり、リスク管理システムを強化したりするために使用できる貴重なシグナルが含まれています。 しかし、MLをオンチェーンで実行することは、ガス代やプライバシーの懸念から、現在のところ実現不可能です。 これは、スマートコントラクト、ウォレット、または疑わしい引き出しや送金を検出するためのポートフォリオマネージャーのためのオンチェーン監視システムのように見えるかもしれません。 セキュリティの場合、「ラガー」や「ハッキング」などの悪意のある攻撃など、さまざまな種類のシグナルを取得するために利用できる膨大な量のプロファイリングデータがあります。 また、貸し手と借り手のオンチェーン履歴を考慮して、信用力やプロファイリングリスクのDeFiアプリケーションにも使用できます。
課題には、データ品質、コンセプトのドリフト、プルーフシステムのパフォーマンスの限界などがあります。 しかし、MLと検証可能なオフチェーン計算を組み合わせることで、コプロセッサはブロックチェーン分析とリスク管理に多くの新しい機会をもたらします。
永久スワップの証拠金システムは、中央集権型および分散型取引所に関して、常にユーザーから隠されてきました。 永久スワップやオプションなどのデリバティブの証拠金システムは、伝統的に中央集権的な取引所によって管理される不透明なブラックボックスでした。
コプロセッサーは、分散型取引のための透明で検証可能な証拠金ロジックを実装する機会を提供します。 自動レバレッジ解消システムを検証済みの方法で実装するという約束は、ユーザーにより高い信頼性の要素を提供し、中央集権的な対応物とすぐに差別化します。
証拠金システムは、永久スワップのインデックス価格フィードとポジション値を監視し、証拠金残高がマイナスになる前にポジションを清算することができます。 維持証拠金率、資金調達率、清算ペナルティなどのすべてのリスクパラメータは、オンチェーンで管理することができます。
ただし、証拠金残高、未実現損益、清算額などを計算するための集中的な計算は、コプロセッサにオフロードできます。 マージンエンジンのロジックを機密環境で実行し、正しい計算を証明する証明を生成します。
コプロセッサー・アプローチの利点には、透明性、検証可能性、およびプライバシーが含まれます。 マージンエンジンのロジックは、もはやプロプライエタリなブラックボックスではありません。 計算はオフチェーンで行われますが、ユーザーは正しい実行の証明を信頼できます。 オプションについても同じことが言えます。
課題には、集中的な証拠金計算のための証明を効率的に生成することが含まれます。 しかし、全体として、コプロセッサは、プライバシーと検証可能性を組み合わせることで、分散型デリバティブプラットフォームの新たな可能性を解き放ちます。
コプロセッサは、分散化を損なうことなく、ブロックチェーンアプリケーションの可能性を大幅に拡大します。 この分野で最先端のプロジェクトが革新を続ける中、イーサリアムやそれ以降での検証可能なオフチェーン計算の未来は明るいと思われます。
今後の記事では、これらのソリューションのセキュリティ上の考慮事項、ロールアップとの比較、より広範なイーサリアムアプリケーション環境への適合性、スケーリングの問題に対する万能薬であるかどうかについて掘り下げる予定です。