回收过滤器的一个问题是,对付同一个过滤器,每种语言都需要差异的实施方法,这大概导致差异软件的节点之间,在过滤后存在响应差别。
别的,Oracle处事还可以或许处理惩罚关于NeoFS漫衍式存储网络的请求,从而使智能合约开拓者可以或许会见链下数据。Github上也有关于NeoFS上的Oracle协议拟定的接头。
在当前的共鸣提案中,已发起将核准阈值纳入提议阶段。
Oracle处事需要支持的主要协议是HTTP(及其安详的对等HTTPS),这是基于互联网的数据互换尺度。最初的实施将基于同时支持HTTP和HTTPS的环境下构建,但有关支持的要领还在接头中。
2. 至少有5个签名才气将Oracle反馈的数据放入已验证的内存池中。告竣一致的Oracle节点数量必需是阻挡的两倍,且阻挡签名不高出10个,才算取得共鸣。
1. 至少有10个签名才气将Oracle反馈的数据放入已验证的内存池中。50%的Oracle节点承认,且阻挡的节点不高出10%,才算取得共鸣。
Oracle共鸣
– Github 接头地点 –
Igor Coelho提出了一个办理方案,发起将Oracle过滤器实施为智能合约。这将答允开拓者建设用于挪用的自界说过滤器,或将其从头配置为在Oracle系统之外利用。
在Oracle网络中,共鸣长短常重要的部门。通过让多个节点都执行沟通的审核,较量每个节点吸收的响应,以确认最终功效的一致性,保障请求数据的靠得住性。这旨在防备数据的改动,并建设一个果真透明的信息情况,使开拓者可以定心地引入链下数据以用于智能合约。
通例的Neo节点将协助处理惩罚Oracle事务,在收到一个事务请求后,它们只能比较已知的哈希列表审核事务哈希,并在其内存池中对其举办更新。但当Oracle节点吸收到Oracle事务请求时,它可以将事务哈希添加到已知的哈希列表中,并对执行请求。执行Oracle请求
与过滤器实施相匹配,最初仅支持JSON响应,可是将来将连续支持其他名目(如XML或HTML),以满意智能合约开拓者的潜在需求。
譬喻,回收第一条共鸣法则。未验证的Oracle事务被发送到网络,通过天气监测API请求上海当前的温度。
在「预言机篇」的前两期中,我们科普了Oracle的根基观念与运作模式,并先容了在Neo3情况下,Oracle与智能合约的互通法则,以确保特定命据可以或许传输至链上世界。
由焦点开拓者Shargon提出的过滤器观念,是对Oracle系统挪用的扩展,旨在过滤掉不须要的数据响应。我们在「预言机篇」第二讲中也提到了,利用过滤器可以或许缓解链上的存储空间,并提高共鸣简直定性。
支持的协议、过滤器和响应
对付最初的Oracle实施,以JSONPath尺渡过滤不须要的响应。而对付响应自己而言,请求API需提供响应反馈的数据名目。Neo焦点开拓者在Github上颠末会合接头后,发起用户应事先类型他们所期望的名目或Content-Type。
https://github.com/neo-project/neo/issues/1270
在「预言机篇」第四讲中,我们将先容Oracle在Neo3情况下的其他机制——去中心化与经济模子。
假如9个Oracle节点挪用API并承认了20度的气温数据,而1个节点返回19度的气温数据,则基于共鸣,20度是最终功效。9个节点中的每个节点都将为“ 20”签名,在有了足够数量的签名后,反馈数据可以移至已验证的池中并储存在区块中。