http://www.tnmanning.com

预言机的共鸣本来是这样完成的

别的,Oracle处事还可以或许处理惩罚关于NeoFS漫衍式存储网络的请求,从而使智能合约开拓者可以或许会见链下数据。Github上也有关于NeoFS上的Oracle协议拟定的接头。

在「预言机篇」的前两期中,我们科普了Oracle的根基观念与运作模式,并先容了在Neo3情况下,Oracle与智能合约的互通法则,以确保特定命据可以或许传输至链上世界。


Neo连系首创人及焦点开拓者张铮文认为,由于GET的简朴性和对Oracle请求的合用性,因此仅应支持GET,可是由于其在REST API中的遍及利用,因此也发起支持POST。
对付最初的Oracle实施,以JSONPath尺渡过滤不须要的响应。而对付响应自己而言,请求API需提供响应反馈的数据名目。Neo焦点开拓者在Github上颠末会合接头后,发起用户应事先类型他们所期望的名目或Content-Type。

在当前的共鸣提案中,已发起将核准阈值纳入提议阶段。
在Oracle网络中,共鸣长短常重要的部门。通过让多个节点都执行沟通的审核,较量每个节点吸收的响应,以确认最终功效的一致性,保障请求数据的靠得住性。这旨在防备数据的改动,并建设一个果真透明的信息情况,使开拓者可以定心地引入链下数据以用于智能合约。

此时,Oracle节点通过OracleAgreement机制完成了对缓存功效的共鸣确认。基于Oracle节点的共鸣,用户可以信任此功效。 
支持的协议、过滤器和响应


https://github.com/neo-project/neo/issues/1270


由焦点开拓者Shargon提出的过滤器观念,是对Oracle系统挪用的扩展,旨在过滤掉不须要的数据响应。我们在「预言机篇」第二讲中也提到了,利用过滤器可以或许缓解链上的存储空间,并提高共鸣简直定性。

当需要Oracle处事时,Oracle系统将输入URL和过滤器来发出指令。在NeoVM中,Oracle节点将执行Oracle Syscall,先查抄是否有缓存功效。假如没有功效,Oracle节点将通过所给的URL下载内容,启动过滤器,最后缓存数据功效。

预言机的共识原来是这样完成的


执行Oracle请求
由于可以回收的法则有很多种,该共鸣进程的最终设计还在接头中。譬喻,核准阈值可以是在Oracle计策中界说的牢靠值,可能每个智能合约都可以指定其本身的核准阈值。又可能,可以摸索其他的共鸣进程。


在「预言机篇」第四讲中,我们将先容Oracle在Neo3情况下的其他机制——去中心化与经济模子。




2. 至少有5个签名才气将Oracle反馈的数据放入已验证的内存池中。告竣一致的Oracle节点数量必需是阻挡的两倍,且阻挡签名不高出10个,才算取得共鸣。

通例的Neo节点将协助处理惩罚Oracle事务,在收到一个事务请求后,它们只能比较已知的哈希列表审核事务哈希,并在其内存池中对其举办更新。但当Oracle节点吸收到Oracle事务请求时,它可以将事务哈希添加到已知的哈希列表中,并对执行请求。

- Github 接头地点 -

第三讲中,我们将先容在NeoVM中如何执行Oracle请求,并对功效告竣共鸣,以及Neo3今朝正思量的协议、过滤器与响应机制。

如Neo焦点开拓者Belane提供的示例一样:

假如9个Oracle节点挪用API并承认了20度的气温数据,而1个节点返回19度的气温数据,则基于共鸣,20度是最终功效。9个节点中的每个节点都将为“ 20”签名,在有了足够数量的签名后,反馈数据可以移至已验证的池中并储存在区块中。



回收过滤器的一个问题是,对付同一个过滤器,每种语言都需要差异的实施方法,这大概导致差异软件的节点之间,在过滤后存在响应差别。

预言机的共识原来是这样完成的

Oracle处事需要支持的主要协议是HTTP(及其安详的对等HTTPS),这是基于互联网的数据互换尺度。最初的实施将基于同时支持HTTP和HTTPS的环境下构建,但有关支持的要领还在接头中。
Igor Coelho提出了一个办理方案,发起将Oracle过滤器实施为智能合约。这将答允开拓者建设用于挪用的自界说过滤器,或将其从头配置为在Oracle系统之外利用。



预言机的共识原来是这样完成的

Oracle共鸣

按照开拓者的需求,Oracle请求可以回收差异的形式。需要会见差异的资源,而且在Oracle节点告竣共鸣之前,需要尺度化的响应和过滤器来优化功效。


1. 至少有10个签名才气将Oracle反馈的数据放入已验证的内存池中。50%的Oracle节点承认,且阻挡的节点不高出10%,才算取得共鸣。
关于Oracle节点的共鸣机制,回收核准阈值是一种较量轻便的要领。只有当对反馈数据的共鸣满意特定的数量/百分比,共鸣机制才会生效。虽然,也可以添加其他共鸣法则。
关于Oracle节点的共鸣机制,回收核准阈值是一种较量轻便的要领。只有当对反馈数据的共鸣满意特定的数量/百分比,共鸣机制才会生效。虽然,也可以添加其他共鸣法则。


将来会摸索对其他协议或要领的支持,由于当下办理方案的设计重点是轻便性,因此临时先不思量较巨大的操纵或自界说协议。

譬喻,回收第一条共鸣法则。未验证的Oracle事务被发送到网络,通过天气监测API请求上海当前的温度。
与过滤器实施相匹配,最初仅支持JSON响应,可是将来将连续支持其他名目(如XML或HTML),以满意智能合约开拓者的潜在需求。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。