この投稿では、最近人気のあるzkCoprocessorとzkOracleの概念を見て、その違いを比較します。
用語が作られるとき、その真の意味はそれ自体によって定義されていません。ブロックチェーンの場合には、これを非常によく見てきました。
用語zkCoprocessorでも同様の現象が見られます。誰もかがその用語を使用していますが、彼らは必ずしも同じものを指すわけではありません.
したがって、私たちはzkCoprocessorについてのプロジェクト自体の考え、コミュニティがzkCoprocessorについて理解していること、そして私たちの視点から見たzkCoprocessorの実際の意味と機能を表現したかったのです。
公理1の定義:zkCoprocessorはチェーン上で歴史データを証明します。
zkCoprocessorの概念は、元々zkAttestorとしてそれを構想したAxiomによって広められました。Axiomの考えから、zkCoprocessorは「ブロックチェーン上で履歴データを証明し、そのデータをスマートコントラクトで信頼性のある方法で使用する」コンポーネントを表しています。
Brevisチームは、このタイプのzkCoprocessorsが基本的には基礎となるzk回路の上にあるAPI/DSLレイヤーであると述べています。したがって、これはプログラム可能ではありません。
RISC Zeroの定義2:zkCoprocessorは、オンチェーンからオフチェーンへの計算のオフロードを行います。
RISC ZeroはしばしばzkCoprocessorと呼ばれます。彼らの視点からは、zkCoprocessorをより広いコンセプトとして捉えており、「オンチェーンからオフチェーンへの計算のオフロードにZKPを使用するためのツール」としています。
Peteris(1と同じ)からの定義:zkCoprocessorは過去のオンチェーンの状態にアクセスできます。
Peteris from Aera Finance 信じていますzkCoprocessorは非常に状態オラクルのように機能し、主な機能は歴史データへのアクセスです。同時に、彼はBananaHQのRishabhdefinition 2は、zkCoprocessorのサブクラスではなく、zkVMの説明により近いと考えています。
Messari、Modular Media、およびKobiからの定義(2と同じ):zkCoprocessorは、オンチェーンからオフチェーンへの計算をオフロードします。
MessariはzkCoprocessorの独自の定義も提供しています。Messariの研究者であるSamiは、信じていますzkCoprocessorを使用すると、スマートコントラクト開発者は新しい信頼の前提を必要とせずに複雑なロジックを簡単にオフチェーンにオフロードできます。Modular Mediaも同じコンセプトを与える. Kobi from Geometryコプロセッサーとのロールアップを比較します, BrevisはzkCoprocessorを追加したと述べました永続的な状態の保存コストと超高速なパフォーマンスのトレードオフ, タイコはデザインを考案しましたブースターロールアップRollup Coprocessorのアイデアをさらに探求したものです。これらはRISC Zeroと同じ定義です。
要約すると、実際には2種類のzkCoprocessorがあり、それらは次のとおりです:
Hyper Oracleは、Oracleについての説明を提供してくれますイーサリアムのzkOracleの定義.
Oracle practically sums up the “infra” in any blockchain space, as コプロセッサーよりも良い定義.
もしinfra/oracleへの入力がオフチェーンデータであり、出力がオンチェーンであるなら、それは入力オラクルです(例:Chainlink Price Feed)。逆に、それは出力オラクルです(例:The Graph)。出力オラクルが最初で、それから入力オラクルであるなら、それはI/Oオラクルです(例:Gelato Network)。
要するに、オラクルはコプロセッサの概念に非常に似ていますが、同時にデータアクセスと計算の特性を持っています。
ハイパーオラクルを例に取ると、何の関係がありますかzkOracleそしてzkCoprocessorは?
実際には、EthereumのzkOracleに関して議論されているzkOracleは、実際には、両方のzkCoprocessorsの機能を持っています。
例えば、Hyper OracleのようなzkOracle:
zkCoprocessorとzkOracleの2つのタイプを直接比較すると、zkOracleは同時にzkCoprocessorのすべての機能を持っていることがわかります:
直接比較すると、zkOracleはよりエンドツーエンドのソリューションで、開発者により完全なテクノロジースタックを提供できます。
2つのzkCoprocessorsはそれぞれの垂直方向を拡大し、例えば、Data Access zkCoprocessorはクロスチェーンシナリオを解除し、zkVM Compute zkCoprocessorはzkVMベースのzkロールアップを表します。
構築する際にどちらを選択しますか?
ステップバイステップで、アプリケーションの構築についていくつかの決定を下すことができます。
まず、純粋なSolidity実装のスマートコントラクトはまだ非常に良い選択肢です。純粋なスマートコントラクトは最高の新しい機能のいくつかを提供しないですが、それでも十分です特定のシナリオにおいてまた、現在、Arbitrum Stylusの利用可能性が高まり、純粋なスマートコントラクトによる多くの新しいアプリケーションが解禁されました。
多くの場合、開発者は、スマートコントラクトがより豊富なデータソースにアクセスするために、Data Access zkCoprocessorまたはzkOracleを使用したいと考えるかもしれません。
このシナリオでは、Data Access zkCoprocessorだけを使用すると、計算は依然としてスマートコントラクトで処理されます。 zkCoprocessorの役割は、データを従来の方法で取得する複雑さを減らすことであり、スマートコントラクトを計算的に強力にするものではありません。
このシナリオでは、従来の意味で完全なDAppsではなく、多くの小規模なデータ関連プロジェクトが見られます。
しばしば、一部の複雑なアルゴリズムは、ゲームなどの計算ロジックが非常に複雑で、1ステップを実行するのに$2kかかるetherquakeやGameOfLifeなど、または実行できないML関連の複雑なアルゴリズムが直接チェーン上で計算できません。したがって、オフチェーンで計算を実行し、その後ZKPとしてチェーンに提出するためにzkVM zkCoprocessorまたはzkOracleが必要です。
この例では、彼らの無限の計算ポテンシャルの一部が見えます:
最後に、zkOracleでしか構築できないアプリケーションについて説明しました。DeFiアプリケーションを例にとると、完全なDeFiは非常に複雑です。次世代のDeFiアプリケーション、またはDeFi 3.0DApps, 必要とします:
私たちはすでに、zkOracleが両方のzkCoprocessorsの機能を共有しながら、最初の2つの機能要件を満たす方法について議論しました。zkOracleは自律機能をどのように満たし、zkCoprocessorはどのように満たさないのでしょうか?
zkCoprocessorにおける自律性の欠如は、何を意味していますか: その
したがって、zkOracleはDeFiのような完全なアプリケーションにとって完璧で十分な選択肢です。
フックはzkCoprocessorに欠けている機能の一部も処理できますが、DeFiのようなシナリオでのみ処理され、普遍的ではないことは注目に値します。
この投稿では、最近人気のあるzkCoprocessorとzkOracleの概念を見て、その違いを比較します。
用語が作られるとき、その真の意味はそれ自体によって定義されていません。ブロックチェーンの場合には、これを非常によく見てきました。
用語zkCoprocessorでも同様の現象が見られます。誰もかがその用語を使用していますが、彼らは必ずしも同じものを指すわけではありません.
したがって、私たちはzkCoprocessorについてのプロジェクト自体の考え、コミュニティがzkCoprocessorについて理解していること、そして私たちの視点から見たzkCoprocessorの実際の意味と機能を表現したかったのです。
公理1の定義:zkCoprocessorはチェーン上で歴史データを証明します。
zkCoprocessorの概念は、元々zkAttestorとしてそれを構想したAxiomによって広められました。Axiomの考えから、zkCoprocessorは「ブロックチェーン上で履歴データを証明し、そのデータをスマートコントラクトで信頼性のある方法で使用する」コンポーネントを表しています。
Brevisチームは、このタイプのzkCoprocessorsが基本的には基礎となるzk回路の上にあるAPI/DSLレイヤーであると述べています。したがって、これはプログラム可能ではありません。
RISC Zeroの定義2:zkCoprocessorは、オンチェーンからオフチェーンへの計算のオフロードを行います。
RISC ZeroはしばしばzkCoprocessorと呼ばれます。彼らの視点からは、zkCoprocessorをより広いコンセプトとして捉えており、「オンチェーンからオフチェーンへの計算のオフロードにZKPを使用するためのツール」としています。
Peteris(1と同じ)からの定義:zkCoprocessorは過去のオンチェーンの状態にアクセスできます。
Peteris from Aera Finance 信じていますzkCoprocessorは非常に状態オラクルのように機能し、主な機能は歴史データへのアクセスです。同時に、彼はBananaHQのRishabhdefinition 2は、zkCoprocessorのサブクラスではなく、zkVMの説明により近いと考えています。
Messari、Modular Media、およびKobiからの定義(2と同じ):zkCoprocessorは、オンチェーンからオフチェーンへの計算をオフロードします。
MessariはzkCoprocessorの独自の定義も提供しています。Messariの研究者であるSamiは、信じていますzkCoprocessorを使用すると、スマートコントラクト開発者は新しい信頼の前提を必要とせずに複雑なロジックを簡単にオフチェーンにオフロードできます。Modular Mediaも同じコンセプトを与える. Kobi from Geometryコプロセッサーとのロールアップを比較します, BrevisはzkCoprocessorを追加したと述べました永続的な状態の保存コストと超高速なパフォーマンスのトレードオフ, タイコはデザインを考案しましたブースターロールアップRollup Coprocessorのアイデアをさらに探求したものです。これらはRISC Zeroと同じ定義です。
要約すると、実際には2種類のzkCoprocessorがあり、それらは次のとおりです:
Hyper Oracleは、Oracleについての説明を提供してくれますイーサリアムのzkOracleの定義.
Oracle practically sums up the “infra” in any blockchain space, as コプロセッサーよりも良い定義.
もしinfra/oracleへの入力がオフチェーンデータであり、出力がオンチェーンであるなら、それは入力オラクルです(例:Chainlink Price Feed)。逆に、それは出力オラクルです(例:The Graph)。出力オラクルが最初で、それから入力オラクルであるなら、それはI/Oオラクルです(例:Gelato Network)。
要するに、オラクルはコプロセッサの概念に非常に似ていますが、同時にデータアクセスと計算の特性を持っています。
ハイパーオラクルを例に取ると、何の関係がありますかzkOracleそしてzkCoprocessorは?
実際には、EthereumのzkOracleに関して議論されているzkOracleは、実際には、両方のzkCoprocessorsの機能を持っています。
例えば、Hyper OracleのようなzkOracle:
zkCoprocessorとzkOracleの2つのタイプを直接比較すると、zkOracleは同時にzkCoprocessorのすべての機能を持っていることがわかります:
直接比較すると、zkOracleはよりエンドツーエンドのソリューションで、開発者により完全なテクノロジースタックを提供できます。
2つのzkCoprocessorsはそれぞれの垂直方向を拡大し、例えば、Data Access zkCoprocessorはクロスチェーンシナリオを解除し、zkVM Compute zkCoprocessorはzkVMベースのzkロールアップを表します。
構築する際にどちらを選択しますか?
ステップバイステップで、アプリケーションの構築についていくつかの決定を下すことができます。
まず、純粋なSolidity実装のスマートコントラクトはまだ非常に良い選択肢です。純粋なスマートコントラクトは最高の新しい機能のいくつかを提供しないですが、それでも十分です特定のシナリオにおいてまた、現在、Arbitrum Stylusの利用可能性が高まり、純粋なスマートコントラクトによる多くの新しいアプリケーションが解禁されました。
多くの場合、開発者は、スマートコントラクトがより豊富なデータソースにアクセスするために、Data Access zkCoprocessorまたはzkOracleを使用したいと考えるかもしれません。
このシナリオでは、Data Access zkCoprocessorだけを使用すると、計算は依然としてスマートコントラクトで処理されます。 zkCoprocessorの役割は、データを従来の方法で取得する複雑さを減らすことであり、スマートコントラクトを計算的に強力にするものではありません。
このシナリオでは、従来の意味で完全なDAppsではなく、多くの小規模なデータ関連プロジェクトが見られます。
しばしば、一部の複雑なアルゴリズムは、ゲームなどの計算ロジックが非常に複雑で、1ステップを実行するのに$2kかかるetherquakeやGameOfLifeなど、または実行できないML関連の複雑なアルゴリズムが直接チェーン上で計算できません。したがって、オフチェーンで計算を実行し、その後ZKPとしてチェーンに提出するためにzkVM zkCoprocessorまたはzkOracleが必要です。
この例では、彼らの無限の計算ポテンシャルの一部が見えます:
最後に、zkOracleでしか構築できないアプリケーションについて説明しました。DeFiアプリケーションを例にとると、完全なDeFiは非常に複雑です。次世代のDeFiアプリケーション、またはDeFi 3.0DApps, 必要とします:
私たちはすでに、zkOracleが両方のzkCoprocessorsの機能を共有しながら、最初の2つの機能要件を満たす方法について議論しました。zkOracleは自律機能をどのように満たし、zkCoprocessorはどのように満たさないのでしょうか?
zkCoprocessorにおける自律性の欠如は、何を意味していますか: その
したがって、zkOracleはDeFiのような完全なアプリケーションにとって完璧で十分な選択肢です。
フックはzkCoprocessorに欠けている機能の一部も処理できますが、DeFiのようなシナリオでのみ処理され、普遍的ではないことは注目に値します。