许多 Web3 应用在实现的过程中,常常会遇到基础设施方面的限制,包括去中心化自动化、预言机、链上信息搜索等问题。绝大部分区块链的中间件网络都是依赖于节点质押来保证节点执行的诚实性,这样的模式会产生诸多衍生问题,例如安全性依赖于冗余计算、单位操作有价值上限等。因此,在处理安全可靠的链下数据的索引和自动化方面,需要一种新型的去中心化预言机网络。
应运而生的 Hyper Oracle 就是一个可编程的 zkOracle 网络,它提供了一个链下计算网络,用于处理区块链智能合约的任意计算,用以保证区块链安全和去中心化,同时使开发者能够以新的方式与区块链数据进行交互。
Hyper Oracle 项目在 2022 年 8 月正式启动,在 9 月发布了第一版 Demo。之后,Hyper Oracle 与 PolyHedra 等多个合作伙伴达成了合作;今年 1 月,宣布了由红杉中国与 dao5 领投的 Pre-Seed 轮融资;最近成功完成了以太坊官方的 KZG Ceremony Grant,同时也收到了 Compound 的 Grant。
在一年的时间内完成了许多重要的迭代与突破,让我们走近 Hyper Oracle,一同了解它是如何作为基于零知识证明的预言机/中间件网络,来保证去中心化节点的数据和计算正确性。
本篇文章是「2023 TinTinLand 项目支持计划」系列项目专访的第二篇,我们邀请到了 Hyper Oracle 与大家分享其在开发与探索「零知识证明+预言机」的经验与心得。
如果您对「2023 TinTinLand 项目支持计划」感兴趣,可点击推文《「2023 TinTinLand 项目支持计划」 开启,打造下一个 Web3 新星》了解更多信息,我们欢迎所有的优质 Web3 项目团队申请加入。
🔗报名链接:https://forms.gle/p3seKq748Th3czZn6
Hyper Oracle:可编程、去中心化的预言机
Hyper Oracle 的愿景是构建一个「World Supercomputer」。其核心概念就是将所有的网络组合到一起, 实现一个世界级别的超级计算机,这样的概念比以太坊起初的世界计算机的理想或许更加宏大。在 World Supercomputer 中, Hyper Oracle 会作为计算网络, 提供高性能且去中心化的计算能力,来让整个网络具备自动化计算,甚至链上机器学习计算的能力。
要实现这样的愿景,Hyper Oracle 选择了无需信任的和安全的预言机。
预言机在 Web3 世界中是相当重要的组成部分,不仅包括喂价预言机 (输入预言机),同时也有索引预言机和自动化预言机 (输出预言机与 I/O 预言机)。对于一个去中心化应用来说,预言机是不可或缺的基础设施——如果这个预言机不是去中心化的,那么整个应用都会存在安全性隐患。
相比其他的预言机和中间件,Hyper Oracle 的独特优势在于: 可编程性与去中心化。
可编程性
在 Hyper Oracle 中,开发者可以通过 JavaScript 等高级语言和 Subgraph 的编程模式对预言机的数据进行处理。相比 Chainlink 等预言机,灵活度高非常多,还可以自定义接口。
Hyper Oracle 网络中的 「智能合约」——zkGraph,作为可自定义的链下计算,同样是可定制和可编程的。
zkGraph 是类似 Subgraph 语法以及使用了 JavaScript (AssemblyScript) 的程序,熟悉去中心化应用开发的开发者可以快速地上手 zkGraph 的开发。实际上,可以编译为 wasm 的任何程序都可以成为 zkGraph,这就意味着 zkGraph 实际上可以用任何语言来编写,能让开发者获得最大的灵活度和自由度。
为了让任意的 zkGraph 语法可以执行并且生成零知识证明,Hyper Oracle 使用了 zkWASM (可以理解成类似 zkEVM)。除此之外,还编写了很多底层库来帮助开发者进行 zkGraph 的开发,在指令集层面进行了一些优化以及适配。开发者在使用 zkOracle 和开发 zkGraph 的时候只需要编写几行非常简短的程序,即可让零知识证明来保证整个计算以及基础设施的安全性。
去中心化
Hyper Oracle 所有的计算都由零知识证明来保证安全性。零知识证明的存在通过密码学的假设,取代了传统预言机的以经济学所保证的类似 Optimistic 机制的安全性。
目前,zkOracle 网络使用 zkPoS 从区块链的每个区块中检索数据作为数据源,并使用运行在 zkWASM 上的可编程 zkGraph 来处理数据,以 ZK 技术为基础,所有操作都可以实现无需信任和安全性。
在数据来源方面,zkPoS 的意义就在于能够完全可信地获取以太坊等区块链网络上的数据,让这些链上数据作为 zkOracle 的数据源。
选取链上数据作为 zkOracle 的数据源的原因在于,链上数据是经过共识之后产生的,已经成为了受过安全性认证的可信数据。同时,这些数据正是 Oracle 中所需要的原始数据,开发者可以通过自定义的方式来进行二次处理。zkPoS 是市面上为数不多的完全去中心化获取区块链数据的方案,以零知识证明为安全假设,可以保证数据的完全可验证性。
更简单的开发环境
开发者来说,通常要构建一个零知识证明驱动的应用时,开发者需要学习非常多的密码学以及 ZK 相关的知识,包括特定的 ZK 语言和框架 (Circom, Halo2, Cairo)。这些知识的学习和认知模型的转变都有一定难度,让普通开发者难以入门。
主流的方式是使用 zkEVM 来进行构建,让一个 Solidity 合约得到 ZK 的「超能力」。但是这个方案仍然受到了智能合约这个设计模型的限制,无法完成索引、自动化、机器学习等高要求的计算。
Hyper Oracle 推出的 zkGraph,则让 ZK 应用的开发进一步地降低了门槛。zkGraph Studio 是编写 zkGraph 的 Web Code Editor 以及 Studio,任何有过智能合约或者去中心化应用开发经验的开发者,都可以无门槛地直接进行 zkGraph 的开发,实现任意的计算,为开发者带来了全新的体验。
纯网页端的开发环境
zkGraph Studio 可以让开发者完全在网页中进行 zkGraph 的全套流程的开发、测试和部署。从体验上来说,zkGraph Studio 像是一个单独的 Web3 App,非常易于使用。为了构建这个 Studio,Hyper Oracle 实现了网页端的多文件编译流程,以及 AssemblyScript 的编辑器的开发。
Link-compiler:混合两种编程语言
在 zkGraph 的编译流程中,不单单是类似 JavaScript 的 AssemblyScript 语言,还需要 C 语言的编译。Hyper Oracle 的工程师构建了首个 AssemblyScript-C 语言的 link compiler,能让两种语言被同时混合编译,这个突破能让 zkGraph 的性能得到巨大的提升。
整体来说,zkGraph Studio 实现了很多的底层工作以及优化,用户只需要编写基本的代码,无需担心编译、环境以及部署等「脏活累活」。
zkGraph Standard:DApp 开发的基础设施
Hyper Oracle 的产品 zkGraph Standard 提供一系列基础设施服务,供任何 DApp 开发人员使用。zkGraph Standard 由 zkIndexing 和 zkAutomation 组成,可以理解为 ERC 一样的标准。
zkIndexing 类似于 The Graph 这样的索引网络,而 zkAutomation 类似于 Gelato 这样的自动化网络。目前 Hyper Oracle 开放了测试网,开发者可以在 Web Code Editor 或者 zkGraph Template 中自行编写 zkGraph,从而使用 zkIndexing 和 zkAutomation 的服务。
使用方面,任何 DApp 都可以使用 zkIndexing 来进行数据的收集以及前端展示,以及使用 zkAutomation 来建立 Keeper、Bot 等的自动化服务。
应用场景方面,Hyper Oracle 目前正在构建一些小的用例 Demo,包括 Rollup TPS 的计算以及 DeFi 应用 TVL 的计算等。在 Compound 的 Grant 合作下,Hyper Oracle 近期也为 Compound 构建了一个完全去中心化的 Liquidation Keeper Bot。
孵化新一代去中心化应用
Hyper Oracle 的生态建设计划主要包括两个方面:与现有协议直接合作 + 孵化新一代的去中心化应用,未来还将会开放节点的自行部署与运行,让整个网络更加去中心化。
与现有协议合作
与行业内的领军人物进行交流与探索,与行业内的核心项目进行合作,以及与开发者的直接合作,可以让 Hyper Oracle 的基础设施获得直接的采用以及关注。Hyper Oracle 和许多 ZK 相关的核心研发人员进行了技术上的交流以及方案的研讨。
Hyper Oracle 团队认为,与大项目进行 Grant 形式的合作也是非常重要的,可以在早期相互绑定,因此团队也积极申请这些机会,拿到了以太坊基金会以及 Compound 的 Grant。
孵化新项目
孵化新项目则可以进一步拓展 Hyper Oracle 的应用场景,并吸引新的开发者进入其生态。目前已有 15 个以上的团队正在与 Hyper Oracle 进行密切合作,通过使用 Hyper Oracle 作为基础设施,进行项目开发。与项目的首批用户进行直接交流是一种有益的形式,因为他们的反馈对项目本身的发展也有非常大的帮助。
打造去中心化网络
Hyper Oracle 将会在今年开始推出测试网的不同阶段。在后期的计划中,项目会开放节点的自行部署与运行,让整个网络更加去中心化。
除此之外,Hyper Oracle 会更加着重于 zkDapps 叙事的构建,希望帮助更多的开发者和 Builder,在无需学习任何 ZK 知识或者特定编程语言的前提下,就可以享受 ZK 所带来的高性能以及安全性。
活跃的社区活动同样是 Hyper Oracle 联结更多优质项目的发力点。近期,Hyper Oracle 会在 SBC 期间的多个活动中进行演讲分享,包括柏林 Dappcon、EthSingapore、Token2049、DevConnect 等。
Hyper Oracle 寄语
我们有幸参加了 TinTinLand 举办的 Twitter Space 活动,社区的热情给我们留下了深刻印象。TinTinLand 专注于通过活动、研讨会、黑客马拉松等方式开展开发者教育与分享,我们期待着之后探索各种合作方式。我们认为 Web3 中最重要的资源就是开发者社区,我们推荐任何项目或者开发者关注各种机会,多多尝试。
目前「2023 TinTinLand 项目支持计划」仍在进行中,如果您也希望加入该计划,和我们一起共建 Web3,就可以将下方链接复制至浏览器中打开,立即报名联系我们哦!
👉🏻报名链接:
https://forms.gle/p3seKq748Th3czZn6