一种基于区块链的物联网数据溯源方法与流程

专利2022-06-29  63


本发明涉及物联网数据服务、区块链技术、数据溯源技术和加密算法技术等技术领域,尤其涉及区块链技术及数据溯源技术,本发明要实现一种基于区块链的物联网数据溯源方法。



背景技术:

数据成为人类进入大数据时代以来最重要的一种战略资源。随着物联网技术的不断发展,由传感器采集的物联网数据量呈爆炸式增长。通过深度挖掘和分析物联网数据,可以不断以多样的方式为人类的生活提供便利。物联网数据在带来积极影响的同时,却也带来了部分问题:此类数据通过不同的流通渠道在各个企业、部门之间融合共享,或进行一系列数据处理,数据流通中间过程不可知,使用某种特定数据时很难判断其来源和可靠性;其次,流通过程中可能会出现数据造假或由于利益驱使而非法篡改数据。因此获知数据的源头、流转路径及流通过程中对数据的操作信息,实现对数据的验证、调试、审计跟踪和质量评估等操作显得尤为重要。

目前,越来越多的物联网数据共享平台提供数据溯源服务,但此类数据溯源服务存在以下问题:1)中心化存储:数据流转过程中收集的溯源记录是一种数据,目前大部分物联网数据溯源服务将溯源记录进行集中式存储。因此如果集中式服务器或存储器受到破坏,则存储的整个溯源数据体都会产生损害;2)可靠性问题:目前针对物联网数据的溯源存在由于利益驱使而对溯源记录进行篡改的问题,例如篡改物联网数据采集时间、数据处理过程信息等。因此当出现物联网数据泄露或造假问题时,无法根据溯源路径快速确认问题环节和责任主体;3)真实性问题:数据溯源的每个参与方由于数据很难交互很容易形成信息“孤岛”,单方记录的溯源数据造假轻而易举,用户在进行数据溯源时无法确定溯源记录的真实性或可靠性。因此,探索一种物联网数据溯源模型实现物联网数据的安全追溯显得至关重要。

鉴于以上物联网数据溯源所出现的问题,本发明将基于区块链技术对物联网数据溯源模型进行研究。区块链是一种全新的去中心化基础架构与分布式计算范式。在区块链网络中,数据由多方同时拥有并共同维护,数据冗余性强,即使出现单点故障或退出也不会影响整体稳定性。同时在多个节点的管理下,区块链网络中的数据具有高可行度和低篡改可能性。通过区块链技术可将数据采集方,处理方,交易方,监督方以及应用方等数据供应链上的各个角色都“捆绑”在一条链上,并且可以通过智能合约进行对数据的访问控制以及授权访问。

本发明主要提出一种基于区块链的物联网数据溯源方法,此方法实现在基于区块链的物联网数据溯源模型之上。通过区块链技术解决目前物联网数据溯源系统中溯源数据篡改、造假等问题,保证数据的真实性和安全性,因此分别从物联网数据溯源系统架构、溯源记录收集、基于区块链的溯源记录存储、溯源记录查询等方面进行研究。此发明的研究成果将为目前物联网数据溯源模型提供一种去中心化的解决方法。



技术实现要素:

本发明旨在针对目前物联网数据在流通过程中出现的数据篡改、造假等问题,提出一种基于区块链的物联网数据溯源方法。本发明在基础上主要分为溯源记录收集、溯源数据存储、溯源数据查询等方面。其方法原理图如图1所示。

本发明所采用的技术方案为一种基于区块链的物联网数据溯源方法,该方法实现在基于区块链的物联网数据共享平台之上,此平台的系统架构图如图2所示。本平台整体架构分为应用层、服务层、合约层、区块链层和存储层,本方法在前四层中每层都增加溯源部分。该平台由前端web页面部分和区块链部分两部分组成,前端部分使用vue框架搭建用户界面,并使用javascript语言编写的web3.js区块链接口包与区块链上的智能合约进行交互。区块链部分使用以太坊(ethereum)搭建并部署区块链私有链,并在以太坊平台上使用具有图灵完备性的编程语言——solidity实现智能合约上的逻辑。此方法具体实现整体分为溯源数据收集、溯源数据存储、溯源数据查询三个部分:溯源数据搜集中针对物联网数据服务系统中用户的角色进行了划分,以便于使用prov溯源模型标准进行溯源数据收集。用户角色主要分为提供者(数据源)、销售者、处理者和消费者,提供者提供数据实体,销售者对数据实体进行交易售卖,处理者对数据实体进行清洗加工,消费者对数据实体使用。销售者和处理者会将从提供者得到的数据进行二次加工,此类数据发布时需提交针对数据实体进行的操作信息,数据操作信息是否提交列为数据评价的重要组成部分;溯源数据存储中以数据实体id号为key,溯源记录为value,将不同的键值对通过智能合约进行上链存储;溯源数据查询通过数据实体唯一id号进行查询此数据的溯源记录。

本发明所提出的基于区块链的物联网数据溯源方法,该方法的具体实现的模块示意图如图3,其主要内容如下:

s1)账户和数据信息管理;

1)账户创建;

2)账户注册;

3)账户管理;

4)数据注册;

5)数据管理;

s2)数据进行注册之后,各用户根据自身需求进行数据请求和交换。同时每个用户还可以进行数据任务的发布;

1)数据发布;

2)数据请求;

3)发布任务;

4)执行任务;

5)数据权限管理;

6)数据授权;

s3)溯源记录收集主要在数据注册交换和用户提交数据修改信息时;

1)用户进行数据注册,数据交换,提交数据修改信息等操作;

2)根据步骤1)中所进行的操作记录溯源数据参数;

3)将溯源参数发送到prov溯源服务;

4)系统接收prov溯源服务返回的溯源记录,随后进行溯源记录存储;s4)溯源记录存储:

1)溯源记录存储;

s5)溯源记录查询:包含数据流转过程查询和数据实体溯源记录查询;

1)查询数据实体的溯源记录;

2)查询数据实体的流转过程。

上述的步骤中,具体的实现方法如下:

s1)中主要是针对用户以及数据的注册以及管理。数据溯源针对整个物联网数据共享平台来说只是一个功能部分,在实现数据溯源之前首先要有用户,并且在用户之间需要形成数据的流动过程。首先进行账户创建和账户注册。进行账号创建时,系统会在以太坊平台上为用户生成唯一的以太坊地址。随后进行账户注册,只用经过注册操作之后的用户才能进行系统其他功能操作。账户注册后初始账户余额为0eth,账户注册流程图如图4所示,账户注册示意图如图5所示。数据注册时需要提供数据提供者、数据拥有者、账户密码、数据名称、ipfs存储信息等详细信息,如图6所示。

s2)中主要描述有关数据发布订阅以及数据权限访问,在数据进行发布或者订阅过程中,具体角色可以分为数据提供者和数据消费者。

1)数据发布订阅:数据发布其实在s1中进行数据注册时即以实现,所有用户可通过数据列表查看已发布数据列表,或通过数据名称查询数据。数据订阅即数据请求任务发布,任务发布时需写明请求数据类型(采集方式、采集时间、数据格式、数据内容等)、请求数据时限、具体任务奖励等,如图7。数据请求任务完成后系统自动将消费者发布任务时预存的奖励转入提供者账户中,如图8;

2)数据权限访问:数据提供者数据注册之后,系统会初始化数据访问权限。数据消费者请求数据时,系统采用基于权能的访问控制让数据提供者进行请求权能审核,审核通过之后,系统将为请求者进行授权,随后系统会将请求者公钥加密的访问权限添加到数据访问列表中并通知请求者,请求者通过自身私钥解密获取数据访问路径,如图9。

s3)中所述在用户进行数据注册、交换以及提交数据修改时,将触发系统溯源数据参数记录控制逻辑,此时后台逻辑将通过前端页面中的各个字段获取溯源数据参数,例如数据实体名称、数据发布者账户地址、活动发生时间、数据实体类型等,系统提交数据修改示意图如图10所示。随后,系统将此类溯源数据参数通过http协议传给prov溯源服务,prov溯源服务是基于prov数据溯源模型搭建的server,用于溯源记录的生成。服务接受到参数之后会根据prov溯源标准生成溯源记录,随后将生成的溯源记录通过http协议传回系统中,系统检查溯源记录是否为null,为null则重新请求,不为null则进行溯源数据存储,流程图如图11所示。

s4)中所述为溯源数据存储部分,系统获取溯源记录之后,后台控制逻辑会调用智能合约的abi(applicationbinaryinterface),以数据实体id号为key、溯源记录为value的键值对存入区块链中。数据id号在进行数据注册时,系统便为此数据实体生成唯一id号。用户提交数据修改记录时,数据已经在系统上进行数据注册操作,因此无论数据是原始数据或是二次加工数据,都会拥有唯一数据id号。

s5)中所述溯源记录查询为通过数据实体的id号进行数据溯源查询,系统示意图如图12所示;数据实体在系统中可能会经过不同用户进行流转,系统对此现象提供数据流转过程查询,如图13所示。

与现有基于区块链的物联网数据溯源方法相比,本发明的有益效果是:

(1)本发明所述的基于区块链的物联网数据溯源方法将prov数据溯源标准结合数据供应链应用到了物联网数据服务领域,为用户提供在使用数据之前查看数据流转过程的能力,用户通过数据流转过程可快速定位问题环节,确定责任主体。

(2)本发明所述方法内容基于去中心化模型实现,此方法解决了以往物联网数据溯源功能的中心化存储模型所带来的单点故障、溯源数据造假和篡改等问题,增加了物联网数据的真实性和可靠性,确保了物联网数据的质量。

(3)本发明所述的物联网数据溯源方法基于区块链技术实现。由于区块链去中心化、防篡改、可信存储等特性,再加上以太坊平台中智能合约的使用,有效的保证了溯源记录的收集和可信存储,并实现了物联网数据溯源服务实体的规范自动执行。

附图说明

图1为方法原理图。

图2为系统架构图。

图3为方法示意图。

图4为账户注册流程图。

图5为账户注册示意图。

图6为用户数据注册示意图。

图7为用户任务发布示意图。

图8为数据发布订阅流程图。

图9为数据权限访问流程图。

图10为用户提交数据修改示意图。

图11为溯源记录生成流程图。

图12为系统溯源数据查询图。

图13为系统数据流转过程查询图。

图14为系统已发布数据列表图。

具体实施方式

为了更加简明,清晰的描述本发明的内容和目标,下面将结合附图对本发明做进一步的说明。实施案例的具体步骤如下:

步骤001:用户进行账户注册,如图5所示。

步骤002:数据提供者注册数据,,如图6所示。此时系统会记录刚注册的溯源记录并上链存储。

步骤003:用户查看已发布的数据列表,如图14所示。数据消费者根据自身需求挑选数据并进行数据请求,随后等待数据提供者进行请求审核。

步骤004:数据提供者审核数据请求之后进行数据访问授权,此时系统记录数据实体流转信息及溯源记录并存储。数据消费者获取数据之后对数据进行评价。

步骤005:用户发布数据任务,设置相关数据任务参数,如图7所示。

步骤006:用户查看已发布数据任务列表,并向任务发布者发送任务执行请求,任务发布者审核通过后审核之后执行数据任务。

步骤007:用户提交数据修改记录,随后系统生成上链并存储溯源数据。如图10所示。

步骤008:用户根据数据名称查看数据流转过程,如图13所示。

步骤009:用户根据数据名称查看溯源数据,如图12所示。

本发明的实施案例在某大学中使用10个crossbow节点搭建的wsn网络采集温度、湿度,光照强度等环境数据,通过无线网络将数据传入服务器中。同时使用5台4g内存500g硬盘的联想台式计算机以及3台8g内存1t硬盘的联想笔记本作为实验的物理设备,分别在每台计算机中使用go-ethereumv1.8.3客户端创建以太坊节点,并搭建以太坊私有网络满足实验所需。数据提供者通过步骤002将采集数据注册在系统中。数据消费者通过步骤003以及004进行已发布数据查看和数据请求。溯源记录在进行步骤002、004、007时生成,随后触发溯源记录存储合约上链存储。用户可通过步骤008查看数据流转过程,通过步骤009查看某个数据实体的溯源记录。


技术特征:

1.一种基于区块链的物联网数据溯源方法,该方法基于区块链的物联网数据共享平台实现,此平台整体架构分为应用层、服务层、合约层、区块链层和存储层,本方法在前四层中每层都增加溯源部分;该平台由前端web页面部分和区块链部分两部分组成,前端部分使用vue框架搭建用户界面,并使用javascript语言编写的web3.js区块链接口包与区块链上的智能合约进行交互;区块链部分使用以太坊搭建并部署区块链私有链,并在以太坊平台上使用具有图灵完备性的编程语言——solidity实现智能合约上的逻辑;其特征在于:此方法具体实现整体分为溯源数据收集、溯源数据存储、溯源数据查询三个部分:溯源数据搜集中针对物联网数据服务系统中用户的角色进行了划分,以便于使用prov溯源模型标准进行溯源数据收集;用户角色分为提供者、销售者、处理者和消费者,提供者提供数据实体,销售者对数据实体进行交易售卖,处理者对数据实体进行清洗加工,消费者对数据实体使用;销售者和处理者会将从提供者得到的数据进行二次加工,此类数据发布时需提交针对数据实体进行的操作信息,数据操作信息是否提交列为数据评价的重要组成部分;溯源数据存储中以数据实体id号为key,溯源记录为value,将不同的键值对通过智能合约进行上链存储;溯源数据查询通过数据实体唯一id号进行查询此数据的溯源记录。

2.根据权利要求1所述的一种基于区块链的物联网数据溯源方法,其特征在于:该方法的具体实现过程如下:

s1)账户和数据信息管理;

1)账户创建;

2)账户注册;

3)账户管理;

4)数据注册;

5)数据管理;

s2)数据进行注册之后,各用户根据自身需求进行数据请求和交换;同时每个用户还能够进行数据任务的发布;

1)数据发布;

2)数据请求;

3)发布任务;

4)执行任务;

5)数据权限管理;

6)数据授权;

s3)溯源记录收集在数据注册交换和用户提交数据修改信息时;

1)用户进行数据注册,数据交换,提交数据修改信息等操作;

2)根据步骤1)中所进行的操作记录溯源数据参数;

3)将溯源参数发送到prov溯源服务;

4)系统接收prov溯源服务返回的溯源记录,随后进行溯源记录存储;

s4)溯源记录存储:

1)溯源记录存储;

s5)溯源记录查询:包含数据流转过程查询和数据实体溯源记录查询;

1)查询数据实体的溯源记录;

2)查询数据实体的流转过程。

3.根据权利要求2所述的一种基于区块链的物联网数据溯源方法,其特征在于:s1)中是针对用户以及数据的注册以及管理;数据溯源针对整个物联网数据共享平台来说只是一个功能部分,在实现数据溯源之前首先要有用户,并且在用户之间需要形成数据的流动过程;首先进行账户创建和账户注册;进行账号创建时,系统会在以太坊平台上为用户生成唯一的以太坊地址;随后进行账户注册,只用经过注册操作之后的用户才能进行系统其他功能操作;账户注册后初始账户余额为0eth;数据注册时需要提供数据提供者、数据拥有者、账户密码、数据名称、ipfs存储信息详细信息。

4.根据权利要求2所述的一种基于区块链的物联网数据溯源方法,其特征在于:s2)中描述有关数据发布订阅以及数据权限访问,在数据进行发布或者订阅过程中,具体角色分为数据提供者和数据消费者;

1)数据发布订阅:数据发布其实在s1中进行数据注册时即以实现,所有用户可通过数据列表查看已发布数据列表,或通过数据名称查询数据;数据订阅即数据请求任务发布,任务发布时需写明请求数据类型、请求数据时限、具体任务奖励;数据请求任务完成后系统自动将消费者发布任务时预存的奖励转入提供者账户中;

2)数据权限访问:数据提供者数据注册之后,系统会初始化数据访问权限;数据消费者请求数据时,系统采用基于权能的访问控制让数据提供者进行请求权能审核,审核通过之后,系统将为请求者进行授权,随后系统会将请求者公钥加密的访问权限添加到数据访问列表中并通知请求者,请求者通过自身私钥解密获取数据访问路径。

5.根据权利要求2所述的一种基于区块链的物联网数据溯源方法,其特征在于:s3)中所述在用户进行数据注册、交换以及提交数据修改时,将触发系统溯源数据参数记录控制逻辑,此时后台逻辑将通过前端页面中的各个字段获取溯源数据参数;随后,系统将此类溯源数据参数通过http协议传给prov溯源服务,prov溯源服务是基于prov数据溯源模型搭建的server,用于溯源记录的生成;服务接受到参数之后会根据prov溯源标准生成溯源记录,随后将生成的溯源记录通过http协议传回系统中,系统检查溯源记录是否为null,为null则重新请求,不为null则进行溯源数据存储。

6.根据权利要求2所述的一种基于区块链的物联网数据溯源方法,其特征在于:s4)中所述为溯源数据存储部分,系统获取溯源记录之后,后台控制逻辑会调用智能合约的abi,以数据实体id号为key、溯源记录为value的键值对存入区块链中;数据id号在进行数据注册时,系统便为此数据实体生成唯一id号;用户提交数据修改记录时,数据已经在系统上进行数据注册操作,无论数据是原始数据或是二次加工数据,都会拥有唯一数据id号。

7.根据权利要求2所述的一种基于区块链的物联网数据溯源方法,其特征在于:s5)中所述溯源记录查询为通过数据实体的id号进行数据溯源查询;数据实体在系统中可能会经过不同用户进行流转,系统对此现象提供数据流转过程查询。

技术总结
本发明公开了一种基于区块链的物联网数据溯源方法,溯源数据搜集中针对物联网数据服务系统中用户的角色进行了划分,以便于使用PROV溯源模型标准进行溯源数据收集。销售者和处理者会将从提供者得到的数据进行二次加工,此类数据发布时需提交针对数据实体进行的操作信息,数据操作信息是否提交列为数据评价的重要组成部分;溯源数据存储中以数据实体ID号为key,溯源记录为value,将不同的键值对通过智能合约进行上链存储;溯源数据查询通过数据实体唯一ID号进行查询此数据的溯源记录。本发明为用户提供在使用数据之前查看数据流转过程的能力,由于区块链去中心化、防篡改、可信存储等特性,实现了物联网数据溯源服务实体的规范自动执行。

技术研发人员:黄志清;任浩方;解鲁阳;燕杨月;谷超
受保护的技术使用者:北京工业大学
技术研发日:2020.01.13
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-21656.html

最新回复(0)