摘要:2020年,广受期待的Neo3将与大家见面。在Neo3主网正式上线之前,我们特别推出了「三分钟入门Neo3」系列专题,带大家率先了解Neo3的方方面面。首先是预言机(Oracle)篇,我们将分为四个部分来介绍Oracle是如何连接现实和链上世界的。

2020年,广受期待的Neo3将与大家见面。在Neo3主网正式上线之前,我们特别推出了「三分钟入门Neo3」系列专题,带大家率先了解Neo3的方方面面。

预言机第一讲 | 三分钟入门Neo3插图

首先是预言机(Oracle)篇,我们将分为四个部分来介绍Oracle是如何连接现实和链上世界的。

第一讲:Oracle概念和运作模式
第二讲:Oracle的事务与广播机制
第三讲:Oracle的请求机制与共识
第四讲:Oracle的去中心化与经济模型

第一讲除了普及其概念和使用场景外,我们将重点介绍如何在Neo3里设计与运行内置Oracle。

Oracle网络

在计算机领域,Oracle是一种抽象电脑,又称谕示机。它可以解决图灵机通过计算也无法解决的问题,比如从外界获取问题的答案。

关于Oracle的概念,我们在往期推文中已经做过介绍。还不熟悉的小伙伴们,欢迎点击下方文章进行回顾。

对于已通过共识协议验证的链上数据而言,公链因其不可篡改性与公开透明性而有着巨大价值。开发者可以通过智能合约来快速读取与执行在链上某节点获得的数据。

由于链下数据的信用程度与区块链不同,因此负责提供数据的机制需要具备去中心化以及可靠安全的特征。当应用程序需要检索特定信息时,例如特定资产的实时市场价格数据,该请求将传递到网络上的多个节点。

这些名为Oracle的节点将通过查找请求的数据来满足请求。Oracle会与其他节点验证结果,并通过多方确认来保证其准确性。验证的结果将以区块的方式进行储存,合约可以依次访问该结果。基于此服务行为,Oracle节点会收取一定交易费用。在Neo网络中,可用GAS支付Oracle交易。

潜在应用场景

基于区块链的智能合约可以快速获取链上信息,但对于外部信息,智能合约没有获取权限。如何连通区块链与外部世界,Oracle网络诞生了。作为一个信息桥梁,Oracle连接起了智能合约和外部世界的可用数据。智能合约可以通过Oracle来获取通过API提供的任何信息。

由于外部网络的开放性,信息和数据呈爆炸式增长,让Oracle网络的应用场景有无限种可能。例如,服务类dApp需要客户过去相关订单数据,通过连接Oracle网络就可获取特定的外部数据;还有DeFi应用通过连接Oracle网络,可以实时更新资产市场中的价格。

例如,智能合约可以通过NeoFS以经济高效的方式在链下存储重要数据,并通过Oracle网络按需访问对象或元数据。这为集中式云存储服务提供商提供了更强大的可替代方案,也加速了去中心化存储的进程。

Neo3中的Oracle实施

在第一届Neo社区大会结束之后,由Neo创始人与核心开发者张铮文提出的Neo3新功能“内置预言机”,正式进入了构思阶段。来自Red4Sec的Neo核心开发者和网络安全专家Belane和Shargon进行了讨论,并提出了初步建议,该建议将在这几个月进行完善。

自2019年11月下旬以来,在Github上的一个公开议题有着关于Oracle解决方案的集中讨论,该议题指定了要实现的设计目标,并连接到每个Oracle组件的独立讨论。

该议题概述了内置Oracle服务的关键要求,该服务旨在使开发者易于使用,并且通过分布式管理来减轻潜在的第三方信任问题。在之后的系列文章中,我们将进一步探讨针对Oracle实现的多种组合。