专访 Hyper Oracle:可编程的 zkOracle 打造未来世界的超算

图片

许多 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/57155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

几个nlp的小任务(多选问答)

@TOC 安装库 多选问答介绍 定义参数、导入加载函数 缓存数据集 随机选择一些数据展示 进行数据预处理部分(tokenizer) 调用t

基于SSM+vue框架的个人博客网站源码和论文

基于SSMvue框架的个人博客网站源码和论文061 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm (设计)研究背景与意义 关于博客的未来:在创办了博客中国(blogchina)、被誉为“…

2023最新任务悬赏平台源码uniapp+Thinkphp新款悬赏任务地推拉新充场游戏试玩源码众人帮威客兼职任务帮任务发布分销机

新款悬赏任务地推拉新充场游戏试玩源码众人帮威客兼职任务帮任务发布分销机制 后端是:thinkphpFastAdmin 前端是:uniapp 1.优化首页推荐店铺模块如有则会显示此模块没有则隐藏。 2修复首页公告,更改首页公告逻辑。(后台添加有公…

C# 学习笔记--个人学习使用 <1>

C# 学习笔记 Chapter 1 C# 比较软的基础部分Section 1 类与命名空间Part 1 命名空间 NameSpacePart 2 类 Class Section 2 基本元素Section 3 数据类型Part 1 什么是类型?Part 2 类型在 C Sharp 中的作用Part 3 C Sharp 中的数据类型 Section 4 变量、对象与内存Par…

URI和URL和URN区别

URI、URL 和 URN 是一系列从不同角度来看待资源标识和定位的概念。虽然它们有一些重叠,但每个概念都强调了不同的方面。 URI(Uniform Resource Identifier):URI 是一个通用的术语,用于标识和定位资源。它是一个抽象的概…

多线程(二)

一.关于线程的常用操作 1.启动线程 run(): 对于run方法的覆写只是指定线程要做的任务清单,而不是真正的启动线程 start(): start()方法才是真正的在底层创建出一个线程,并且启动 2.中断线程 1.通过共享的标记来中断 package demo; impor…

UML四大关系

文章目录 引言UML的定义和作用UML四大关系的重要性和应用场景关联关系继承关系聚合关系组合关系 UML四大关系的进一步讨论UML四大关系的实际应用软件开发中的应用其他领域的应用 总结 引言 在软件开发中,统一建模语言(Unified Modeling Language&#x…

谈谈对 GMP 的简单认识

犹记得最开始学习 golang 的时候,大佬们分享 GMP 模型的时候,总感觉云里雾里,听了半天,并没有一个很清晰的概念,不知 xmd 是否会有这样的体会 虽然 golang 入门很简单,但是对于理解 golang 的设计思想和原…

threejs特殊几何体(一:文字几何体对象)

threejs中文字几何体通过newTextGeometry&#xff08;&#xff09;生成&#xff0c;它被单独作为一个类存在于threejs中const txtGeo new TextGeometry("threejs", { ...opts, font: font }); 我们先看效果&#xff1a; <template><div></div> &…

Jumpserver堡垒机管理(安装和相关操作)-------从小白到大神之路之学习运维第89天

第四阶段 时 间&#xff1a;2023年8月28日 参加人&#xff1a;全班人员 内 容&#xff1a; Jumpserver堡垒机管理 目录 一、堡垒机简介 &#xff08;一&#xff09;运维常见背黑锅场景 &#xff08;二&#xff09;背黑锅的主要原因 &#xff08;三&#xff09;解决背黑…

五种 CSS 位置类型以实现更好的布局

在 Web 开发中&#xff0c;CSS&#xff08;层叠样式表&#xff09;用于设置网站样式的设置。为了控制网页上元素的布局&#xff0c;使用CSS的position属性。因此&#xff0c;在今天这篇文章中&#xff0c;我们将了解 CSS 位置及其类型。 CSS 位置属性用于控制网页上元素的位置…

如何基于自己训练的Yolov5权重,结合DeepSort实现目标跟踪

网上有很多相关不错的操作demo&#xff0c;但自己在训练过程仍然遇到不少疑惑。因此&#xff0c;我这总结一下操作过程中所解决的问题。 1、deepsort的训练集是否必须基于逐帧视频&#xff1f; 我经过尝试&#xff0c;发现非连续性的图像仍可以作为训练集。一个实例&#xff0…

二叉树、红黑树、B树、B+树

二叉树 一棵二叉树是结点的一个有限集合&#xff0c;该集合或者为空&#xff0c;或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。 二叉树的特点&#xff1a; 每个结点最多有两棵子树&#xff0c;即二叉树不存在度大于2的结点。二叉树的子树有左右之分&#xf…

HPC是如何助力AI推理加速的?

高性能计算&#xff08;High-Performance Computing&#xff0c;HPC&#xff09;通过提供强大的计算能力、存储资源和网络互联&#xff0c;可以显著地辅助人工智能&#xff08;AI&#xff09;应用更快地进行训练和推断。那么&#xff0c;HPC是如何助力AI推理加速的&#xff1f;…

PostgerSql

建表修改字段等语句 1.建表 create table student ( id int, name varchar(30), birthday date, score numeric(5,2) ) 2.修改表名称 alter table student rename to student1; 3.修改表中列的类型 alter table student1 alter column name type varchar(40); 4.删除表的…

java八股文面试[多线程]——什么是线程安全

对线程安全的理解 总结&#xff1a;一个进程内的多个线程同时访问堆内存。 知识来源&#xff1a; 【并发与线程】对线程安全的理解_哔哩哔哩_bilibili

9.4 集成功率放大电路

OTL、OCL 和 BTL 电路均有各种不同输出功率和不同电压增益的集成电路。应当注意&#xff0c;在使用 OTL 电路时&#xff0c;需外接输出电容。为了改善频率特性&#xff0c;减小非线性失真&#xff0c;很多电路内部还引入深度负反馈。这里以低频功放为例。 一、集成功率放大电路…

创邻科技张晨:图数据库,激活数据要素的新基建

“数据经济时代&#xff0c;数据要素产业链的各细分领域均蕴含机遇&#xff0c;图技术作为网络协同和数据智能的底层发动机&#xff0c;将深度掘金数字中国价值潜能”。 8月22日&#xff0c;在2023中国&#xff08;南京&#xff09;国际软件产品和信息服务交易博览会的信息技术…

Selenium 遇见伪元素该如何处理?

问题发生 在很多前端页面中&#xff0c;大家会见到很多&#xff1a;:before、::after 元素&#xff0c;比如【百度流量研究院】&#xff1a; 比如【百度疫情大数据平台】&#xff1a; 以【百度疫情大数据平台】为例&#xff0c;“累计确诊”文本并没有显示在 HTML 源代码中&am…