zk預言機 和 zk協衕處理器

中級1/7/2024, 1:23:40 PM
本文解釋了 zkCorprocessor 和 zkOracle 的概念,重點介紹了兩者之間的差異,併詳細闡述了每種類型的 zk 適合不衕用例的場景。

0. 簡介

在這篇文章中,我們將了解最近流行的 zkCoprocessor 和 zkOracle 概念,併比較它們的差異。

1. zkCoprocessor的定義

當一個術語被創造出來時,它的真正含義併不是由它本身定義的。我們在區塊鏈的例子中已經看到了很多這樣的情況。

  1. ZK:雖然學術界經常提到零知識的隱私特徵,但在區塊鏈背景下,ZK往往隻代錶技術的簡潔性和有效性。即使是基於 ZK Rollup 構建的項目也稱自己爲 zkSomething。
  2. DA:直到現在,很多人還沒有真正意識到數據可用性不是數據存儲,所以爲了解決這個術語問題,有些人建議 用 DP 替換 DA (DP,Data Publishing),或者説把DA的全部含義變成數據髮布+數據存儲(1,2)。

我們在 zkCoprocessor 一詞中看到了類似的現象。每個人都使用這個詞,但是它們不一定指相衕的事物

所以我們想錶達項目本身對 zkCoprocessor 的看法,社區對 zkCoprocessor 的理解,以及從我們的角度來看 zkCoprocessor 的真正含義和作用。

a) 來自項目本身

Axiom 的定義 1:zkCoprocessor 在鏈上證明歷史數據。

zkCoprocessor 的概念由 Axiom 推廣,最初將其設想爲 zkAttestor。從 Axiom 的想法來看,zkCoprocessor 代錶了“在鏈上證明歷史數據併在智能合約中不可信地使用該數據”的組件。

請註意,Brevis 團隊錶示,這種類型的 zkCoprocessor 本質上是底層 zk 電路之上的 API/DSL 層。所以這是不可編程的。

RISC Zero 的定義 2:zkCoprocessor 將計算從鏈上卸載到鏈下。

RISC Zero 也經常將自己稱爲 zkCoprocessor。從他們的角度來看,他們將 zkCoprocessor 視爲一個更廣泛的概念,“一種使用 ZKP 將計算從鏈上卸載到鏈下的工具”。

b) 來自社區

Peteris的定義(衕1):zkCoprocessor可以訪問歷史鏈上狀態。

Aera Finance 的 Peter相信 zkCoprocessor 的行爲非常像一個狀態預言機,主要功能是訪問歷史數據。與此衕時,他和來自 BananaHQ 的 Rishabh 認爲定義2的描述更像是zkVM而不是zkCoprocessor的子類。

Messari、Modular Media 和 Kobi 的定義(與 2 相衕):zkCoprocessor 將計算從鏈上卸載到鏈下。

Messari也給出了自己對zkCoprocessor的定義。梅薩裡 (Messari) 研究員薩米 (Sami)相信 zkCoprocessor 使智能合約開髮人員能夠輕鬆地將覆雜的邏輯卸載到鏈下,而無需新的信任假設。模塊化媒體還給出了相衕的概念。幾何中的科比將 rollup 與協處理器進行比較,Brevis補充説zkCoprocessor權衡維護永久狀態存儲的成本與超提升的性能,Taiko 提出了這樣的設計助推器彙總 進一步探討了 Rollup 協處理器的思想。這些與 RISC Zero 的定義相衕。

c) 來自我們

綜上所述,我們得出實際中zkCoprocessor有兩種類型,分別如下:

  1. 數據訪問 zkCoprocessor:主要將某些數據(歷史區塊、歷史狀態)饋送到某個地方(智能合約)。
  2. zkVM計算zkCoprocessor:由鏈下zkVM計算,然後將結果反饋給鏈上。將 O(n) 計算壓縮爲 O(1) 驗證

2.zkOracle的定義

a) Oracle

Hyper Oracle 爲我們提供了 Oracle 的解釋爲以太坊定義 zkOracle

Oracle 實際上總結了任何區塊鏈空間中的“基礎設施”,如比協處理器更好的定義

如果基礎設施/預言機的輸入是鏈外數據併且輸出是鏈上數據,則它是輸入預言機(例如 Chainlink Price Feed)。相反,它是一個輸出預言機(例如 The Graph)。如果輸出預言機在前,然後是輸入預言機,則它是 I/O 預言機(例如 Gelato Network)。

總之,oracle與協處理器的概念非常相似,但衕時具有數據訪問和計算的特點。

b) zkOracle

以Hyper Oracle爲例,兩者之間是什麽關繫?zkOracle 和 zkCoprocessor?

爲以太坊定義 zkOracle 中討論的 zkOracle 實際上具有兩個 zkCoprocessor 的功能。

例如,Hyper Oracle 等 zkOracle:

  1. 以去信任的方式訪問歷史數據。
  2. 可以執行可編程計算。

3. zkCoprocessor和zkOracle

當我們直接將兩種類型的zkCoprocessor與zkOracle進行比較時,我們可以看到zkOracle衕時具有zkCoprocessor的所有功能:

  1. 智能合約的異步處理
  2. 與 L1 或 L2 上的現有應用程序互操作併增強其功能
  3. 卸載資源受限繫統中的計算

通過直接比較,zkOracle是一個更加端到端的解決方案,可以爲開髮者提供更加完整的技術棧。

這兩個 zkCoprocessor 在各自的垂直領域進行了擴展,例如,數據訪問 zkCoprocessor 解鎖了跨鏈場景,而 zkVM Compute zkCoprocessor 代錶了基於 zkVM 的 zk rollup。

4. 使用 zkCoprocessor 或 zkOracle 構建

建造時選擇哪一種?

按照一步一步的順序,我們可以做出一些關於構建應用程序的決定。

a) 純智能合約的DApp

首先,智能合約的純 Solidity 實現仍然是一個非常好的選擇。雖然純粹的智能合約不能提供一些最好的新穎功能,但它們仍然足夠了在某些場景下。此外,Arbitrum Stylus 的當前可用性還通過純智能合約解鎖了許多新應用程序。

b) 需要更豐富數據訪問的DApp

在許多情況下,開髮人員可能希望使用數據訪問 zkCoprocessor 或 zkOracle 進行智能合約來訪問更豐富的數據源。

在這種場景下,如果單獨使用數據訪問zkCoprocessor,計算仍然在智能合約中處理。 zkCoprocessor的作用是降低傳統方式穫取數據的覆雜度,而不是讓智能合約的計算能力更強。

在這個場景中,我們看到了很多與數據相關的小型項目,而不是傳統意義上成熟的 DApp:

  1. 使用 zkCoprocessor Axiom:更好的 LP 管理、MEVictim 回扣
  2. 使用 zkOracle Hyper Oracle:Uniswap v2 價格、OpenSea 交易活動、USDT 交易量監控

c) 需要大量計算的DApp

通常,一些覆雜的算法無法直接在鏈上計算,對於游戲來説,計算邏輯非常覆雜,例如etherquake和GameOfLife,運行一步需要花費2k美元。或者與機器學習相關的覆雜算法。或者與機器學習相關的覆雜算法不可能在鏈上運行。因此,我們需要 zkVM zkCoprocessor 或 zkOracle 在鏈下運行計算,然後以 ZKP 的形式提交到鏈上。

在這個例子中,我們可以看到它們的一些無限的計算潛力:

  1. 使用 zkCoprocessor Bonsai:Zeth(在 zkVM 中證明 Reth)、zk-sentiment
  2. 使用 zkOracle Hyper Oracle 或 zkWASM:zkGo(在 zkVM、Type-0 zkEVM 中證明 L2-Geth),茲卡AMM

d) 全功能的下一代DApp(DeFi 3.0)

最後,我們討論了隻能使用 zkOracle 構建的應用程序。以 DeFi 應用爲例,一個完整的 DeFi 是非常覆雜的。下一代 DeFi 應用,即 DeFi 3.0去中心化應用程序, 將需要:

  1. 更豐富的數據訪問
  2. 無限計算
  3. 自治(用於清算、參數更新、協議治理)

我們已經討論了 zkOracle 如何共享兩個 zkCoprocessors 的功能,衕時滿足前兩個功能要求。 zkOracle 如何實現自治功能,而 zkCoprocessor 如何不實現自治功能?

  1. zkOracle:不需要人工幹預。數據訪問和計算任務可以以可編程和自動化的方式完全定義和執行。所有鏈上調用始終是不可信且有效的。
  2. zkCoprocessor:需要通過中繼器對計算響應進行鏈上監控和過濾,或者添加額外的覆雜機製。

那麽 zkCoprocessor 缺乏自主性意味著什麽:

  1. 權力下放不足
  2. 潛在覆雜機製的風險
  3. 開髮者心理負擔

因此,對於像 DeFi 這樣的完整應用程序來説,zkOracle 是一個完美且充分的選擇。

值得註意的是,Hooks 還可以處理 zkCoprocessor 缺失的一些功能,但僅限於 DeFi 等場景,而不是普遍適用。

聲明:

  1. 本文轉載自[mirror],著作權歸屬原作者[SevenX Ventures],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。

zk預言機 和 zk協衕處理器

中級1/7/2024, 1:23:40 PM
本文解釋了 zkCorprocessor 和 zkOracle 的概念,重點介紹了兩者之間的差異,併詳細闡述了每種類型的 zk 適合不衕用例的場景。

0. 簡介

在這篇文章中,我們將了解最近流行的 zkCoprocessor 和 zkOracle 概念,併比較它們的差異。

1. zkCoprocessor的定義

當一個術語被創造出來時,它的真正含義併不是由它本身定義的。我們在區塊鏈的例子中已經看到了很多這樣的情況。

  1. ZK:雖然學術界經常提到零知識的隱私特徵,但在區塊鏈背景下,ZK往往隻代錶技術的簡潔性和有效性。即使是基於 ZK Rollup 構建的項目也稱自己爲 zkSomething。
  2. DA:直到現在,很多人還沒有真正意識到數據可用性不是數據存儲,所以爲了解決這個術語問題,有些人建議 用 DP 替換 DA (DP,Data Publishing),或者説把DA的全部含義變成數據髮布+數據存儲(1,2)。

我們在 zkCoprocessor 一詞中看到了類似的現象。每個人都使用這個詞,但是它們不一定指相衕的事物

所以我們想錶達項目本身對 zkCoprocessor 的看法,社區對 zkCoprocessor 的理解,以及從我們的角度來看 zkCoprocessor 的真正含義和作用。

a) 來自項目本身

Axiom 的定義 1:zkCoprocessor 在鏈上證明歷史數據。

zkCoprocessor 的概念由 Axiom 推廣,最初將其設想爲 zkAttestor。從 Axiom 的想法來看,zkCoprocessor 代錶了“在鏈上證明歷史數據併在智能合約中不可信地使用該數據”的組件。

請註意,Brevis 團隊錶示,這種類型的 zkCoprocessor 本質上是底層 zk 電路之上的 API/DSL 層。所以這是不可編程的。

RISC Zero 的定義 2:zkCoprocessor 將計算從鏈上卸載到鏈下。

RISC Zero 也經常將自己稱爲 zkCoprocessor。從他們的角度來看,他們將 zkCoprocessor 視爲一個更廣泛的概念,“一種使用 ZKP 將計算從鏈上卸載到鏈下的工具”。

b) 來自社區

Peteris的定義(衕1):zkCoprocessor可以訪問歷史鏈上狀態。

Aera Finance 的 Peter相信 zkCoprocessor 的行爲非常像一個狀態預言機,主要功能是訪問歷史數據。與此衕時,他和來自 BananaHQ 的 Rishabh 認爲定義2的描述更像是zkVM而不是zkCoprocessor的子類。

Messari、Modular Media 和 Kobi 的定義(與 2 相衕):zkCoprocessor 將計算從鏈上卸載到鏈下。

Messari也給出了自己對zkCoprocessor的定義。梅薩裡 (Messari) 研究員薩米 (Sami)相信 zkCoprocessor 使智能合約開髮人員能夠輕鬆地將覆雜的邏輯卸載到鏈下,而無需新的信任假設。模塊化媒體還給出了相衕的概念。幾何中的科比將 rollup 與協處理器進行比較,Brevis補充説zkCoprocessor權衡維護永久狀態存儲的成本與超提升的性能,Taiko 提出了這樣的設計助推器彙總 進一步探討了 Rollup 協處理器的思想。這些與 RISC Zero 的定義相衕。

c) 來自我們

綜上所述,我們得出實際中zkCoprocessor有兩種類型,分別如下:

  1. 數據訪問 zkCoprocessor:主要將某些數據(歷史區塊、歷史狀態)饋送到某個地方(智能合約)。
  2. zkVM計算zkCoprocessor:由鏈下zkVM計算,然後將結果反饋給鏈上。將 O(n) 計算壓縮爲 O(1) 驗證

2.zkOracle的定義

a) Oracle

Hyper Oracle 爲我們提供了 Oracle 的解釋爲以太坊定義 zkOracle

Oracle 實際上總結了任何區塊鏈空間中的“基礎設施”,如比協處理器更好的定義

如果基礎設施/預言機的輸入是鏈外數據併且輸出是鏈上數據,則它是輸入預言機(例如 Chainlink Price Feed)。相反,它是一個輸出預言機(例如 The Graph)。如果輸出預言機在前,然後是輸入預言機,則它是 I/O 預言機(例如 Gelato Network)。

總之,oracle與協處理器的概念非常相似,但衕時具有數據訪問和計算的特點。

b) zkOracle

以Hyper Oracle爲例,兩者之間是什麽關繫?zkOracle 和 zkCoprocessor?

爲以太坊定義 zkOracle 中討論的 zkOracle 實際上具有兩個 zkCoprocessor 的功能。

例如,Hyper Oracle 等 zkOracle:

  1. 以去信任的方式訪問歷史數據。
  2. 可以執行可編程計算。

3. zkCoprocessor和zkOracle

當我們直接將兩種類型的zkCoprocessor與zkOracle進行比較時,我們可以看到zkOracle衕時具有zkCoprocessor的所有功能:

  1. 智能合約的異步處理
  2. 與 L1 或 L2 上的現有應用程序互操作併增強其功能
  3. 卸載資源受限繫統中的計算

通過直接比較,zkOracle是一個更加端到端的解決方案,可以爲開髮者提供更加完整的技術棧。

這兩個 zkCoprocessor 在各自的垂直領域進行了擴展,例如,數據訪問 zkCoprocessor 解鎖了跨鏈場景,而 zkVM Compute zkCoprocessor 代錶了基於 zkVM 的 zk rollup。

4. 使用 zkCoprocessor 或 zkOracle 構建

建造時選擇哪一種?

按照一步一步的順序,我們可以做出一些關於構建應用程序的決定。

a) 純智能合約的DApp

首先,智能合約的純 Solidity 實現仍然是一個非常好的選擇。雖然純粹的智能合約不能提供一些最好的新穎功能,但它們仍然足夠了在某些場景下。此外,Arbitrum Stylus 的當前可用性還通過純智能合約解鎖了許多新應用程序。

b) 需要更豐富數據訪問的DApp

在許多情況下,開髮人員可能希望使用數據訪問 zkCoprocessor 或 zkOracle 進行智能合約來訪問更豐富的數據源。

在這種場景下,如果單獨使用數據訪問zkCoprocessor,計算仍然在智能合約中處理。 zkCoprocessor的作用是降低傳統方式穫取數據的覆雜度,而不是讓智能合約的計算能力更強。

在這個場景中,我們看到了很多與數據相關的小型項目,而不是傳統意義上成熟的 DApp:

  1. 使用 zkCoprocessor Axiom:更好的 LP 管理、MEVictim 回扣
  2. 使用 zkOracle Hyper Oracle:Uniswap v2 價格、OpenSea 交易活動、USDT 交易量監控

c) 需要大量計算的DApp

通常,一些覆雜的算法無法直接在鏈上計算,對於游戲來説,計算邏輯非常覆雜,例如etherquake和GameOfLife,運行一步需要花費2k美元。或者與機器學習相關的覆雜算法。或者與機器學習相關的覆雜算法不可能在鏈上運行。因此,我們需要 zkVM zkCoprocessor 或 zkOracle 在鏈下運行計算,然後以 ZKP 的形式提交到鏈上。

在這個例子中,我們可以看到它們的一些無限的計算潛力:

  1. 使用 zkCoprocessor Bonsai:Zeth(在 zkVM 中證明 Reth)、zk-sentiment
  2. 使用 zkOracle Hyper Oracle 或 zkWASM:zkGo(在 zkVM、Type-0 zkEVM 中證明 L2-Geth),茲卡AMM

d) 全功能的下一代DApp(DeFi 3.0)

最後,我們討論了隻能使用 zkOracle 構建的應用程序。以 DeFi 應用爲例,一個完整的 DeFi 是非常覆雜的。下一代 DeFi 應用,即 DeFi 3.0去中心化應用程序, 將需要:

  1. 更豐富的數據訪問
  2. 無限計算
  3. 自治(用於清算、參數更新、協議治理)

我們已經討論了 zkOracle 如何共享兩個 zkCoprocessors 的功能,衕時滿足前兩個功能要求。 zkOracle 如何實現自治功能,而 zkCoprocessor 如何不實現自治功能?

  1. zkOracle:不需要人工幹預。數據訪問和計算任務可以以可編程和自動化的方式完全定義和執行。所有鏈上調用始終是不可信且有效的。
  2. zkCoprocessor:需要通過中繼器對計算響應進行鏈上監控和過濾,或者添加額外的覆雜機製。

那麽 zkCoprocessor 缺乏自主性意味著什麽:

  1. 權力下放不足
  2. 潛在覆雜機製的風險
  3. 開髮者心理負擔

因此,對於像 DeFi 這樣的完整應用程序來説,zkOracle 是一個完美且充分的選擇。

值得註意的是,Hooks 還可以處理 zkCoprocessor 缺失的一些功能,但僅限於 DeFi 等場景,而不是普遍適用。

聲明:

  1. 本文轉載自[mirror],著作權歸屬原作者[SevenX Ventures],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!
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, 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.