一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2022-04-02 07:48:43 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,具体涉及一种基于区块链的物联网数据存证方法。


背景技术:

2.物联网是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、 连接、互动的物体或过程,采集其声、光、热、电、位置等各种需要的信息。将各种信息传感设备与网络结合起来而形成的一个巨大网络,实现任何时间、任何地点,人、机、物的互联互通。通过射频识别、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络。物联网不仅实现了物的互联,同时也能够收集大量的传感数据及设备运行数据,如传感器数据、设备使用数据等。这些数据收集后,构成数据积累,具有巨大的价值。然而电子数据长期存储不仅存在丢失的风险,也存在被篡改导致数据失去真实性的风险。通过区块链存证能够提供可靠的数据存证,但物联网中不仅数据量大,而且无时无刻不再产生数据,需要频繁的使用区块链存证。不仅给区块链的运行带来巨大的压力,同时也给物联网数据运行方带来资金压力。因而需要研究一种适合物联网收集数据存证的技术。
3.如中国专利cn111461735a,公开日2020年7月28日,一种基于物联网的区块链溯源系统,属于区块链技术领域,区块链服务器设有有处理器,处理器数据连接有数据采集模块、防伪溯源模块、数据储存模块和追溯查询模块,数据采集模块数据连接有摄像机、音频采集器和输入设备,防伪溯源模块数据连接有智能监控子系统、信息追加模块和防伪码生成模块,该基于物联网的区块链溯源系统方便人们通过身份标识,获得对应产品的特征信息和相关物品信息,增强了人们对产品的认知度,对人们具有较强的指导性,并且产品在流转的过程中都会进行记录,保留一切操作痕迹,从客观上提高了产品生产和流动的透明度,保证了溯源系统数据的真实性和可靠性,使产品追溯更加高效和可靠。但其技术方案并未考虑到在物联网中大量使用时,对区块链系统带来的压力和使用区块链的费用成本问题。


技术实现要素:

4.本发明要解决的技术问题是:目前缺乏能够较少上链存证频率的数据存证方案的技术问题。提出了一种基于区块链的物联网数据存证方法,本方法能够减少物联网数据需要将数据上传区块链的频率,同时提供足够的可信度。
5.为解决上述技术问题,本发明所采取的技术方案为:一种基于区块链的物联网数据存证方法,包括:若干个数据节点组成存证群,存证群选举一个数据节点作为服务节点,所述服务节点为数据节点分配序号;设定存证周期t,将存证周期划分为n个子周期;若干个数据节点在子周期结束后,提取子周期内数据的哈希值关联时间戳存储,将哈希值关联序号发送给服务节点;存证周期t结束后,所述服务节点收到全部数据节点在每个小周期的哈希值,所述服务节点建立拟合函数:哈希值=f(序号,t_i),t_i为子周期序号,t_i∈[1,n],
拟合函数符合预设的误差阈值;所述服务节点将拟合函数f(序号,t_i)的表达式发送给全部数据节点,数据节点将拟合函数f(序号,t_i)的表达式关联时间戳存储;所述服务节点将拟合函数f(序号,t_i)的表达式上传区块链存储,重新选举服务节点进入下一个存证周期;验证已存证数据时,提取子周期内的数据哈希值,将子周期序号和序号代入拟合函数f(序号,t_i)的表达式,若拟合函数得出的哈希值与数据哈希值的差距在预设的误差阈值范围内,则判定数据未被篡改,反之,则判定数据已被篡改。
[0006]
作为优选,所述服务节点建立拟合函数后,记录拟合函数在计算全部数据节点在每个小周期的哈希值时的最大误差,将最大误差签名后关联拟合函数f(序号,t_i)的表达式发送给全部数据节点。
[0007]
作为优选,所述服务节点建立拟合函数时,使用最小二乘法计算拟合误差。
[0008]
作为优选,所述服务节点建立的拟合函数为多项式拟合函数,所述多项式拟合函数的形式表达式为:哈希值=∑∑aij*序号^i*子周期序号^j,其中i,j∈[0,m],m为多项式拟合函数中多项式的最高次项的次数,aij为项系数。
[0009]
作为优选,所述服务节点提取拟合函数f(序号,t_i)的表达式中的项系数,构成项系数之间使用间隔符构成项系数文本,将项系数文本上传区块链存储,获得对应的区块高度和区块哈希值,将拟合函数f(序号,t_i)的表达式与区块高度及区块哈希值发送给数据节点。
[0010]
作为优选,所述服务节点收到全部数据节点在每个小周期的哈希值后,按小周期将哈希值分组,将数据节点排序,按数据节点的排序排列每组哈希值,统计比相邻的两个哈希值均大以及比相邻的两个哈希值均小的哈希值数量,记为每组哈希值的组特征值,全部分组的组特征值的和记为特征和,所述服务节点调整数据节点的排序使得特征和取得最小值,按照调整后的数据节点排序,重新生成数据节点的序号,将序号调整发送给数据节点,将拟合函数f(序号,t_i)的表达式发送给全部数据节点。
[0011]
作为优选,若干个数据节点在子周期结束后,提取子周期内数据的哈希值关联时间戳存储,将哈希值的末尾n位关联序号发送给服务节点;存证周期t结束后,所述服务节点收到全部数据节点在每个小周期的哈希值的末尾n位,所述服务节点建立拟合函数:哈希值的末尾n位=f(序号,t_i),t_i为子周期序号,t_i∈[1,n],拟合函数符合预设的误差阈值。
[0012]
本发明的实质性效果是:生成拟合函数后,将多个数据节点的数据形成了绑定,提供了新的途径判断数据是否被篡改,即提高了篡改数据的算力成本和时间成本,进而允许延长两次借助区块链存证之间的时间间隔,降低对区块链的使用频率,从而降低区块链存证费用;采用序号调整方案能够简化拟合函数的复杂程度,降低拟合误差,同时不降低篡改难度。
附图说明
[0013]
图1为实施例一物联网数据存证方法示意图。
[0014]
图2为实施例一物联网数据节点存储示意图。
[0015]
图3为实施例一调整数据节点序号示意图。
[0016]
其中:11、数据节点,12、存证标签。
具体实施方式
[0017]
下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
[0018]
实施例一:一种基于区块链的物联网数据存证方法,请参阅附图1,包括:步骤a01)若干个数据节点11组成存证群,存证群选举一个数据节点11作为服务节点,服务节点为数据节点11分配序号;步骤a02)设定存证周期t,将存证周期划分为n个子周期;步骤a03)若干个数据节点11在子周期结束后,提取子周期内数据的哈希值关联时间戳存储,将哈希值关联序号发送给服务节点;步骤a04)存证周期t结束后,服务节点收到全部数据节点11在每个小周期的哈希值,服务节点建立拟合函数:哈希值=f(序号,t_i),t_i为子周期序号,t_i∈[1,n],拟合函数符合预设的误差阈值;步骤a05)服务节点将拟合函数f(序号,t_i)的表达式发送给全部数据节点11,数据节点11将拟合函数f(序号,t_i)的表达式关联时间戳存储;步骤a06)服务节点将拟合函数f(序号,t_i)的表达式上传区块链存储,重新选举服务节点进入下一个存证周期;步骤a07)验证已存证数据时,提取子周期内的数据哈希值,将子周期序号和序号代入拟合函数f(序号,t_i)的表达式,若拟合函数得出的哈希值与数据哈希值的差距在预设的误差阈值范围内,则判定数据未被篡改,反之,则判定数据已被篡改。服务节点建立的拟合函数为多项式拟合函数,多项式拟合函数的形式表达式为:哈希值=∑∑aij*序号^i*子周期序号^j,其中i,j∈[0,m],m为多项式拟合函数中多项式的最高次项的次数,aij为项系数。服务节点建立拟合函数时,使用最小二乘法计算拟合误差。服务节点建立拟合函数后,记录拟合函数在计算全部数据节点11在每个小周期的哈希值时的最大误差,将最大误差签名后关联拟合函数f(序号,t_i)的表达式发送给全部数据节点11。
[0019]
服务节点提取拟合函数f(序号,t_i)的表达式中的项系数,构成项系数之间使用间隔符构成项系数文本,将项系数文本上传区块链存储,获得对应的区块高度和区块哈希值,将拟合函数f(序号,t_i)的表达式与区块高度及区块哈希值发送给数据节点11。
[0020]
不同于现有技术中,将数据的哈希值上传到区块链存储,验证数据的哈希值与区块链上的存储的哈希值是否相同即可验证数据是否被篡改过。请参阅附图2,本实施例提供的技术方案是将数据的哈希值与序号和小周期序号之间的匹配关系,在区块链上固定存储。建立数据的哈希值与数据序号和小周期序号的拟合函数,多个数据节点11具有相同的拟合函数,将拟合函数上传到区块链即可。在存证周期t结束后,在存储空间追加存证标签12,将拟合函数存储在存证标签12中即可。本实施例中存证周期t为6小时,每个存证周期划分60个小周期,每个小周期6分钟。6分钟采集的数据会产出一个哈希值,哈希值最终满足拟合函数,能够提供较为及时的数据存证。若需要更加频繁的建立存证,则减小小周期的长度即可。由于数据的哈希值近乎是随机的,因而哈希值与序号和小周期序号之间的也没有直接的函数关系。但多项式拟合理论上能够拟合任意函数。在周期t内,多个数据节点11采集到的数据能够建立同一个形式的多项式拟合函数。因而多个数据节点11的数据的存证,只需要将建立的拟合函数上传到区块链进行存储即可。随着区块链的运行,区块链上存储的数据将越来越多,最终将导致将数据固定在区块链上的成本越来越高,而本实施例仅需要起始阶段,将少量的数据存储在区块链上,随后进行存证时,并不会因为每次存证而产生新的需要在区块链存储的数据,因而更适合在区块链上进行物联网数据的存证。因为物联网不仅数据量大,且传感器、设备监测器等,无时无刻不停歇的持续产生数据。采用本实施例
的方案,能够减轻区块链的负担。仅需要消耗区块链上的部分算力即可完成存证。
[0021]
物联网存证后的数据中,需要验证是否被篡改的机会并不多。因此,将数据永久的存储在区块链上,对区块链节点的存储资源而言并不划算。大部分不需要验证的已存证数据,在存证前后,对区块链仅消耗了少量算力,之后便再无负担,降低了对区块链资源的消耗。
[0022]
多项式拟合理论上能够拟合任意函数,且样本数据的增减趋势变化越少,多项式的项数量越少,多项式越简单。为了获得更为简化的拟合函数,本实施例对哈希值重新进行了排序。请参阅附图3,包括:步骤b01)服务节点收到全部数据节点11在每个小周期的哈希值后,按小周期将哈希值分组;步骤b02)将数据节点11排序,按数据节点11的排序排列每组哈希值;步骤b03)统计比相邻的两个哈希值均大以及比相邻的两个哈希值均小的哈希值数量,记为每组哈希值的组特征值;步骤b04)全部分组的组特征值的和记为特征和,服务节点调整数据节点11的排序使得特征和取得最小值;步骤b05)按照调整后的数据节点11排序,重新生成数据节点11的序号,将序号调整发送给数据节点11,将拟合函数f(序号,t_i)的表达式发送给全部数据节点11。
[0023]
若干个数据节点11在子周期结束后,提取子周期内数据的哈希值关联时间戳存储,将哈希值的末尾n位关联序号发送给服务节点;存证周期t结束后,服务节点收到全部数据节点11在每个小周期的哈希值的末尾n位,服务节点建立拟合函数:哈希值的末尾n位=f(序号,t_i),t_i为子周期序号,t_i∈[1,n],拟合函数符合预设的误差阈值。哈希算法中产生的哈希值长度不一,如sha256产生256位的16进制数,这个数值直接进行拟合函数的计算,会导致运算涉及的数过大,降低计算效率,因而本实施例提供了采用哈希值末尾n位参与拟合函数计算的方案。当n取值10时,拟合函数的计算涉及10位16进制数,即2^40,处于数据格式bigint能够表示的数值范围,因而能够方便的各种系统中直接的获得计算兼容。数据被篡改后,哈希值的末尾10位不发生变化的概率为1/16^10,仍然是一个极小的概率。
[0024]
本实施例的有益技术效果是:生成拟合函数后,将多个数据节点11的数据形成了绑定,提供了新的途径判断数据是否被篡改,即提高了篡改数据的算力成本和时间成本,进而允许延长两次借助区块链存证之间的时间间隔,降低对区块链的使用频率,从而降低区块链存证费用;采用序号调整方案能够简化拟合函数的复杂程度,降低拟合误差,同时不降低篡改难度。
[0025]
以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献