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

适用于物联网的区块链区块打包方法、系统及电子设备与流程

2022-05-21 14:30:02 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,具体为一种适用于物联网的区块链区块打包方法、系统及电子设备。


背景技术:

2.物联网系统是一套包括终端设备、通信单元、服务端的软硬件系统,为人们的生产、生活提供服务,其发送的大量物联网数据如环境温湿度、仓储信息、消费金额、硬件状态等,应该是真实可靠的,并且系统内数据应防盗取、防篡改,为此已有一些技术方案将区块链与物联网融合,保证了系统数据的安全、可靠、可追溯的性能;但受限于区块链的系统特性,无法完成数据的实时响应,比如在操作人员下发设备控制指令或用户购买商品后,可能要等待十几秒后系统才有响应结果,无法满足日常生产、生活的效率问题。
3.因此,急需一种适应于物联网的新区块链系统,提高效率且兼顾安全。


技术实现要素:

4.本发明的目的在于克服现有物联网区块链系统响应时间太长的问题,提供了一种适用于物联网的区块链区块打包方法、系统及电子设备。
5.为了实现上述目的,本发明提供一种适用于物联网的区块链区块打包方法,包括以下步骤:
6.获取物联网设备发送的交易数据,将所述交易数据发送至节点x,所述节点x对接收到的所述交易数据进行验证,验证成功后将所述交易数据进行打包形成区块n 1;
7.所述节点x对所述区块n 1的前一个区块n进行验证并选择所述区块n以前的随机一个区块m作为所述区块n 1的背书区块,根据所述区块m确定所述区块m对应的产出节点y作为所述区块n 1的背书节点,所述节点y对所述区块n 1的合法性进行验证;
8.对所述区块n和所述区块n 1都验证成功后,将所述区块n和所述区块m的信息写入所述区块n 1中,所述区块n 1成为区块链中形成的最新的区块。
9.作为一种可实施方式,还包括:当所述区块n 1被后续节点判定为非法后,确认验证所述区块n 1的节点y为异常节点或不可靠节点,确认所述节点y产出的区块m以及之后形成的所有区块均为非法,将所述区块m以及之后形成的所有区块进行丢弃,后续打包则从区块m-1之后重新开始打包所述物联网设备发送的交易数据。
10.作为一种可实施方式,根据所述区块m确定所述区块m对应的产出节点y的步骤包括:
11.获取所述区块m的区块头中的产出节点的id和数字签名,根据所述产出节点的id和数字签名确定所述区块m对应的产出节点y。
12.作为一种可实施方式,所述节点x对所述区块n 1的前一个区块n进行验证的验证内容包括:
13.所述节点x将区块n整体作为一个整体数据计算哈希值,与所述区块n的区块头中
的当前区块哈希值进行比较;所述节点将所述区块n的区块数据作为一个整体数据计算哈希值,与所述区块n的区块头中的区块数据哈希值进行比较;所述节点x根据获取的公钥与所述区块n的区块头中的数字签名进行比较;
14.当比较结果不一致时,判定为所述区块n非法,验证不成功;当比较结果一致时,判定为所述区块n合法,验证成功。
15.作为一种可实施方式,所述节点y对所述区块n 1的合法性进行验证的验证内容包括:
16.所述节点x将所述区块n 1整体发送至所述节点y,所述节点y将区块n 1整体作为一个整体数据计算哈希值,与所述区块n 1的区块头中的当前区块哈希值进行比较;所述节点y将所述区块n 1的区块数据作为一个整体数据计算哈希值,与所述区块n 1的区块头中的区块数据哈希值进行比较;所述节点y根据获取的公钥与所述区块n 1的区块头中的数字签名进行比较;
17.当比较结果不一致时,判定为所述区块n 1非法,验证不成功,当比较结果一致时,判定为所述区块n 1合法,验证成功。
18.相应的,本发明还提供了一种适用于物联网的区块链区块打包系统,其特征在于,包括以下模块:
19.打包模块:获取物联网设备发送的交易数据,将所述交易数据发送至节点x,所述节点x对接收到的所述交易数据进行验证,验证成功后将所述交易数据进行打包形成区块n 1;
20.验证模块:所述节点x对所述区块n 1的前一个区块n进行验证并选择所述区块n以前的随机一个区块m作为所述区块n 1的背书区块,根据所述区块m确定所述区块m对应的产出节点y作为所述区块n 1的背书节点,所述节点y对所述区块n 1的合法性进行验证;
21.区块形成模块:对所述区块n和所述区块n 1都验证成功后,将所述区块n和所述区块m的信息写入所述区块n 1中,所述区块n 1成为区块链中形成的最新的区块。
22.作为一种可实施方式,还包括:区块丢弃模块:当所述区块n 1被后续节点判定为非法后,确认验证所述区块n 1的节点y为异常节点或不可靠节点,确认所述节点y产出的区块m以及之后形成的所有区块均为非法,将所述区块m以及之后形成的所有区块进行丢弃,后续打包则从区块m-1之后重新开始打包所述物联网设备发送的交易数据。
23.作为一种可实施方式,根据所述区块m确定所述区块m对应的产出节点y的步骤包括:
24.获取所述区块m的区块头中的产出节点的id和数字签名,根据所述产出节点的id和数字签名确定所述区块m对应的产出节点y。
25.相应的,本发明还提供了一种电子设备,包括:至少一个处理器,与至少一个所述处理器通信连接的存储器;至少一个所述处理器用于读取所述存储器中的程序,用于执行所述方法。
26.相应的,本发明还提供了一种计算机可读存储介质,其特征在于,所述介质上存储有指令,当所述指令在计算机上运行时,使得计算机执行所述方法。
27.本发明的有益效果:本发明将现有技术中的普通节点和打包节点融合为了一个节点,且当产生一条物联网交易数据后立即开始打包为区块,节省了原系统中的数据打包等
待时间,所述节点负责验证交易数据、产生区块、验证其他区块,并生成的区块放入区块链区块链,改进后的物联网区块链系统收到的数据立即得到了处理,不但提高了区块效率,同时也保证了其数据可靠性,更加适用于物联网。
附图说明
28.图1为本发明适用于物联网的区块链区块打包方法流程示意图。
29.图2为传统物联网的区块链区块打包方法整体过程示意图。
30.图3为本发明适用于物联网的区块链区块打包方法整体过程示意图。
31.图4为本发明适用于物联网的区块链区块打包方法以物联网设备传感器为物联网设备的过程示意图。
具体实施方式
32.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
33.参见图2为现有物联网区块链系统中物联网设备数据被打包成区块的流程图,首先由物联网设备产生物联网数据并发送至区块链系统的普通节点,其中,物联网设备包括设备管理台、数据监控室、商户收银台、物联网设备自动贩卖机、物联网设备机器人、物联网设备传感器、物联网设备手机等;所述普通节点对所述物联网数据的正确性进行验证,验证成功后,将所述物联网数据加入所述普通节点的本地交易池;再将所述物联网数据发送至由共识算法选出的打包节点并将所述物联网数据存储在所述打包节点的交易池,由共识算法选出的所述打包节点交易池中累计有一定数量的物联网数据后,将数据进行打包并生成新的区块,如图2所示为依次打包形成的区块j、

、区块m、

、区块n、区块n 1和区块n 2,每个区块中都包含有一定条数的物联网数据,打包完成后,所述打包节点将打包结果通知给普通节点,由普通节点更新本地交易池。
34.但是,在以上介绍的现有物联网区块链系统中,存在着如下缺点:一是参与环节多,具体的,系统包括普通节点、打包节点,涉及到通信与信息同步,消耗时间;二是打包时间长,现有区块链1.0采用pow共识算法,消耗大量计算资源才能出一个区块,出一个区块约10分钟;现有区块链2.0如区块链使用poa共识算法,需要约14秒出一个区块,对于物联网领域来说,耗费时间都过长;三是打包流程长,物联网数据从进入系统到成为区块的一部分,涉及多个环节,大约需要6个步骤,各环节的本地处理以及网络通信都会消耗时间。
35.而在本实施例中,将所述普通节点和所述打包节点融合为了一个角色,本文直接称之为节点,且当产生一条物联网交易数据后立即开始打包为区块,节省了原系统中的数据打包等待时间,所述节点负责验证交易数据、验证历史区块,并产将新的数据打包放入区块链区块链,改进后的物联网区块链系统收到的数据立即得到了处理。
36.参见图1,本实施例提供一种技术方案:一种适用于物联网的区块链区块打包方法,包括以下步骤:
37.步骤s100,获取物联网设备发送的交易数据,将所述交易数据发送至节点x,所述
节点x对接收到的所述交易数据进行验证,验证成功后将所述交易数据进行打包形成区块n 1;
38.步骤s200,所述节点x对所述区块n 1的前一个区块n进行验证并选择所述区块n以前的随机一个区块m作为所述区块n 1的背书区块,根据所述区块m确定所述区块m对应的产出节点y作为所述区块n 1的背书节点,所述节点y对所述区块n 1的合法性进行验证;
39.步骤s300,对所述区块n和所述区块n 1都验证成功后,将所述区块n和所述区块m的信息写入所述区块n 1中,所述区块n 1成为区块链中形成的最新的区块。
40.在本实施例中,n的值大于1,所述节点x指代某一个节点,但不是指特定一个节点。
41.具体的,参见图3,所述物联网设备包括设备管理台、数据监控室、商户收银台、物联网设备自动贩卖机、物联网设备机器人、物联网设备传感器、物联网设备手机等,也可以为轨道交通的设备等,所述物联网设备每产生一条交易数据就将交易数据发送至节点,所述节点每接收到一条交易数据就进行打包,依次打包形成区块j、

、区块m、

、区块n、区块n 1和区块n 2,其中,每个区块都包含区块头信息和区块数据,所述区块头信息包括区块产出节点id和数字签名、产出时间、前一个区块的哈希值、前一个区块以前随机选择的区块的哈希值、当前区块哈希值、区块数据哈希值、数据部分大小,所述区块数据包括交易数据。
42.所述区块n 1形成后,再次形成新的区块n 2时,产出区块n 2的节点会选择对区块n 1进行验证;或者,当所述区块n 1被随机选中进行验证时,则会再次对所述区块n 1的合法性进行验证;此时当所述区块n 1被后续节点判定为非法后,确认验证所述区块n 1的节点y为异常节点或不可靠节点,确认所述节点y产出的区块m以及之后形成的所有区块均为非法,将所述区块m以及之后形成的所有区块进行丢弃,后续打包则从区块m-1之后重新开始打包所述物联网设备发送的交易数据。
43.具体的,当所述区块n 1被确认为非法后,由于在所述区块n 1形成的过程中,是由所述区块m的产出节点y对区块n 1进行验证,确认其是合法的,因此当所述区块n 1被确认为非法后,说明验证区块n 1的节点y产生的异常或者节点y为不可靠节点,其对应产出的所述区块m则会被确认非法并踢出节点,而由于生成区块m 1时,会对区块m进行验证,保证区块m的合法,因此当所述区块m不合法时,对所述区块m进行验证的所述区块m 1的产出节点也为异常或不可靠节点,其对应产出的所述区块m 1则会被确认非法并踢出节点,以此类推,对所述区块m以及之后的所有数据均为不可信数据并需要进行丢弃,后续所述物联网设备发送的数据则从区块m-1之后进行打包为新的区块m。
44.执行步骤s200,根据所述区块m确定所述区块m对应的产出节点y的步骤包括:
45.获取所述区块m的区块头中的产出节点的id和数字签名,根据所述产出节点的id和数字签名确定所述区块m对应的产出节点y。
46.所述节点x对所述区块n 1的前一个区块n进行验证的验证内容包括:
47.所述节点x将区块n整体作为一个整体数据计算哈希值,与所述区块n的区块头中的当前区块哈希值进行比较;所述节点将所述区块n的区块数据作为一个整体数据计算哈希值,与所述区块n的区块头中的区块数据哈希值进行比较;所述节点x根据获取的公钥与所述区块n的区块头中的数字签名进行比较;
48.当比较结果不一致时,判定为所述区块n非法,验证不成功;当比较结果一致时,判定为所述区块n合法,验证成功。
49.所述节点y对所述区块n 1的合法性进行验证的验证内容包括:
50.所述节点x将所述区块n 1整体发送至所述节点y,所述节点y将区块n 1整体作为一个整体数据计算哈希值,与所述区块n 1的区块头中的当前区块哈希值进行比较;所述节点y将所述区块n 1的区块数据作为一个整体数据计算哈希值,与所述区块n 1的区块头中的区块数据哈希值进行比较;所述节点y根据获取的公钥与所述区块n 1的区块头中的数字签名进行比较;
51.当比较结果不一致时,判定为所述区块n 1非法,验证不成功,当比较结果一致时,判定为所述区块n 1合法,验证成功。
52.需要说明的是,判定区块非法的情况有多种,例如:当前区块的整体计算哈希值,当结果与当前区块头记录的“当前区块hash”不一致时认定为非法;或者,进入系统的节点都是系统控制的,不可任意接入,且加入后,系统会分配一套密钥(公钥 私钥),节点使用私钥(不可泄露)为产出的区块生成数字签名,放在区块头中,其他节点使用当前产出区块节点的公钥(可公开)进行区块验证,非法节点在系统中,无法被找到发放公钥,则无法验证区块;或者,区块头中的几个字段如“产出时间”小于当前时间,“区块数据哈希值”错误等都会判定为区块非法;
53.在本实施例中,所述区块n 1的产出节点x验证所述区块n 1的前一个区块n的原因是:保证所述区块n是合法的。
54.在本实施例中,所述节点选择所述区块n以前的随机一个区块m作为所述区块n 1的背书区块,并根据所述区块m确定所述区块m对应的产出节点y作为所述区块n 1的背书节点的原因是:首先,确保每个节点进入系统后,不仅有产生区块的能力,还必须具备验证其他区块合法性的能力;其次,由于所述节点y是在随机选择区块m的基础上选出的,说明所述节点y的选择在一定范围内也具有一定的随机性,这样就能保证系统内所有节点都能参与区块的验证,防止系统不被某一个节点独占;若独占,则会产生“一家独大”的现象,任意伪造数据;而在本实施例中,参与到系统内的所有节点,都服从一个共识,即自己产区块,其他节点来验证,达成一个公平的共识;最后,需要说明的是,向前选择的节点y的位置,可以动态调整,也可以是固定值。
55.具体的,例如如图4所示,所述物联网设备传感器发送交易数据给节点x,所述节点x对所述交易数据进行验证,验证内容包括:数据完整性校验,数据签名校验;验证成功后,打包为区块n 1,可以看到,目前系统里已经存在有区块e、

、区块j、

、区块m、

、区块n,每个区块中包含有一条交易数据,首先,所述区块n 1的产出节点x对所述区块n 1的前一个区块n进行验证,验证内容包括区块n整体的哈希值、区块n内部存储数据的哈希值、区块n产出节点的数字签名;接着,所述区块n 1的产出节点x选择所述区块n以前形成的任意一个区块m作为背书节点,根据所述区块m内部存储的产出节点的id和数字签名找到节点y,将所述节点y作为所述区块n 1的背书区块,所述节点x将所述区块n 1整体发送给所述节点y,所述节点y对所述区块n 1的合法性进行验证,验证内容包括区块n 1整体的哈希值、区块n 1内部存储数据的哈希值、区块n 1产出节点的数字签名,对所述区块n和所述区块n 1都验证成功后,将所述区块m和所述区块n的信息写入所述区块n 1,所述区块n 1则成为区块链中最新的区块,而当要再形成新的区块n 2时,则可以选择区块n 1对其进行验证,并选择区块n 1以前的任意一个区块以及选出的区块的产出节点分别作为背书区块和背书节点,例如选
择区块j,所述区块j的产出节点对所述区块n 2进行验证,都验证成功后,再次形成新的区块n 2,以此类推,实现接入节点可控。
56.在本实施例中,每一个区块不再需要累计多条交易数据后再开始打包,所述节点收到一条交易数据后立即开始将其打包生成新的区块,并将其加入系统,改进后的物联网区块链系统收到的数据立即得到了处理,节省了原系统中的交易数据打包等待时间;同时系统不再需要交易池作为交易数据的缓存区域,避免了交易数据长期贮存交易池不被处理的风险。
57.本实施例的节点负责验证交易数据、产生区块、验证其他区块,并生成的区块放入区块链区块链,不但提高了区块效率,同时也保证了系统中数据的可靠性,更加适用于物联网。
58.本实施例不再使用区块链已有的pow或poa算法,各个节点采用适合物联网的消息功能模块kafka,其中,kafka是一个高吞吐量的分布式发布订阅消模块,适用于多个系统间的消息处理与数据同步;通过此模块的分布式消息处理机制,在系统内共享新生成的区块,完成“共同记账”,但是,需要说明的是,此方法仅适用于接入节点可控的私有链或联盟链,最终实现了只需要毫秒级的处理时间,等待时间大大减少的技术效果。
59.基于同一发明构思,本发明实施例还提供一种适用于物联网的区块链区块打包系统,包括以下模块:
60.打包模块:获取物联网设备发送的交易数据,将所述交易数据发送至节点x,所述节点x对接收到的所述交易数据进行验证,验证成功后将所述交易数据进行打包形成区块n 1;
61.验证模块:所述节点x对所述区块n 1的前一个区块n进行验证并选择所述区块n以前的随机一个区块m作为所述区块n 1的背书区块,根据所述区块m确定所述区块m对应的产出节点y作为所述区块n 1的背书节点,所述节点y对所述区块n 1的合法性进行验证;
62.区块形成模块:对所述区块n和所述区块n 1都验证成功后,将所述区块n和所述区块m的信息写入所述区块n 1中,所述区块n 1成为区块链中形成的最新的区块。
63.还包括:
64.区块丢弃模块:当所述区块n 1被后续节点判定为非法后,确认验证所述区块n 1的节点y为异常节点或不可靠节点,确认所述节点y产出的区块m以及之后形成的所有区块均为非法,将所述区块m以及之后形成的所有区块进行丢弃,后续打包则从区块m-1之后重新开始打包所述物联网设备发送的交易数据。
65.根据所述区块m确定所述区块m对应的产出节点y的步骤包括:
66.获取所述区块m的区块头中的产出节点的id和数字签名,根据所述产出节点的id和数字签名确定所述区块m对应的产出节点y。
67.基于同一发明构思,本发明实施例还提供一种电子设备,关于组成部分,可参见前述相关说明,重复之处不再冗述,包括:至少一个处理器,与所述至少一个处理器通信连接的存储器;所述至少一个处理器用于读取所述存储器中的程序,用于执行上面所述方法。
68.基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,关于组成部分,可参见前述相关说明,重复之处不再冗述,所述介质上存储有指令,当所述指令在计算机上运行时,使得计算机执行上面所述方法。
69.本发明虽然己以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
再多了解一些

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

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

相关文献