一种基于预言机与区块链的物联网数据共享系统及方法技术方案

技术编号:33127964 阅读:17 留言:0更新日期:2022-04-17 00:40
本发明专利技术公开一种基于预言机与区块链的物联网数据共享系统及方法,利用区块链与分布式预言机,构建物联网数据共享系统,设计并实现出一种链上链下协同工作的物联网关键数据共享平台。方法采用以太坊作为基础平台,将上传数据进行同态加密,调用智能合约,使用去中心化预言机Chainlink作为数据传输上链的中间件,采用web.js库完成对链上合约调用,利用Paillier同态加密实现对物联网关键数据的加密,实现物联网关键数据的共享。本发明专利技术利用预言机技术来解决链上链下数据协同中的数据调用问题,去中心化的预言机架构能够很好的提高数据的可靠性,使得数据使用、分享更加安全。分享更加安全。分享更加安全。

【技术实现步骤摘要】
一种基于预言机与区块链的物联网数据共享系统及方法


[0001]本专利技术涉及数据共享
,尤其涉及一种基于预言机与区块链的物联网数据共享系统及方法。

技术介绍

[0002]随着“物联网”被明确定位为我国新基建的重要组成部分,其“物物相连”的本质使得“物联网数据的共享”成为决定物联网发展的重要因素。由于物联网数据传感器采集到的物联网数据具有“海量性”、“时效性”、“关联性”、“安全性”的特点,如何及时、安全、便利地共享物联网数据成为了值得关注的问题。
[0003]目前基于互联网进行物联网数据共享的传统方式,受到行业的广泛应用。传统的互联网数据共享架构,在“信息采集层”和“网络层”,利用物联网数据传感器采集物联网数据,并发送至网关;由网关发送物联网数据至服务器以及数据库实现数据的上网。数据使用方访问服务器,由服务器调用数据库进行物联网数据的读取与共享。然而传统共享模式中,“数据提供方”需要提前将物联网数据上传并存储,“数据使用方”才能访问到数据库中的物联网数据,实现数据的共享,这种方案对数据传输的速度要求较高,难以保证物联网数据的时效性;其次,物联网数据大多为流式数据,数据量大,且需要根据不同的数据类型(动态数据、静态数据)设计不同的数据库进行对应的存储操作,这种基于数据库的存储方案会占用数据库巨大的存储空间;最后,基于互联网的的数据共享,面临物联网数据遭到篡改、数据库宕机以及用户共享数据溯源难的问题,物联网数据的安全性难以保障。
[0004]而随着区块链技术的发展,基于区块链网络的物联网数据共享被认为是一种极具潜力的物联网数据共享方法。基于区块链网络进行物联网数据共享的主要目的是利用区块链网络的“去信任化”特点,消除数据提供方和数据使用方的信任顾虑。在国内,谭海波等人提出的“档案数据保护与共享方法”利用“IPFS文件系统”存储档案数据,并由“智能合约”进行身份管理,系统各个环节的参与方需要进行链上链下的多轮数据交互,操作步骤比较繁杂,性能不理想;徐文玉等人提出“基于区块链和同态加密在保护患者隐私的情况下向保险公司提供数据”的方案,将应用场景固定于投保病种以及记录病种的措施当中,应用场景比较有限,对链下数据存储上链的过程没有进行详细阐明;在国外,Azaria等人最早提出了利用区块链的数据共享架构,但仅为模糊的理论构想。基于区块链的数据共享方案大多处于一种理论架构,对性能和技术可行性的考量不足,难以应用于物联网数据的共享。
[0005]综上所述,如何实现基于区块链的物联网数据共享,并以此构建出切实可行的共享系统,来保障物联网数据的“海量性”、“时效性”、“关联性”以及“安全性”,成为了亟需解决的问题。

技术实现思路

[0006]针对上述现有技术的不足,本专利技术提供一种基于预言机与区块链的物联网数据共享系统及方法。
[0007]为解决上述技术问题,本专利技术所采取的技术方案是:一种基于预言机与区块链的物联网数据共享系统,系统包括:数据提供方、多个预言机节点、区块链网络以及数据使用方;
[0008]所述区块链网络包括基于EVM的区块链私有链、用于运行区块链私有链的云服务器和运行在私有链上的智能合约;所述运行在私有链上的智能合约包括用户合约和预言机合约;
[0009]所述数据提供方利用物联网数据传感器采集数据,并将采集到的物联网数据传输至预言机节点,等待预言机节点的访问;当接收到预言机节点的访问时,数据提供方将待请求的物联网数据附加在数据请求的响应报文中,发送给预言机节点,实现数据提供方提供物联网数据的功能;
[0010]所述预言机节点监听区块链网络中用户合约的数据获取请求,并通过用户合约调用预言机合约,使得预言机节点被调用;当预言机节点被调用后,开始访问数据提供方,向数据提供方发起物联网http请求报文,获取数据提供方的物联网数据;随后利用交易的方式,将从数据提供方获取到的物联网数据,上传至区块链私有链上的用户合约当中;
[0011]所述数据使用方调用指定的用户合约来发起物联网数据的请求,实现物联网数据请求的发送,待物联网数据从数据提供方发送并经由预言机节点返回至区块链网络后,由区块链网络中的用户合约解析并通过系统的用户界面显示给数据使用方。
[0012]进一步的,所述数据提供方利用python脚本,对采集到的物联网数据进行上链预处理,包括:大小比较、数据筛选和同态加密操作;并将上链预处理后的物联网数据上传到数据提供方搭建的云服务器上;
[0013]所述数据提供方搭建的云服务器的网络地址作为API处于开放状态,用于接收预言机节点的物联网数据请求,并向预言机节点发送响应报文。
[0014]进一步的,采用轮询的方式,实现所述监听区块链网络中用户合约的数据获取请求。
[0015]进一步的,所述区块链私有链采用基于权益证明POA的共识机制,将私有链的出块权利分发到指定的矿工地址上,即运行该系统的各个参与方的账户上。
[0016]另一方面,本专利技术还提供采用上述基于预言机与区块链的物联网数据共享系统进行数据共享的方法,具体包括如下步骤:
[0017]步骤1:数据提供方利用物联网数据传感器采集数据,并将采集到的物联网数据传输至预言机节点,等待预言机节点的访问,具体过程如下:
[0018]步骤1.1:物联网传感器采集到物联网数据,并将数据存储在传感器连接的联网设备中;
[0019]步骤1.2:数据提供方依据自己的需求,自行决定物联网数据传感器所连接的联网设备是否对待上传的物联网数据进行Paillier同态加密,若对数据进行加密,则进行步骤1.3,否则跳转到步骤1.4;
[0020]步骤1.3:将物联网数据发送至数据提供方自己的云服务器当中,并对数据进行解密;
[0021]步骤1.4:利用数据提供方自己的云服务器,为需要共享的物联网数据配置API,以供预言机节点请求物联网数据;
[0022]步骤1.5:将该API的网络地址URL提供给预言机节点的javascript脚本当中,用于预言机节点的后续数据请求。
[0023]步骤2:数据使用方调用区块链网络中指定的用户合约来发起物联网数据的请求,具体过程如下:
[0024]步骤2.1:数据使用方根据目标数据的API接口地址以及目标数据位于该API当中对应的数据路径,发送物联网数据请求;具体表现为向用户合约发起一笔交易,以下简称为数据请求的交易,实现物联网数据的选择与请求,具体过程如下:
[0025]步骤2.1.1:数据使用方调用与自己所需链下物联网传感器所对应的用户合约,以指定对应用户合约的合约地址;
[0026]步骤2.1.2:若数据使用方所需要的链下物联网传感器没有与之对应的用户合约,则采用预先创建的用户合约模板,创建一个与该链下物联网传感器对应的用户合约;
[0027]步骤2.1.3:将创建好的用户合约部署到物联网数据共享系统内的区块链私有链当中,以实现用户合约与链下物联网传感器对应的服务器地址的绑定;
[0028]步骤本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于预言机与区块链的物联网数据共享系统,其特征在于,系统包括数据提供方、多个预言机节点、区块链网络以及数据使用方;所述区块链网络包括基于EVM的区块链私有链、用于运行区块链私有链的云服务器和运行在私有链上的智能合约;所述运行在私有链上的智能合约包括用户合约和预言机合约;所述数据提供方利用物联网数据传感器采集数据,并将采集到的物联网数据传输至预言机节点,等待预言机节点的访问;当接收到预言机节点的访问时,数据提供方将待请求的物联网数据附加在数据请求的响应报文中,发送给预言机节点,实现数据提供方提供物联网数据的功能;所述预言机节点监听区块链网络中用户合约的数据获取请求,并通过用户合约调用预言机合约,使得预言机节点被调用;当预言机节点被调用后,开始访问数据提供方,向数据提供方发起物联网http请求报文,获取数据提供方的物联网数据;随后利用交易的方式,将从数据提供方获取到的物联网数据,上传至区块链私有链上的用户合约当中;所述数据使用方调用指定的用户合约来发起物联网数据的请求,实现物联网数据请求的发送,待物联网数据从数据提供方发送并经由预言机节点返回至区块链网络后,由区块链网络中的用户合约解析并通过系统的用户界面显示给数据使用方。2.根据权利要求1所述的基于预言机与区块链的物联网数据共享系统,其特征在于:所述数据提供方利用python脚本,对采集到的物联网数据进行上链预处理,包括:大小比较、数据筛选和同态加密操作;并将上链预处理后的物联网数据上传到数据提供方搭建的云服务器上;所述数据提供方搭建的云服务器的网络地址作为API处于开放状态,用于接收预言机节点的物联网数据请求,并向预言机节点发送响应报文。3.根据权利要求1所述的基于预言机与区块链的物联网数据共享系统,其特征在于,采用轮询的方式,实现所述监听区块链网络中用户合约的数据获取请求。4.根据权利要求1所述的基于预言机与区块链的物联网数据共享系统,其特征在于,所述区块链私有链采用基于权益证明POA的共识机制,将私有链的出块权利分发到指定的矿工地址上,即运行该系统的各个参与方的账户上。5.采用权利要求1至4中任意一项所述的基于预言机与区块链的物联网数据共享系统进行数据共享的方法,其特征在于,包括如下步骤:步骤1:数据提供方利用物联网数据传感器采集数据,并将采集到的物联网数据传输至预言机节点,等待预言机节点的访问;步骤2:数据使用方调用区块链网络中指定的用户合约来发起物联网数据的请求;步骤3:预言机节点采用轮询的方式持续监听区块链网络中用户合约的数据获取请求,在接收到物联网数据请求后,向数据提供方获取链下的物联网数据,并利用交易的方式,将从数据提供方获取到的物联网数据,上传至区块链私有链上的用户合约当中;步骤4:数据使用方通过调用web3.js库,访问到用户合约中,用于存储物联网数据的变量的值,从而将变量值返回给数据使用方,使得使用方获取到物联网数据。6.根据权利要求5所述的采用基于预言机与区块链的物联网数据共享系统进行数据共享的方法,其特征在于,所述步骤1的过程如下:
步骤1.1:物联网传感器采集到物联网数据,并将数据存储在传感器连接的联网设备中;步骤1.2:数据提供方依据自己的需求,自行决定物联网数据传感器所连接的联网设备是否对待上传的物联网数据进行Paillier同态加密,若对数据进行加密,则进行步骤1.3,否则跳转到步骤1.4;步骤1.3:将物联网数据发送...

【专利技术属性】
技术研发人员:杨硕柴震宇陆徽敏张诚漆世杰于七龙
申请(专利权)人:东北大学秦皇岛分校
类型:发明
国别省市:

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

1