知世金融网专注于股票行情,期货开户,外汇储备等最新相关资讯信息提供投资者参考学习!

当前位置:网站首页 > 区块链 > 正文

预言机的共识原来是这样完成的 | 三分钟入门Neo3

原创
文章作者
知世-金融领域资深作者
知名金融领域作者,从事金融超过十余年,在行业内有一定影响力。
金融风险管理师认证证书 常识职业资格认证 特许金融分析师 国际金融理财师认证证书
发布时间:2020-02-16 21:17:14 发布来源:Neo智能经济 文章点击:98

在「预言机篇」的前两期中,我们科普了Oracle的基本概念与运作模式,并介绍了在Neo3环境下,Oracle与智能合约的互通规则,以确保特定数据能够传输至链上世界。 第三讲中,我们将介绍...

目录

    本文标题预言机的共识原来是这样完成的 | 三分钟入门Neo3,作者:知世,本文有1275个文字,大小约为6KB,预计阅读时间4分钟,请您欣赏。知世金融网众多优秀文章,如果想要浏览更多相关文章,请使用网站导航的搜索进行搜索。本站虽然不乏优秀之作,但仅作为投资者学习参考。

    在「预言机篇」的前两期中,我们科普了Oracle的基本概念与运作模式,并介绍了在Neo3环境下,Oracle与智能合约的互通规则,以确保特定数据能够传输至链上世界。

    第三讲中,我们将介绍在NeoVM中如何执行Oracle请求,并对结果达成共识,以及Neo3目前正考虑的协议、过滤器与响应机制。

    执行Oracle请求

    常规的Neo节点将协助处理Oracle事务,在收到一个事务请求后,它们只能对照已知的哈希列表审核事务哈希,并在其内存池中对其进行更新。但当Oracle节点接收到Oracle事务请求时,它可以将事务哈希添加到已知的哈希列表中,并对执行请求。

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

    此时,Oracle节点通过OracleAgreement机制完成了对缓存结果的共识确认。基于Oracle节点的共识,用户可以信任此结果。

    Oracle共识

    在Oracle网络中,共识是非常重要的部分。通过让多个节点都执行相同的审核,比较每个节点接收的响应,以确认最终结果的一致性,保障请求数据的可靠性。这旨在防止数据的篡改,并创建一个公开透明的信息环境,使开发者可以安心地引入链下数据以用于智能合约。

    关于Oracle节点的共识机制,采用批准阈值是一种比较简便的方法。只有当对反馈数据的共识满足特定的数量/百分比,共识机制才会生效。当然,也可以添加其他共识规则。

    如Neo核心开发者Belane提供的示例一样:

    1. 至少有10个签名才能将Oracle反馈的数据放入已验证的内存池中。50%的Oracle节点认可,且反对的节点不超过10%,才算取得共识。

    2. 至少有5个签名才能将Oracle反馈的数据放入已验证的内存池中。达成一致的Oracle节点数量必须是反对的两倍,且反对签名不超过10个,才算取得共识。

    在当前的共识提案中,已建议将批准阈值纳入提议阶段。

    例如,采用第一条共识规则。未验证的Oracle事务被发送到网络,通过天气监测API请求上海当前的温度。

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

    由于可以采用的规则有许多种,该共识过程的最终设计还在讨论中。例如,批准阈值可以是在Oracle策略中定义的固定值,或者每个智能合约都可以指定其自己的批准阈值。又或者,可以探索其他的共识过程。

    关于Oracle节点的共识机制,采用批准阈值是一种比较简便的方法。只有当对反馈数据的共识满足特定的数量/百分比,共识机制才会生效。当然,也可以添加其他共识规则。

    支持的协议、过滤器和响应

    根据开发者的需求,Oracle请求可以采用不同的形式。需要访问不同的资源,并且在Oracle节点达成共识之前,需要标准化的响应和过滤器来优化结果。

    Oracle服务需要支持的主要协议是HTTP(及其安全的对等HTTPS),这是基于互联网的数据交换标准。最初的实施将基于同时支持HTTP和HTTPS的情况下构建,但有关支持的方法还在讨论中。

    Neo联合创始人及核心开发者张铮文认为,由于GET的简单性和对Oracle请求的适用性,因此仅应支持GET,但是由于其在REST API中的广泛使用,因此也建议支持POST。

    另外,Oracle服务还能够处理关于NeoFS分布式存储网络的请求,从而使智能合约开发者能够访问链下数据。Github上也有关于NeoFS上的Oracle协议制定的讨论。

    - Github 讨论地址 -
    https://github.com/neo-project/neo/issues/1270

    未来会探索对其他协议或方法的支持,由于当下解决方案的设计重点是简便性,因此暂时先不考虑较复杂的操作或自定义协议。

    由核心开发者Shargon提出的过滤器概念,是对Oracle系统调用的扩展,旨在过滤掉不必要的数据响应。我们在「预言机篇」第二讲中也提到了,使用过滤器能够缓解链上的存储空间,并提高共识的确定性。

    采用过滤器的一个问题是,对于同一个过滤器,每种语言都需要不同的实施方式,这可能导致不同软件的节点之间,在过滤后存在响应差异。

    Igor Coelho提出了一个解决方案,建议将Oracle过滤器实施为智能合约。这将允许开发者创建用于调用的自定义过滤器,或将其重新设置为在Oracle系统之外使用。

    对于最初的Oracle实施,以JSONPath标准过滤不必要的响应。而对于响应本身而言,请求API需提供响应反馈的数据格式。Neo核心开发者在Github上经过集中讨论后,建议用户应事先规范他们所期望的格式或Content-Type。

    与过滤器实施相匹配,最初仅支持JSON响应,但是未来将陆续支持其他格式(如XML或HTML),以满足智能合约开发者的潜在需求。

    在「预言机篇」第四讲中,我们将介绍Oracle在Neo3环境下的其他机制——去中心化与经济模型。

    本文相关推荐: 在Fabric、 Quorum以及Corda之间实现跨链,超级账本的集成框架是这样的

    以上便是知世金融网给大家分享的关于预言机的共识原来是这样完成的 | 三分钟入门Neo3/qkl/29380.html的相关信息了,希望能帮助到大家,更多金融相关信息,敬请关注知世金融网!

    网站内容均来自互联网,如侵害您的利益联系客服进行删除!

    关键词:是这样
    (0)
    (0)

    上一篇:11 年后,biteb依然很难用

    下一篇:根据性能获得报酬:区块链如何让基于结果的定价成为现实

    本文标题:预言机的共识原来是这样完成的 | 三分钟入门Neo3

    本文地址:/index.php?s=article&c=search&keyword=%E6%98%AF%E8%BF%99%E6%A0%B7

    金融知名领域

    南方财富网 | 金融界 | 金融界 |

    更多推荐

    • 茅台吃饱,经销商哭倒
      茅台吃饱,经销商哭倒
    • 汇金的五次增持从短期看具有一定的“稳定器“作用,但从市场表现看效果逐次递减
      汇金的五次增持从短期看具有一定的“稳定器“作用,但从市场表现看效果逐次递减
    • 158亿元!比亚迪收购!
      158亿元!比亚迪收购!
    • 9月价格回落近五成 “冷静期”酒店业备战“十一”市场
      9月价格回落近五成 “冷静期”酒店业备战“十一”市场
    • 2023哈马博览会哈尔滨银行展区精彩纷呈
      2023哈马博览会哈尔滨银行展区精彩纷呈
    • 大额解禁撂倒股价 医疗影像龙头跌出千亿俱乐部 葛兰二季度大幅减仓
      大额解禁撂倒股价 医疗影像龙头跌出千亿俱乐部 葛兰二季度大幅减仓
    • A股,又上了热搜!数字要素概念走高多股涨停,锂电池板块走低恩捷股份大举跌停
      A股,又上了热搜!数字要素概念走高多股涨停,锂电池板块走低恩捷股份大举跌停
    • 最新!巨头出手,加仓宁王51%
      最新!巨头出手,加仓宁王51%
    • 600亿巨头暴雷
      600亿巨头暴雷
    • 一天32家!科创板回购潮涌来
      一天32家!科创板回购潮涌来
    • 提振信心实招来了!30余家上市公司密集出手 最高要买10亿
      提振信心实招来了!30余家上市公司密集出手 最高要买10亿
    • 高盛再发50年后预测:2075年印度股市全球市值占比将升4倍 中国升3成
      高盛再发50年后预测:2075年印度股市全球市值占比将升4倍 中国升3成

    新闻资讯栏目

    站长QQ: 2397470084