zkOracleとzkCoprocessor

中級1/7/2024, 1:23:40 PM
この記事では、zkCorprocessorとzkOracleの概念について説明し、それらの違いに焦点を当て、それぞれのzkが異なるユースケースに適しているシナリオについて詳細に説明しています。

0. イントロダクション

この投稿では、最近人気のあるzkCoprocessorとzkOracleの概念を見て、その違いを比較します。

1. zkCoprocessorの定義

用語が作られるとき、その真の意味はそれ自体によって定義されていません。ブロックチェーンの場合には、これを非常によく見てきました。

  1. ZK:アカデミック界ではしばしばゼロ知識のプライバシー機能を指しますが、ブロックチェーンの文脈では、ZKは技術の簡潔さと有効性を示すことがよくあります。ZK Rollup上に構築されたプロジェクトでさえ、自らをzkSomethingと呼ぶことがあります。
  2. DA: これまで、多くの人々がデータの可用性はデータの保管ではないことに本当に気づいていなかったため、この用語の問題を解決するために、一部の人々が提案された DAをDPに置き換える(データ公開)、またはDAの全体の意味をデータ公開+データストレージにする1, 2).

用語zkCoprocessorでも同様の現象が見られます。誰もかがその用語を使用していますが、彼らは必ずしも同じものを指すわけではありません.

したがって、私たちはzkCoprocessorについてのプロジェクト自体の考え、コミュニティがzkCoprocessorについて理解していること、そして私たちの視点から見たzkCoprocessorの実際の意味と機能を表現したかったのです。

a) プロジェクト自体から

公理1の定義:zkCoprocessorはチェーン上で歴史データを証明します。

zkCoprocessorの概念は、元々zkAttestorとしてそれを構想したAxiomによって広められました。Axiomの考えから、zkCoprocessorは「ブロックチェーン上で履歴データを証明し、そのデータをスマートコントラクトで信頼性のある方法で使用する」コンポーネントを表しています。

Brevisチームは、このタイプのzkCoprocessorsが基本的には基礎となるzk回路の上にあるAPI/DSLレイヤーであると述べています。したがって、これはプログラム可能ではありません。

RISC Zeroの定義2:zkCoprocessorは、オンチェーンからオフチェーンへの計算のオフロードを行います。

RISC ZeroはしばしばzkCoprocessorと呼ばれます。彼らの視点からは、zkCoprocessorをより広いコンセプトとして捉えており、「オンチェーンからオフチェーンへの計算のオフロードにZKPを使用するためのツール」としています。

b) コミュニティから

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と同じ定義です。

c) 私たちから

要約すると、実際には2種類のzkCoprocessorがあり、それらは次のとおりです:

  1. データアクセスzkCoprocessor:主に特定のデータ(履歴ブロック、履歴状態)を特定の場所(スマートコントラクト)に供給します。
  2. zkVMコンピュートzkCoprocessor:オフチェーンのzkVMによって計算され、その結果をオンチェーンにフィードバックします。O(n)の計算をO(1)の検証に圧縮します

2. zkOracleの定義

a) オラクル

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)。

要するに、オラクルはコプロセッサの概念に非常に似ていますが、同時にデータアクセスと計算の特性を持っています。

b) zkOracle

ハイパーオラクルを例に取ると、何の関係がありますかzkOracleそしてzkCoprocessorは?

実際には、EthereumのzkOracleに関して議論されているzkOracleは、実際には、両方のzkCoprocessorsの機能を持っています。

例えば、Hyper OracleのようなzkOracle:

  1. 信頼性のある方法で過去のデータにアクセスする。
  2. プログラマブルな計算を実行できます。

3. zkCoprocessorとzkOracle

zkCoprocessorとzkOracleの2つのタイプを直接比較すると、zkOracleは同時にzkCoprocessorのすべての機能を持っていることがわかります:

  1. スマートコントラクトの非同期処理
  2. 既存のL1またはL2上のアプリケーションとの相互運用および機能の向上
  3. リソース制約システムでの計算オフロード

直接比較すると、zkOracleはよりエンドツーエンドのソリューションで、開発者により完全なテクノロジースタックを提供できます。

2つのzkCoprocessorsはそれぞれの垂直方向を拡大し、例えば、Data Access zkCoprocessorはクロスチェーンシナリオを解除し、zkVM Compute zkCoprocessorはzkVMベースのzkロールアップを表します。

4. zkCoprocessorまたはzkOracleで構築します

構築する際にどちらを選択しますか?

ステップバイステップで、アプリケーションの構築についていくつかの決定を下すことができます。

a) 純粋なスマートコントラクトを持つDApp

まず、純粋なSolidity実装のスマートコントラクトはまだ非常に良い選択肢です。純粋なスマートコントラクトは最高の新しい機能のいくつかを提供しないですが、それでも十分です特定のシナリオにおいてまた、現在、Arbitrum Stylusの利用可能性が高まり、純粋なスマートコントラクトによる多くの新しいアプリケーションが解禁されました。

b) より豊富なデータアクセスが必要なDApp

多くの場合、開発者は、スマートコントラクトがより豊富なデータソースにアクセスするために、Data Access zkCoprocessorまたはzkOracleを使用したいと考えるかもしれません。

このシナリオでは、Data Access zkCoprocessorだけを使用すると、計算は依然としてスマートコントラクトで処理されます。 zkCoprocessorの役割は、データを従来の方法で取得する複雑さを減らすことであり、スマートコントラクトを計算的に強力にするものではありません。

このシナリオでは、従来の意味で完全なDAppsではなく、多くの小規模なデータ関連プロジェクトが見られます。

  1. zkCoprocessor Axiom: Better LP Management, MEVictim Rebate
  2. zkOracle Hyper Oracleを使用する:Uniswap v2価格、OpenSea取引アクティビティ、USDTボリュームモニター

c) 重い計算が必要なDApp

しばしば、一部の複雑なアルゴリズムは、ゲームなどの計算ロジックが非常に複雑で、1ステップを実行するのに$2kかかるetherquakeやGameOfLifeなど、または実行できないML関連の複雑なアルゴリズムが直接チェーン上で計算できません。したがって、オフチェーンで計算を実行し、その後ZKPとしてチェーンに提出するためにzkVM zkCoprocessorまたはzkOracleが必要です。

この例では、彼らの無限の計算ポテンシャルの一部が見えます:

  1. zkCoprocessor Bonsaiを使用する:Zeth(zkVMでのProve Reth)、zk-sentiment
  2. zkOracle Hyper OracleまたはzkWASMを使用する: zkGo(zkVM内のProve L2-Geth、Type-0 zkEVM)、zkAMMの

d) フル機能を備えた次世代DApp(DeFi 3.0)

最後に、zkOracleでしか構築できないアプリケーションについて説明しました。DeFiアプリケーションを例にとると、完全なDeFiは非常に複雑です。次世代のDeFiアプリケーション、またはDeFi 3.0DApps, 必要とします:

  1. より豊富なデータアクセス
  2. 無制限コンピュート
  3. 自律(清算、パラメータ更新、プロトコルガバナンスのため)

私たちはすでに、zkOracleが両方のzkCoprocessorsの機能を共有しながら、最初の2つの機能要件を満たす方法について議論しました。zkOracleは自律機能をどのように満たし、zkCoprocessorはどのように満たさないのでしょうか?

  1. zkOracle: 人間の介入は必要ありません。データアクセスおよび計算タスクは完全に定義およびプログラム可能で自動的に実行できます。すべてのオンチェーンコールは常に信頼できるものです。
  2. zkCoprocessor:リレーザによるオンチェーン監視および計算応答のフィルタリング、または追加の複雑な機構の必要

zkCoprocessorにおける自律性の欠如は、何を意味していますか: その

  1. 不十分な分散
  2. 潜在的に複雑なメカニズムのリスク
  3. 開発者の精神的負担

したがって、zkOracleはDeFiのような完全なアプリケーションにとって完璧で十分な選択肢です。

フックはzkCoprocessorに欠けている機能の一部も処理できますが、DeFiのようなシナリオでのみ処理され、普遍的ではないことは注目に値します。

免責事項:

  1. この記事は[から転載されていますミラー]. すべての著作権は元の著者に帰属します [SevenX Ventures]. この転載に異議がある場合は、お問い合わせください。Gate Learnチームが promptly に対処します。
  2. 責任の免責事項:この記事で表現されている意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、または剽窃は禁止されています。

zkOracleとzkCoprocessor

中級1/7/2024, 1:23:40 PM
この記事では、zkCorprocessorとzkOracleの概念について説明し、それらの違いに焦点を当て、それぞれのzkが異なるユースケースに適しているシナリオについて詳細に説明しています。

0. イントロダクション

この投稿では、最近人気のあるzkCoprocessorとzkOracleの概念を見て、その違いを比較します。

1. zkCoprocessorの定義

用語が作られるとき、その真の意味はそれ自体によって定義されていません。ブロックチェーンの場合には、これを非常によく見てきました。

  1. ZK:アカデミック界ではしばしばゼロ知識のプライバシー機能を指しますが、ブロックチェーンの文脈では、ZKは技術の簡潔さと有効性を示すことがよくあります。ZK Rollup上に構築されたプロジェクトでさえ、自らをzkSomethingと呼ぶことがあります。
  2. DA: これまで、多くの人々がデータの可用性はデータの保管ではないことに本当に気づいていなかったため、この用語の問題を解決するために、一部の人々が提案された DAをDPに置き換える(データ公開)、またはDAの全体の意味をデータ公開+データストレージにする1, 2).

用語zkCoprocessorでも同様の現象が見られます。誰もかがその用語を使用していますが、彼らは必ずしも同じものを指すわけではありません.

したがって、私たちはzkCoprocessorについてのプロジェクト自体の考え、コミュニティがzkCoprocessorについて理解していること、そして私たちの視点から見たzkCoprocessorの実際の意味と機能を表現したかったのです。

a) プロジェクト自体から

公理1の定義:zkCoprocessorはチェーン上で歴史データを証明します。

zkCoprocessorの概念は、元々zkAttestorとしてそれを構想したAxiomによって広められました。Axiomの考えから、zkCoprocessorは「ブロックチェーン上で履歴データを証明し、そのデータをスマートコントラクトで信頼性のある方法で使用する」コンポーネントを表しています。

Brevisチームは、このタイプのzkCoprocessorsが基本的には基礎となるzk回路の上にあるAPI/DSLレイヤーであると述べています。したがって、これはプログラム可能ではありません。

RISC Zeroの定義2:zkCoprocessorは、オンチェーンからオフチェーンへの計算のオフロードを行います。

RISC ZeroはしばしばzkCoprocessorと呼ばれます。彼らの視点からは、zkCoprocessorをより広いコンセプトとして捉えており、「オンチェーンからオフチェーンへの計算のオフロードにZKPを使用するためのツール」としています。

b) コミュニティから

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と同じ定義です。

c) 私たちから

要約すると、実際には2種類のzkCoprocessorがあり、それらは次のとおりです:

  1. データアクセスzkCoprocessor:主に特定のデータ(履歴ブロック、履歴状態)を特定の場所(スマートコントラクト)に供給します。
  2. zkVMコンピュートzkCoprocessor:オフチェーンのzkVMによって計算され、その結果をオンチェーンにフィードバックします。O(n)の計算をO(1)の検証に圧縮します

2. zkOracleの定義

a) オラクル

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)。

要するに、オラクルはコプロセッサの概念に非常に似ていますが、同時にデータアクセスと計算の特性を持っています。

b) zkOracle

ハイパーオラクルを例に取ると、何の関係がありますかzkOracleそしてzkCoprocessorは?

実際には、EthereumのzkOracleに関して議論されているzkOracleは、実際には、両方のzkCoprocessorsの機能を持っています。

例えば、Hyper OracleのようなzkOracle:

  1. 信頼性のある方法で過去のデータにアクセスする。
  2. プログラマブルな計算を実行できます。

3. zkCoprocessorとzkOracle

zkCoprocessorとzkOracleの2つのタイプを直接比較すると、zkOracleは同時にzkCoprocessorのすべての機能を持っていることがわかります:

  1. スマートコントラクトの非同期処理
  2. 既存のL1またはL2上のアプリケーションとの相互運用および機能の向上
  3. リソース制約システムでの計算オフロード

直接比較すると、zkOracleはよりエンドツーエンドのソリューションで、開発者により完全なテクノロジースタックを提供できます。

2つのzkCoprocessorsはそれぞれの垂直方向を拡大し、例えば、Data Access zkCoprocessorはクロスチェーンシナリオを解除し、zkVM Compute zkCoprocessorはzkVMベースのzkロールアップを表します。

4. zkCoprocessorまたはzkOracleで構築します

構築する際にどちらを選択しますか?

ステップバイステップで、アプリケーションの構築についていくつかの決定を下すことができます。

a) 純粋なスマートコントラクトを持つDApp

まず、純粋なSolidity実装のスマートコントラクトはまだ非常に良い選択肢です。純粋なスマートコントラクトは最高の新しい機能のいくつかを提供しないですが、それでも十分です特定のシナリオにおいてまた、現在、Arbitrum Stylusの利用可能性が高まり、純粋なスマートコントラクトによる多くの新しいアプリケーションが解禁されました。

b) より豊富なデータアクセスが必要なDApp

多くの場合、開発者は、スマートコントラクトがより豊富なデータソースにアクセスするために、Data Access zkCoprocessorまたはzkOracleを使用したいと考えるかもしれません。

このシナリオでは、Data Access zkCoprocessorだけを使用すると、計算は依然としてスマートコントラクトで処理されます。 zkCoprocessorの役割は、データを従来の方法で取得する複雑さを減らすことであり、スマートコントラクトを計算的に強力にするものではありません。

このシナリオでは、従来の意味で完全なDAppsではなく、多くの小規模なデータ関連プロジェクトが見られます。

  1. zkCoprocessor Axiom: Better LP Management, MEVictim Rebate
  2. zkOracle Hyper Oracleを使用する:Uniswap v2価格、OpenSea取引アクティビティ、USDTボリュームモニター

c) 重い計算が必要なDApp

しばしば、一部の複雑なアルゴリズムは、ゲームなどの計算ロジックが非常に複雑で、1ステップを実行するのに$2kかかるetherquakeやGameOfLifeなど、または実行できないML関連の複雑なアルゴリズムが直接チェーン上で計算できません。したがって、オフチェーンで計算を実行し、その後ZKPとしてチェーンに提出するためにzkVM zkCoprocessorまたはzkOracleが必要です。

この例では、彼らの無限の計算ポテンシャルの一部が見えます:

  1. zkCoprocessor Bonsaiを使用する:Zeth(zkVMでのProve Reth)、zk-sentiment
  2. zkOracle Hyper OracleまたはzkWASMを使用する: zkGo(zkVM内のProve L2-Geth、Type-0 zkEVM)、zkAMMの

d) フル機能を備えた次世代DApp(DeFi 3.0)

最後に、zkOracleでしか構築できないアプリケーションについて説明しました。DeFiアプリケーションを例にとると、完全なDeFiは非常に複雑です。次世代のDeFiアプリケーション、またはDeFi 3.0DApps, 必要とします:

  1. より豊富なデータアクセス
  2. 無制限コンピュート
  3. 自律(清算、パラメータ更新、プロトコルガバナンスのため)

私たちはすでに、zkOracleが両方のzkCoprocessorsの機能を共有しながら、最初の2つの機能要件を満たす方法について議論しました。zkOracleは自律機能をどのように満たし、zkCoprocessorはどのように満たさないのでしょうか?

  1. zkOracle: 人間の介入は必要ありません。データアクセスおよび計算タスクは完全に定義およびプログラム可能で自動的に実行できます。すべてのオンチェーンコールは常に信頼できるものです。
  2. zkCoprocessor:リレーザによるオンチェーン監視および計算応答のフィルタリング、または追加の複雑な機構の必要

zkCoprocessorにおける自律性の欠如は、何を意味していますか: その

  1. 不十分な分散
  2. 潜在的に複雑なメカニズムのリスク
  3. 開発者の精神的負担

したがって、zkOracleはDeFiのような完全なアプリケーションにとって完璧で十分な選択肢です。

フックはzkCoprocessorに欠けている機能の一部も処理できますが、DeFiのようなシナリオでのみ処理され、普遍的ではないことは注目に値します。

免責事項:

  1. この記事は[から転載されていますミラー]. すべての著作権は元の著者に帰属します [SevenX Ventures]. この転載に異議がある場合は、お問い合わせください。Gate Learnチームが promptly に対処します。
  2. 責任の免責事項:この記事で表現されている意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、または剽窃は禁止されています。
Start Now
Sign up and get a
$100
Voucher!
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.