本发明专利技术公开了一种支持物联网数据增量更新的区块链存储方法。本发明专利技术对数据进行分块操作,处理成碎片数据后再计算MD5值,处理后的MD5值被传输至全节点域。全节点调用智能合约,执行自适应PoW算法完成上链操作。碎片数据被传输至存储域进行存储,存储节点存储成功后,发送存储凭证至全节点域。在数据更新阶段,边缘节点对比修改前后的碎片数据的MD5值,筛选出发生数据变更的碎片进行上传,降低了存储空间的浪费。本发明专利技术实现了数据的增量更新,有效降低了数据服务器中存储空间的消耗。此外,利用难度自适应的PoW算法,提高了区块链网络的交易效率。
【技术实现步骤摘要】
一种支持物联网数据增量更新的区块链存储方法
本专利技术涉及通过数据分块操作、智能合约、低功耗共识算法等技术实现一种支持物联网数据增量更新的区块链存储方法,尤其在当前物联网设备产生的数据越来越多的情况下,应用碎片数据存储、低功耗共识算法等技术,可以实现物联网数据增量更新、提高区块链网络的交易效率。
技术介绍
越来越多的设备与互联网连接,成为物联网设备。随着这些设备收集数据的能力越来越强,其数据规模也越来越庞大。这些数据中往往蕴含了很大的价值,可以被用于分析一座城市的管理效率或是反映一个人的健康状况。因此,如何正确高效地对这些数据进行存储是利用这些数据的基础。利用区块链技术,可以解决物联网数据存储中存在的安全性差、防篡改性弱等问题,即将物联网设备的数据存储在中心化数据服务器中,对应的索引信息存储在区块链上,一旦数据被篡改,其生成的索引信息也会发生改变,通过对比存储在区块链上的索引信息,就能判断数据是否被篡改。然而,这种区块链存储方案仍然存在如下问题:1)数据服务器中会有大量存储空间被浪费。在数据更新阶段,为了保证链上索引信息的有效性,设备二次上传的数据不能覆盖原始数据,需要重新计算数据的存储地址进行存储,而二次上传的数据中必然会包含与原始数据内容相同的数据片段,这就会造成存储空间的浪费。2)无法确保数据的可靠性。传统方案中,设备根据一致性哈希算法计算出数据的存储地址,并将数据存储在某台数据服务器中。一旦该数据服务器发生单点故障,存储的数据就有可能丢失。3)传统的区块链共识算法不适合资源受限的物联网设备。参考比特币挖矿所需的算力,如果采用传统的工作量证明(Proof-of-Work,以下简称PoW)作为共识算法,运行在物联网设备上的区块链网络的交易效率会处于极低的水平。但如果选择降低PoW算法的难度,就会降低整个区块链网络的安全性。因此,为了适应物联网场景数据存储的特点,降低对设备算力的要求,需要设计一个低功耗的支持数据增量更新的区块链存储方法。区块链是一种综合运用了分布式数据存储、点对点传输、共识算法、加密算法等多种计算机技术的新型应用程序模型,其本质是一个去中心化的数据库。区块链的底层数据结构是通过加密算法生成的一系列数据块,这些数据块被称作区块。区块中记录了区块链网络中关于交易的信息,同时还包含了前一个区块的哈希值。这个特性保证了这一系列区块是不可篡改的,并且是不能在密码学上伪造的。区块链使用区块存储数据,通过共识算法来将新的区块发布在区块链上,并使用加密算法对发布的区块进行签名,以实现传输、访问环节的身份识别。此外,节点通过使用由脚本语言编写的智能合约,可以对链上数据进行较复杂的处理。当前流行的区块链按照结构可以被分为两类,一类是基于链的区块链,另一类是基于有向无环图的区块链。链式区块链中,区块按照区块上记录的时间戳顺序写入到区块链网络中。由于链式区块链不支持并发的交易执行,因此链式区块链的交易效率通常较低。当区块链上的交易数量增加时,区块链的性能就会线性下降。共识算法是用于解决分布式系统中数据一致性问题的算法,常见的共识算法包括传统分布式系统领域中的Paxos、Raft以及加密货币领域中使用的工作量证明、权益证明、委托权益证明等。当前最大的区块链网络——比特币就使用了基于工作量证明的一致性共识算法。该算法要求网络中的节点去解决一个难度较高但答案易于验证的问题。第一个解决了该问题的节点就获得了当前区块的记账权。但是,基于工作量证明的共识算法存在交易效率低、消耗算力高等问题。以比特币为例,比特币大约每10分钟产生一个区块,区块的大小被设定为1MB,仅仅能够包含3000-4000笔交易,即平均每秒只能处理5-7笔交易。随着比特币上需要处理的交易也越来越多,比特币网络的拥堵情况也越来越严重,交易费用也开始增加。针对这个问题,越来越多的人开始讨论区块链的扩展性问题。基于有向无环图的区块链带来了解决扩展性问题的新思路,有向无环图式区块链是由交易构成的,其中每个节点都可以是交易的发起方或交易的验证方。在节点向区块链网络广播交易前,它需要验证另外两个随机交易,并将当前发布交易链接到这两个随机交易上,这种处理交易的方式被称为异步处理模式,Tangle网络是有向无环图式区块链的一个实现。
技术实现思路
本专利技术针对现有技术的不足,提出了一种支持数据增量更新、数据可靠性较高的区块链存储方法。本专利技术解决技术问题所采取的技术方案为:本专利技术方法涉及边缘域、全节点域、存储域和Tangle域。所述边缘域中的边缘节点在数据存储阶段负责对数据进行预处理,将数据分块成碎片后传输至存储域,计算出来的MD5值传输至全节点域;在数据更新阶段,负责对碎片的MD5值进行对比,筛选出要二次上传的碎片。所述全节点域中的全节点接收来自边缘域的索引信息,并调用智能合约对索引信息进行处理,智能合约在收到来自存储域的存储凭证后,通知全节点对交易进行打包,并通过执行自适应PoW算法,将交易发布到Tangle域中。所述存储域接收来自边缘域的碎片数据,按MD5值在相应位置存储后,生成存储凭证,传输至全节点调用的智能合约处。所述Tangle域存储有各类智能合约以及全节点发布的交易。交易中记录了碎片数据的MD5值以及对应的存储凭证;该方法具体包括以下步骤:步骤1:边缘节点完成对数据的收集,以二进制形式进行存储。步骤2:边缘节点将完整数据均等分割成n份数据碎片,并由数据碎片计算得到对应的MD5值。步骤3:打包数据索引对象rawJSON,将碎片的MD5值、版本号、多个数据源的存储地址、时间戳打包成索引信息,签名后将其发送到指定的全节点处。步骤4:全节点对收到数据包中的签名进行验证,验证通过后调用DSC智能合约等待来自对应数据源的存储凭证。步骤5:边缘节点将数据上传至多份数据源地址,数据源存储成功后,发送存储凭证到智能合约执行所在的交易上。步骤6:智能合约接收到正确的存储凭证后,通知全节点进行交易发布。步骤7:全节点打包索引信息以及对应的存储凭证,创建交易,执行自适应PoW算法,将交易广播至区块链网络中。本专利技术的有益效果:本专利技术在存储阶段,边缘域中的边缘节点对数据进行分块操作。在数据更新阶段,边缘节点并对索引信息进行对比,筛选出需要二次上传的碎片数据,实现了数据的增量更新,有效降低了数据服务器中存储空间的消耗。此外,利用难度自适应的PoW算法,提高了区块链网络的交易效率。附图说明图1为本专利技术使用的系统架构图。图2为智能合约架构图。图3为存储节点、边缘节点、全节点之间的数据流图。图4为本专利技术执行流程图。具体实施方式以下结合附图对本专利技术作进一步说明。如图1所示,该存储方法利用智能合约不可篡改和一致性的特点向模型中的各类节点提供节点身份管理服务和数据管理服务。Tangle域中的各类智能合约包括了节点身份控制合约(nodeidentitycontroll本文档来自技高网...
【技术保护点】
1.一种支持物联网数据增量更新的区块链存储方法,该方法涉及边缘域、全节点域、存储域和Tangle域,其特征在于:/n所述边缘域中的边缘节点在数据存储阶段负责对数据进行预处理,将数据分块成碎片后传输至存储域,计算出来的MD5值传输至全节点域;在数据更新阶段,负责对碎片的MD5值进行对比,筛选出要二次上传的碎片;/n所述全节点域中的全节点接收来自边缘域的索引信息,并调用智能合约对索引信息进行处理,智能合约在收到来自存储域的存储凭证后,通知全节点对交易进行打包,并通过执行自适应PoW算法,将交易发布到Tangle域中;/n所述存储域接收来自边缘域的碎片数据,按MD5值在相应位置存储后,生成存储凭证,传输至全节点调用的智能合约处;/n所述Tangle域存储有各类智能合约以及全节点发布的交易;交易中记录了碎片数据的MD5值以及对应的存储凭证;/n该方法具体包括以下步骤:/n步骤1:边缘节点完成对数据的收集,以二进制形式进行存储;/n步骤2:边缘节点将完整数据均等分割成n份数据碎片,并由数据碎片计算得到对应的MD5值;/n步骤3:打包数据索引对象rawJSON,将碎片的MD5值、版本号、多个数据源的存储地址、时间戳打包成索引信息,签名后将其发送到指定的全节点处;/n步骤4:全节点对收到数据包中的签名进行验证,验证通过后调用DSC智能合约等待来自对应数据源的存储凭证;/n步骤5:边缘节点将数据上传至多份数据源地址,数据源存储成功后,发送存储凭证到智能合约执行所在的交易上;/n步骤6:智能合约接收到正确的存储凭证后,通知全节点进行交易发布;/n步骤7:全节点打包索引信息以及对应的存储凭证,创建交易,执行自适应PoW算法,将交易广播至区块链网络中。/n...
【技术特征摘要】
1.一种支持物联网数据增量更新的区块链存储方法,该方法涉及边缘域、全节点域、存储域和Tangle域,其特征在于:
所述边缘域中的边缘节点在数据存储阶段负责对数据进行预处理,将数据分块成碎片后传输至存储域,计算出来的MD5值传输至全节点域;在数据更新阶段,负责对碎片的MD5值进行对比,筛选出要二次上传的碎片;
所述全节点域中的全节点接收来自边缘域的索引信息,并调用智能合约对索引信息进行处理,智能合约在收到来自存储域的存储凭证后,通知全节点对交易进行打包,并通过执行自适应PoW算法,将交易发布到Tangle域中;
所述存储域接收来自边缘域的碎片数据,按MD5值在相应位置存储后,生成存储凭证,传输至全节点调用的智能合约处;
所述Tangle域存储有各类智能合约以及全节点发布的交易;交易中记录了碎片数据的MD5值以及对应的存储凭证;
该方法具体包括以下步骤:
步骤1:边缘节点完成对数据的收集,以二进制形式进行存储;
步骤2:边缘节点将完整数据均等分割成n份数据碎片,并由数据碎片计算得到对应的MD5值;
步骤3:打包数据索引对象rawJSON,将碎片的MD5值、版本号、多个数据源的存储地址、时间戳打包成索引信息,签名后将其发送到指定的全节点处;
步骤4:全节点对收到数据包中的签名进行验证,验证通过后调用DSC智能合约等待来自对应数据源的存储凭证;
步骤5:边缘节点将数据上传至多份数据源地址,数据源存储成功后,发送存储凭证到智能合约执行所在的交易上;
步骤6:智能合约接收到正确的存储凭证后,通知全节点进行交易发布;
步骤7:全节点打包索引信息以及对应的存储凭证,创建交易,执行自适应PoW算法,将交易广播至区块链网络中。
2.根据权利要求1所述的一种支持物联网数据增量更新的区块链存储方法,其特征在于:所...
【专利技术属性】
技术研发人员:殷昱煜,叶炳跃,梁婷婷,李尤慧子,万健,
申请(专利权)人:杭州电子科技大学,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。