一种分布式预言机实现方法及系统技术方案

技术编号:30138003 阅读:32 留言:0更新日期:2021-09-23 14:52
本发明专利技术公开一种分布式预言机实现方法及系统,涉及区块链技术领域,该方法包括:用户智能合约调用预言机智能合约API,发送数据请求,预言机智能合约转发用户智能合约的数据请求给分布式预言机,分布式预言机从外部数据源获取数据并接受预言机审计区块链的检查验证,并将验证过的数据返回给预言机智能合约,预言机智能合约转发给用户智能合约,最终完成用户智能合约数据请求。一种分布式预言机(Scalable Data Feed Service,简称SDFS)实现系统,包括预言机智能合约、分布式预言机和预言机审计区块链。本发明专利技术通过分布式预言机各组成部分的分工协作确保数据采集请求和响应过程没有被篡改,数据是可信的,保证系统服务具有可扩展性,同时提高了隐私数据的安全性。同时提高了隐私数据的安全性。同时提高了隐私数据的安全性。

【技术实现步骤摘要】
一种分布式预言机实现方法及系统


[0001]本专利技术涉及针对区块链领域,特别是涉及一种分布式预言机实现方法及系统。

技术介绍

[0002]本专利技术中包含的英文简称如下:
[0003]SDFS:Scalable Data Feed Service可扩展数据馈送服务
[0004]TLS:Transport Layer Security安全传输层协议
[0005]预言机是一个提供外部信息的平台,提供了智能合约在合约满足运行时的必要条件。通过在区块链与互联网之间建立一道可信的数据网关,打破智能合约获取数据的束缚,使其具有访问互联网数据的能力。区块链通过数据馈送服务接入API、URL、搜索引擎等方式进行获取互联网中的数据。
[0006]目前最常用的数据馈送服务是Oraclize,采用TLSNotary算法,证明Oraclize没有篡改检索到的数据,但是无法证明没有篡改数据请求。基于英特尔SGX技术预言机Town Crier允许特殊应用程序与支持HTTPS的网站进行交互,这样的应用程序在SGX飞地内执行,但是安全性依赖于SGX框架的安全性。

技术实现思路

[0007]本专利技术所要解决的技术问题是:解决现有预言机存在的数据可靠性、通信可靠性、可扩展性问题。
[0008]本专利技术通过下述技术方案实现:
[0009]一种分布式预言机实现方法,该方法包括:
[0010]S01、用户智能合约调用预言机智能合约API,发送数据请求;
[0011]S02、预言机智能合约转发用户智能合约的数据请求给分布式预言机;
[0012]S03、分布式预言机将该请求的散列值转发给系统审计区块链作为证据。同时,分布式预言机节点向Web服务器发送请求;
[0013]S04、Web服务器接收请求并将响应发送到分布式预言机节点。分布式预言机节点将响应的散列转发给审计区块链作为证据;
[0014]S05、分布式预言机将验证过的数据返回给预言机智能合约,预言机智能合约转发给用户智能合约,最终完成用户智能合约数据请求。
[0015]S06、用户智能合约数据接收到分布式预言机提供的数据,能够提供查询审计区块链确保数据请求和响应都没被篡改。
[0016]其次,本专利技术还提供一种分布式预言机系统,其包括:
[0017](1)预言机智能合约,为用户智能合约提供数据请求和转发;
[0018](2)分布式预言机,由很多个预言机节点组成,采用可扩展分布式的架构;
[0019](3)审计区块链,为分布式预言机提供审计服务,记录分布式预言机的数据请求和响应哈希值。
[0020]具体的,所涉及用户智能合约和预言机智能合约是部署在区块链上,区块链可以是公有链、联盟链或私有链。用户智能合约调用预言机智能合约API,用户智能合约开发时候嵌入预言机的SDK,通过预言机的接口API进行调用。
[0021]分布式预言机是由很多个预言机节点组成,采用可扩展分布式的架构,并且能够根据智能合约数据需求情况来动态部署。每个预言机节点可以独立的从不同数据源获取数据,在数据处理过程中不同节点可以有不同的处理方式。
[0022]审计区块链用于验证预言机馈送数据的真实性,在验证通过之后,数据将被返回给智能合约,请求和响应的哈希值会记录在审计区块链中,用户智能合约可以验证请求和响应的哈希值。Web服务器可以是多种数据源服务器,包括网页数据、数据搜索引擎、API接口、文件资源等。
附图说明
[0023]后文将参照附图以示例性而非限制性的方式详细描述本专利技术的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。本专利技术的目标及特征考虑到如下结合附图的描述将更加明显,附图中:
[0024]图1为本专利技术所述的一种分布式预言机系统总体架构的示意图。
[0025]图2为本专利技术所述的一种分布式预言机实现方法的流程图示意图。
具体实施方式
[0026]为了清晰地阐述本专利技术,使本专利技术实施例的目的、技术方案和优点更加清楚,下面结合了本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,以令本领域技术人员参照说明书文字能够据以实施。下面将附图结合具体实施方式对本专利技术的技术加以详细说明。
[0027]本专利技术本实施例提出一种分布式预言机实现方法,该方法的实现过程包括:
[0028]S01、用户智能合约调用预言机智能合约API,发送数据请求;
[0029]S02、预言机智能合约转发用户智能合约的数据请求给分布式预言机;
[0030]S03、分布式预言机将该请求的散列值转发给系统审计区块链作为证据。同时,分布式预言机节点向Web服务器发送ClientHello;
[0031]S04、审计区块链接收到请求,经过链上所有节点的一致同意,将请求散列值放在审计区块链上作为证据,然后每个审计区块链节点生成一个随机数,并将其广播给其他审计区块链节点;
[0032]S05、每个审计区块链节点从其他节点接收到随机数后,对所有随机数进行异或运算,得到最终的随机数S2,并使用RSA算法对随机数S2进行加密;
[0033]S06、审计区块链将加密随机数发送到分布式预言机节点。分布式预言机节点在从审计区块链接收到加密数后,生成一个新的随机数,并运算之后作为消息发送给Web服务器;
[0034]S07、分布式预言机节点使用算法计算S1,生成H11和H12,并将H12发送给审计区块链。审计区块链以相同的方式从S2生成H21和H22,并将H21发送到分布式预言机节点。
[0035]S08、审计区块链从H12和H22生成Secret_Key2,并将其中一部分发送到分布式预言机节点;
[0036]S09、分布式预言机节点使用Secret_Key2、H11和H21的部分来生成用于加密通信的五个密钥。因为审计区块链还有一部分密钥,所以有一个密钥不能生成;
[0037]S10、分布式预言机节点将请求发送到Web服务器。Web服务器接收请求并将响应发送到分布式预言机节点。分布式预言机节点将响应的散列转发给审计区块链作为证据;
[0038]S11、审计区块链接收到响应,经过链上所有节点的一致同意,将响应的散列放到审计区块链上作为证据。然后审计区块链将剩余的Secret_Key2发送到分布式预言机节点;
[0039]S12、分布式预言机节点接收剩余的密钥并生成最后一个密钥,分布式预言机节点可以使用这六个密钥与客户端进行安全通信;
[0040]S13、分布式预言机将验证过的数据返回给预言机智能合约,预言机智能合约转发给用户智能合约,最终完成用户智能合约数据请求;
[0041]S14、用户智能合约数据接收到分布式预言机提供的数据,能够提供查询审计区块链确保数据请求和响应都没被篡改。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式预言机实现方法及系统,其特征在于,该方法的实现过程包括:S01、用户智能合约调用预言机智能合约API,发送数据请求;S02、预言机智能合约转发用户智能合约的数据请求给分布式预言机;S03、分布式预言机将该请求的散列值转发给系统审计区块链作为证据。同时,分布式预言机节点向Web服务器发送请求;S04、Web服务器接收请求并将响应发送到分布式预言机节点。分布式预言机节点将响应的散列转发给审计区块链作为证据;S05、分布式预言机将验证过的数据返回给预言机智能合约,预言机智能合约转发给用户智能合约,最终完成用户智能合约数据请求。S06、用户智能合约数据接收到分布式预言机提供的数据,能够提供查询审计区块链确保数据请求和响应都没被篡改。2.根据权利要求1所述的一种分布式预言机实现方法及系统,其特征在于,所述步骤S01中用户智能合约和预言机智能合约是部署在区块链上,区块链可以是公有链、联盟链或私有链。3.根据权利要求1所述的一种分布式预言机实现方法及系统,其特征在于,所述步骤S01中用户智能合约调用预言机智能合约API,用户智能合约开发时候嵌入预言机的SDK,通过预言机的接口API进行调用。4.根据权利要求1所述的一种分布式预言机实现...

【专利技术属性】
技术研发人员:王荣蔡维德
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1