复制成功

分享至

主页 > 数字货币 >

SevenX Ventures:一文了解zkOracle和zkCoprocessor概念及它们差异

2023.12.03

作者:Hill,SevenX Ventures Research;翻译:0xjs@金色财经

0、引言

在这篇文章中,我们将了解最近流行的 zkCoprocessor 和 zkOracle 概念,并比较它们的差异。

1、zkCoprocessor的定义

当一个术语被创造出来时,它的真正含义并不是由它本身定义的。我们在区块链的例子中已经看到了很多这样的情况。

  • ZK:虽然学术界经常提到零知识的隐私特征,但在区块链背景下,ZK往往只代表技术的简洁性和有效性。即使是基于 ZK Rollup 构建的项目也称自己为 zkSomething。

  • DA:直到现在,很多人还没有真正意识到Data Availability并不是Data Storage,所以为了解决这个术语问题,有人建议用 DP(Data Publishing)代替DA,或者把DA的全部含义变成数据发布+数据存储。

  • 我们在 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 将计算从链上卸载到链下的工具”。X3vGxi9CDvZEk9C0SEPgvDHpITilOcZb33RiWk0T.png

    b) 来自社区

    Peteris的定义(同1):zkCoprocessor可以访问历史链上状态。

    Aera Finance 的 Peteris认为,zkCoprocessor 的作用非常像一个状态预言机,主要功能是访问历史数据。同时,他和来自 BananaHQ 的 Rishabh认为定义 2 的描述更像是 zkVM,而不是 zkCoprocessor 的子类。

    Messari、Modular Media 和 Kobi 的定义(与 2 相同):zkCoprocessor 将计算从链上卸载到链下。

    Messari也给出了自己对zkCoprocessor的定义。Messari 研究员 Sami认为,zkCoprocessor 使智能合约开发人员能够轻松地将复杂的逻辑卸载到链下,而无需新的信任假设。Modular Media也给出了同样的概念。Geometry 的 Kobi将 rollup 与协处理器进行了比较,Brevis 补充说 zkCoprocessor权衡了维护永久状态存储的成本与高度提升性能,Taiko 提出了Booster Rollup的设计,进一步探索了 Rollup 协处理器的想法。这些与 RISC Zero 的定义相同。FJ0e2a7byA8rWWnHFSIB7bPWwOVdcP6ZKf6litFr.png

    c) 来自我们

    综上所述,我们得出实际中zkCoprocessor有两种类型,分别如下:

  • 数据访问 zkCoprocessor:主要将某些数据(历史区块、历史状态)馈送到某个地方(智能合约)。

  • zkVM计算zkCoprocessor:由链下zkVM计算,然后将结果反馈给链上。将 O(n) 计算压缩为 O(1) 验证。

  • vdgIjXoRIv2Wkp4XWuU35hIx3TJXOWuzryNv7epL.png

    2.zkOracle的定义

    a) 预言机

    Hyper Oracle 在Defining zkOracle for Ethereum中为我们提供了 Oracle 的解释。

    Oracle 实际上总结了任何区块链空间中的“基础设施”,作为比协处理器Copocessor更好的定义。

    如果基础设施/预言机的输入是链下数据并且输出是链上数据,则它是输入预言机(例如 Chainlink Price Feed)。反之,它是一个输出预言(例如The Graph)。如果输出预言机在前,然后是输入预言机,则它是 I/O 预言机(例如 Gelato Network)。

    3o6zeGgESVrFw5o23JVn1K62PmmXMeoz0RWKH9L4.png

    总之,预言机与协处理器的概念非常相似,但协处理器同时具有数据访问和计算的特点。

    b) zkOracle

    以Hyper Oracle为例,zkOracle和zkCoprocessor之间是什么关系?

    Defining zkOracle for Ethereum中讨论的 zkOracle 实际上具有两个 zkCoprocessor 的功能。

    JaXidZqJAxOx1qh5Tgqw5t1p2gLMBqNsvqy3ycZN.png

    例如,Hyper Oracle 等 zkOracle:

  • 以无需信任的方式访问历史数据。

  • 可以执行可编程计算。

  • 3、zkCoprocessor和zkOracle

    当我们直接将两种类型的zkCoprocessor与zkOracle进行比较时,我们可以看到zkOracle同时具有zkCoprocessor的所有功能:

  • 智能合约的异步处理

  • 与 L1 或 L2 上的现有应用程序互操作并增强其功能

  • 卸载资源受限系统中的计算

  • 通过直接比较,zkOracle是一个更加端到端的解决方案,可以为开发者提供更加完整的技术栈。

    免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

    加⼊OKEx全球社群

    和全球数字资产投资者交流讨论

    扫码加入OKEx社群

    相关推荐

    industry-frontier