一种基于区块链智能合约的物联网数据存证方法技术

技术编号:32872556 阅读:10 留言:0更新日期:2022-04-02 12:02
本发明专利技术涉及区块链技术领域,具体涉及一种基于区块链智能合约的物联网数据存证方法,包括:在区块链上发布智能合约,智能合约包括预言函数、匹配数发放器和验证器,匹配数发放器接收数据节点发送的十六进制数,代入预言函数,将预言函数的输出作为匹配数反馈给数据节点;物联网的数据节点周期性产生待存证数据,提取待存证数据的哈希值,将哈希值的发送给匹配数发放器,获得匹配数发放器反馈的匹配数;将待存证数据关联哈希值和匹配数存储;验证已存证数据时,将哈希值和匹配数发送给验证器,验证器将哈希值代入预言函数,若预言函数的输出与匹配数相同,则反馈验证通过。本发明专利技术的实质性效果是:提供了新的区块链数据存证方案。提供了新的区块链数据存证方案。提供了新的区块链数据存证方案。

【技术实现步骤摘要】
一种基于区块链智能合约的物联网数据存证方法


[0001]本专利技术涉及区块链
,具体涉及一种基于区块链智能合约的物联网数据存证方法。

技术介绍

[0002]区块链是一个分布式、共享账本,在区块链上记载的数据具有不可篡改、全程留痕、可以追溯、公开透明等特征。这些特点保证了区块链的诚实与透明,为区块链创造信任奠定基础。区块链丰富的应用场景,基本上都基于区块链能够解决信息不对称问题,实现多个主体之间的协作信任与一致行动,降低信任成本,比如在电子数据的存证应用。电子数据具有存储方便、容易传输的特点,但也存在容易被篡改的缺点。随着目前的物联网技术的发展,大量环境检测及设备运输数据被收集起来。将这些物联网收集到的数据采用区块链存证,能够使数据被存证固定,不会遭受篡改,提供真实可靠的数据,具有广泛的应用前景。但物联网中存在的数据节点数量众多,无时无刻不在产生数据,给区块链带来巨大的运算和带宽压力。将数据上传到区块链存在手续费,目前对数据的存证是将数据的哈希值上传到区块链存储,使得单次存证的成本较低。但当存证需要不断进行时,还是会给物联网企业带来了资金上的成本。因而需要研究一种能够减少上链数据的频次,同时又能够提供所需要的真实性证明的技术。
[0003]中国专利CN112954039A,公开日2021年6月11日,一种区块链存证方法,客户端根据预设运算,将密钥、客户端随机数、服务器端随机数、客户端标识,服务器端标识,目标数据和地址信息作为输入,生成客户端验证码;服务器端根据预设运算,把密钥、客户端随机数、服务器端随机数、客户端标识,服务器端标识,目标数据和地址信息作为输入,生成服务器权验证码;服务器验证比对客户端验证码和服务器端认证码相等时,服务器端把存证参数、客户端标识、服务器端标识、地址信息、客户端随机数、服务器端随机数、客户端验证码一起写入区块链。其优点在于只上传存证标识、客户端标识、服务器端标识、地址信息、客户端随机数、服务器端随机数、客户端验证码到区块链;即使大量数据需要存证,也不需要大量的时间上链和链上存储成本。但其不能解决物联网数据需要不断存证时,带来的成本问题。

技术实现思路

[0004]本专利技术要解决的技术问题是:目前缺少能够降低数据上传频次的区块链存证方法的技术问题。提出了一种基于区块链智能合约的物联网数据存证方法,采用智能合约的方式完成数据的存证和验证,不需要将数据的哈希值永久的保存在区块链上,提供了不同的数据存证途径。
[0005]为解决上述技术问题,本专利技术所采取的技术方案为:一种基于区块链智能合约的物联网数据存证方法,在区块链上发布智能合约,所述智能合约包括预言函数、匹配数发放器和验证器,所述预言函数的输入数为十六进制数,预言函数的输出为数值,所述匹配数发
放器接收数据节点发送的十六进制数,代入预言函数,将预言函数的输出作为匹配数反馈给所述数据节点;物联网的数据节点周期性产生待存证数据,提取待存证数据的哈希值,将哈希值的发送给匹配数发放器,获得匹配数发放器反馈的匹配数;将待存证数据关联哈希值和匹配数存储,完成本周期待存证数据的存证;验证已存证数据时,将哈希值和匹配数发送给验证器,所述验证器将哈希值代入预言函数,若预言函数的输出与匹配数相同,则反馈验证通过,反之,则反馈验证失败。
[0006]作为优选,所述预言函数为以输入数为自变量的多项式,所述智能合约周期性更换预言函数,更换预言函数的方法包括:记录多项式的项系数,构成系数向量,将系数向量关联时间戳保存;生成随机数作为新的多项式的项系数;验证数据时,同时提交数据存证的时间戳,所述验证器根据时间戳获得数据存证时对应的预言函数,进行验证。
[0007]作为优选,所述数据节点将哈希值的末尾N位发送给匹配数发放器,获得哈希值的末尾N位对应的匹配数,将待存证数据关联哈希值和匹配数存储,验证已存证数据时,将哈希值的末尾N位和匹配数发送给验证器,所述验证器将哈希值代入预言函数,若预言函数的输出与匹配数相同,则反馈验证通过,反之,则反馈验证失败。
[0008]作为优选,所述预言函数的输入包括输入数和时间戳,所述预言函数为多项式项和时间戳项的和,所述多项式项为输入数的多项式,所述时间戳项为时间戳与起始时间戳的差值与权重的乘积,所述权重大于多项式项的取值范围的最大值,所述数据节点将时间戳和哈希值的末尾N位发送给匹配数发放器,匹配数发放器验证时间戳与当前时间的差值是否小于预设阈值,若时间戳差值小于预设阈值,则匹配数发放器将数据节点提交的时间戳和哈希值末尾N位代入预言函数,获得匹配数发放器反馈的匹配数,若若时间戳差值不小于预设阈值,则不做操作。
[0009]作为优选,所述智能合约包括多个预言函数,所述匹配数发放器接收数据节点发送的十六进制数,分别代入若干个预言函数,获得若干个预言函数的输出,将若干个预言函数的输出的最小值作为匹配数反馈给所述数据节点,验证已存证数据时,将哈希值和匹配数发送给验证器,所述验证器将哈希值代入若干个预言函数,获得若干个预言函数的输出,预言函数的输出中的最小值与匹配数相同,则反馈验证通过,反之,则反馈验证失败。
[0010]本专利技术的实质性效果是:多个数据节点进行存证时,使用的预言函数是相同的,因而只需要存储预言函数即可,验证数据时采用验证数据节点能够提供正确的与哈希值及预言函数对应的匹配数,因为预言函数是保密的,匹配数只能由智能合约颁发,若数据发生过篡改,则篡改后的数据的哈希值比如与匹配数不再满足对应关系,且不同数据节点之间的匹配数相同的概率极低,因而能够证明拥有正确匹配数的数据未被篡改,本存在方法完成存证不需要在区块链上新增数据,提供了新的区块链数据存证方案。
附图说明
[0011]图1为实施例一物联网数据存证方法流程示意图。
[0012]图2为实施例一周期性更换预言函数方法示意图。
[0013]图3为实施例一数据存证示意图。
[0014]其中:10、待存证数据,20、存证标。
具体实施方式
[0015]下面通过具体实施例,并结合附图,对本专利技术的具体实施方式作进一步具体说明。
[0016]实施例一:一种基于区块链智能合约的物联网数据存证方法,请参阅附图1,包括:步骤A01)在区块链上发布智能合约,智能合约包括预言函数、匹配数发放器和验证器,预言函数的输入数为十六进制数,预言函数的输出为数值,匹配数发放器接收数据节点发送的十六进制数,代入预言函数,将预言函数的输出作为匹配数反馈给数据节点;步骤A02)物联网的数据节点周期性产生待存证数据10,提取待存证数据10的哈希值,将哈希值的发送给匹配数发放器,获得匹配数发放器反馈的匹配数;步骤A03)将待存证数据10关联哈希值和匹配数存储,完成本周期待存证数据10的存证;步骤A04)验证已存证数据时,将哈希值和匹配数发送给验证器,验证器将哈希值代入预言函数,若预言函数的输出与匹配数相同,则反馈验证通过,反之,则反馈验证失败。
[0017]预言函数为以输入数为自变量的多项式,智能合约周期性更换预言函数,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链智能合约的物联网数据存证方法,其特征在于,包括:在区块链上发布智能合约,所述智能合约包括预言函数、匹配数发放器和验证器,所述预言函数的输入数为十六进制数,预言函数的输出为数值,所述匹配数发放器接收数据节点发送的十六进制数,代入预言函数,将预言函数的输出作为匹配数反馈给所述数据节点;物联网的数据节点周期性产生待存证数据,提取待存证数据的哈希值,将哈希值的发送给匹配数发放器,获得匹配数发放器反馈的匹配数;将待存证数据关联哈希值和匹配数存储,完成本周期待存证数据的存证;验证已存证数据时,将哈希值和匹配数发送给验证器,所述验证器将哈希值代入预言函数,若预言函数的输出与匹配数相同,则反馈验证通过,反之,则反馈验证失败。2.根据权利要求1所述的一种基于区块链智能合约的物联网数据存证方法,其特征在于,所述预言函数为以输入数为自变量的多项式,所述智能合约周期性更换预言函数,更换预言函数的方法包括:记录多项式的项系数,构成系数向量,将系数向量关联时间戳保存;生成随机数作为新的多项式的项系数;验证数据时,同时提交数据存证的时间戳,所述验证器根据时间戳获得数据存证时对应的预言函数,进行验证。3.根据权利要求1或2所述的一种基于区块链智能合约的物联网数据存证方法,其特征在于,所述数据节点将哈希值的末尾N位发送给匹配数发放器,获得哈希值的末尾N位对应的匹配数,将待存证数据关联哈希值和匹配数存...

【专利技术属性】
技术研发人员:张金琳俞学劢高航
申请(专利权)人:浙江数秦科技有限公司
类型:发明
国别省市:

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

1