简述 Hyper Oracle
2023-07-12 09:17
ORA
2023-07-12 09:17
订阅此专栏
收藏此文章

0. 序言

我们在我们的白皮书中详细介绍了 Hyper Oracle. 然而, 由于各种关于技术、基础设施和架构的术语和内容的存在, 就算是以太坊智能合约用户或开发人员可能仍然难以理解.

因此, 本文旨在通过将其与以太坊网络进行类比, 帮助智能合约开发人员和用户快速理解 Hyper Oracle 的技术、网络和功能.

我们将使用最简略的术语描述核心概念. 对于更具体的信息, 请参考文章中提供的链接.

1. Hyper Oracle 网络架构

a) Hyper Oracle 网络

可编程的 zkOracle 网络

从宏观的角度来看, 我们可以将 Hyper Oracle 网络视为类似于以太坊网络, 因为我们都是去中心化网络、自治社区和开放生态系统.

Hyper Oracle 不是 SaaS 公司, 也不提供闭源软件. 任何人都可以在这些网络上运行节点、进行计算并参与其中.

Hyper Oracle 提供了一个链下计算网络 (zkOracle 网络 ), 用于处理区块链智能合约的任意计算. 与此同时, 以太坊提供了一个区块链智能合约网络.

b) zkOracle

Hyper Oracle 网络中的 zkOracle 节点

在 Hyper Oracle 网络中, 存在多个 zkOracle 节点. 为了更好地理解在以太坊背景下的 zkOracle, 可以参考本文章中提供的规范和定义.

简单来说, zkOracle 可以被描述为一个节点, 类似于以太坊节点, 它执行计算并生成零知识证明.

2. Hyper Oracle 技术

a) zkPoS: 数据来源

zkOracle 的数据源

对于 zkOracle 节点而言, 首要问题是如何获取所有数据的数据源. Hyper Oracle 从以太坊区块链获取数据源.

Hyper Oracle zkPoS 通过证明整个以太坊共识, 为以太坊区块链作为数据源提供了无需信任的访问. 类似地, 您可以将 zkPoS 视为 Hyper Oracle 网络的核心根数据.

您可以在此处查看有关 zkPoS 的更多信息.

b) zkGraph: 可编程性

在 zkOracle 中运行的 Hyper Oracle 网络中的 “智能合约”

通过 zkPoS 获取以太坊源数据后, zkGraph 充当类似于 “智能合约” 的程序, 用于定义源数据的自定义计算, 但具有更高程度的灵活性和无限计算能力. 我们可以将 Hyper Oracle 网络的 zkGraph 类似以太坊的智能合约.

如果 zkOracle 是一个 CD 播放器, 那么 zkGraph 就是其中的不同 CD 之一. 此外, zkOracle 可以决定要运行多少个 zkGraph, 可以按数量或按特定类型来确定.

在以太坊上, 智能合约的运行环境是 EVM ( 用于计算 ); 在 ZK Rollup 上, 它是 zkEVM ( 用于计算和生成零知识证明 ); 在 Hyper Oracle 上, zkGraph 的运行环境是 zkWASM ( 用于计算和生成零知识证明 ).

zkGraph 将使用类似于 JavaScript 的 AssemblyScript 编写. zkGraph 的概念受到了 The Graph 的 Subgraph 的启发, 可以轻松地将其移植到 zkGraph, 因为它们是等价的.

3. Hyper Oracle 应用

概念: zkGraph 标准 (Meta Apps)

zkGraph 可以被理解为以太坊上的智能合约. 这些程序可以是任何类型的计算. 因此, 我们需要一个标准来定义它们的接口和计算行为.

在以太坊的智能合约中, 它们可以遵循 ERC 标准, 以实现更好的采用标准化格式. 类似的标准也存在于 zkGraph 中, 称为 Meta Apps 或 zkGraph 标准.

就像 ERC 标准一样, 开发人员可以选择不采用 ERC-20 和 ERC-721 标准来实现自己的智能合约, 但这可能会导致难以接入其他应用程序以创建网络效应, 对于 zkGraph 也是如此, 遵循 zkGraph 标准实现 zkGraph 可以最大限度地发挥其潜力.

目前, 我们有以下不同的 zkGraph 标准: zkAutomation、zkIndexing 和 zkML (zkMLinference)

zkGraph 可以解锁许多 Solidity 智能合约无法实现的功能.

zkGraph 的优势:

  • 没有受到 gas 限制的计算
  • 可以在 zkGraph 中可验证地获取事件数据或块数据
  • 通过在不同网络上验证 zkGraph 的 zk 证明, 具备潜在的跨链能力
  • 在 WebAssembly 中进行更复杂的数学计算 ( 浮点运算、数组和大数处理 )
  • 可以执行自动化操作 (zkAutomation)
  • 可以在 zkGraph 中运行复杂模型 (zkMLinference)
  • 可以直接且无需信任地检索历史数据 (zkIndexing)

a) zkGraph 标准: zkAutomation

由于以太坊智能合约本身不具备自动化功能, zkAutomation 是一种可进行自动化计算的 zkGraph, 通过进行自动调用, 扩展了链上智能合约的计算能力.

zkAutomation 的工作流程如下:

  1. 读取 ( 使用 zkPoS 从链上获取数据 )
  2. 计算 ( 使用 zkGraph 进行计算并检查是否触发自动化 )
  3. 验证 ( 与链上的验证器合约进行验证 )
  4. 写入 ( 将值写入 zkGraph 中定义的链上智能合约 )

zkAutomation 的用户可以构建各种创新的完全链上的 DeFi 应用程序或执行者 (keeper).

zkAutomation 的应用场景:

  • 完全链上的基金
  • 完全链上的稳定币
  • DeFi 协议的 Keeper ( 清算或参数更新 )
  • GameFi 的自动化策略
  • DAO 的自动化财务管理
  • ……

b) zkGraph 标准: zkML (zkMLinference)

由于以太坊智能合约本身无法进行链上的机器学习推理计算, 我们需要 zkML 来在链下执行高度复杂的机器学习计算, 从而使智能合约具备机器学习能力.

zkML 的工作流程如下:

  1. 读取 ( 使用 zkPoS 从链上获取数据 )
  2. 计算 ( 使用 zkGraph 进行推理计算 )
  3. 验证 ( 与链上的验证器合约进行验证 )
  4. 写入 ( 将推理输出写入由 zkGraph 定义的智能合约 )

zkML 的用户可以构建完全基于链上的全新去中心化应用程序, 由机器学习驱动.

zkML 的应用场景:

  • 完全链上的 AIGC (EIP-7007: zkML AIGC-NFTs, 由 Hyper Oracle 联合撰写 )
  • 完全链上的机器学习量化基金
  • 可验证的机器学习模型推理
  • ……

c) zkGraph 标准: zkIndexing

由于以太坊智能合约本身无法高效且廉价地存储所有数据在链上, 需要一种类似 zkIndexing 的链下索引方案来索引智能合约的数据.

zkIndexing 的工作流程如下:

  1. 读取 ( 使用 zkPoS 从链上获取数据 )
  2. 计算 ( 使用 zkGraph 进行计算和索引 )
  3. 验证 ( 在使用者端进行验证 )

zkIndexing 的用户可以构建完全无需信任和去中心化的应用程序.

zkIndexing 的应用场景:

  • DeFi 的去中心化前端
  • 可验证的数据仪表盘
  • 无需信任的历史数据访问
  • ……

d) 其他标准

Bounty 合约

要将 zkGraph 提交到链上, 开发人员和用户需要在以太坊网络上部署和 “充值” 赏金 (Bounty) 到智能合约中.

赏金的目的是在以太坊上广播并创建用于支付 zkGraph 计算任务的资金池. Hyper Oracle 网络中的节点运行不同的 zkGraph, 并生成能够收集这些赏金和代币奖励的证明.

类似的设计可能包括: Keep3r Network 的 Bounty、The Graph 的 Curating 以及 nil 的 Proof Market.

4. Hyper Oracle 生态

就像以太坊和其他区块链网络一样, 作为可编程网络, Hyper Oracle 在不断发展的网络应用生态系统中蓬勃发展.

这样的生态系统由三个关键参与者驱动: 应用程序、开发者和节点运营者.

a) 应用生态

任何应用程序都可以通过使用 Hyper Oracle 的 zkGraph 或 zkGraph 标准以无需许可的方式加入 Hyper Oracle 网络.

去中心化应用程序可以将 Hyper Oracle 作为关键组件使用.

  • 使用 zkAutomation 构建端到端的去中心化 DeFi 应用
  • 使用 zkMLinference 构建下一代由机器学习驱动的链上应用程序
  • 使用 zkIndexing 构建无需信任的应用程序前端

我们目前正在与多个 DeFi 和 zkML 应用程序的构建者合作, 并且 Hyper Oracle 将在未来继续支持生态系统中的项目.

b) 开发者生态

无论是在以太坊还是 Hyper Oracle 中, 开发者可以在不创建新应用程序的情况下为生态系统做出贡献. 还有其他开放贡献的方式, 例如:

  • 编写开源代码
  • 构建新的开发工具和库
  • 提出新的应用程序标准 ( 例如 EIP)
  • 提出和管理网络本身

更具体地说, 开发者可以通过以下方式为 Hyper Oracle 做出贡献:

  • 编写开源的 zkGraphs 或迁移 Subgraphs
  • 构建与 zkGraph 相关的开发生态系统
  • 提出新的 zkGraph 标准或其他标准
  • 对 Hyper Oracle 节点或其他 Hyper Oracle 网络架构做出开源贡献
  • 创建教程和视频, 丰富开发者的体验

Hyper Oracle 相信, 一个开放网络的成功是依靠社区成员的贡献而繁荣的.

c) 节点运营者生态

Hyper Oracle 作为一个公共网络, 与以太坊一样, 重视由不同实体运行的节点数量.

Hyper Oracle 预见到在节点运营和网络层面上会面临与以太坊类似的挑战.

  • 激励机制设计
  • 客户端多样性
  • 节点运营者

在这些问题在实施之前, Hyper Oracle 基金会和去中心化节点集体将对其进行讨论和改进.

Twitter 上关注我们并加入我们的 Discord, 以了解 Hyper Oracle 的最新情况. 在我们的网站上了解更多关于 Hyper Oracle 的信息.

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

ORA
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开