document.write(''); tanx_s = document.createElement("script"); tanx_s.type = "text/javascript"; tanx_s.charset = "gbk"; tanx_s.id = "tanx-s-mm_110684112_707300307_109278200369"; tanx_s.async = true; tanx_s.src = "https://p.tanx.com/ex?i=mm_110684112_707300307_109278200369"; tanx_h = document.getElementsByTagName("head")[0]; if(tanx_h)tanx_h.insertBefore(tanx_s,tanx_h.firstChild);

澳门永利集团网赌网站

07-10 10:42

标签    以太坊   区块链技术    区块链服务   区块链应用   加密货币

文章来源: 天空彩票免费资料大全1

  以太坊中的智能合约可以为广泛的应用提供动力,但由于区块链的性质,智能合约缺乏必要的功能:互联网连接。


  以太坊被设计为完全确定性,这意味着如果有人下载整个网络历史并重放它们,它们应该总是以相同的状态结束。确定性是必要的,这样节点就可以达成一致。


以太坊


  但是,互联网具有不是确定性,在某个时间点查询API的智能合约,不能保证以后查询相同的API会得到相同的结果。 Web上的API和数据发生了变化。因此,智能合约本质上缺乏连通性。


  oracle这个名字来源于这样一个事实:从历史上讲,oracles是事实的来源。这就是我们所需要的事实。


  对于智能合约来说,预言机就是每个智能合约的输入参数。所有智能合约都绕不开预言机的输入数据,输入数据决定了智能合约的运行结果。通过向区块链中添加具有所需信息的交易,智能合约可以运行并始终获取相同的信息,因为数据都是从区块中进行检索。


  解决方案


  我们将创建一个oracle服务,该服务可以查询JSON API并从API响应中检索单个值。 oracle将保存所有请求和答案,并将拥有一组预定义的利益相关者。


  利益相关者是运行node.js服务的帐户,该服务查询API并返回对oracle的响应。 oracle还具有必须接收的最小数量的相等响应,以确认所提供的答案是有效的。v


  这样竞争方依赖于oracle来支持他们的合约,但是如果其中一方(节点)试图去操纵结果,那就无法实现了。因为他们同意预定义了法定人数的等量答案结果。


  oracle包含两个组件。on-chain oracle(智能合约)和off-chain oracle服务(node.js服务器)。


  on-chain oracle是一个智能合约,它有一个公共函数createRequest,接收URL,查询和要检索的属性。然后启动一个事件来提醒新链接oracle的新请求。


  off-chain oracle由不同方部署的几个node.js服务组成,这些服务将查询API并将响应返回给合约。


  on-chain Oracle会验证是否已达到最小数量的相等响应,如果已达到,则会发出一个事件,表明其已就价值达成共识,以便查询Oracle的客户机智能合约知道其已收到响应。


  On-chain Oracle实施


  我们用约定的条款定义Oracle合同:最低法定人数和Oracle总数。对于这个例子,有三个利益相关者,为了达成共识,3个中的2个必须提供相同的答案。


【道说投资学院】:研究分析区块链天空彩票生肖板的学习社区。以天空彩票生肖板方,IPFS矿机,投资者,媒体,评测人为主体的区块链学习社区。加入社区联系微信:570111
声明:天空彩票免费资料大全1登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。
相关文章

浅月流歌

0打赏金币 11所得总金币

    最新发表    最高金币  最高点击量

特约作者

热门文章
7x24h天下采天空彩票网更多 >>