掌桥专利:专业的专利平台
掌桥专利
首页

一种应用于工业物联网的节点快速共识方法

文献发布时间:2023-06-19 10:00:31


一种应用于工业物联网的节点快速共识方法

技术领域

本发明涉及一种应用于工业物联网的节点快速共识方法,属于区块链技术领域。

背景技术

工业物联网,顾名思义,是工业领域的物联网技术。随着信息技术的发展,工业领域内的各个工业系统由多方拥有并协作管理,同时扩展其通信功能以实现灵活性和易于管理,其最初相对封闭的网络结构与互联网的连接愈加紧密,与此同时,传统的互联网的网络安全问题也已经延伸到了工业物联网领域。

区块链最初是用于加密货币的底层技术,它具有隐私性、不可篡改性以及可审计性,因此能够为互联网提供一个可信的执行环境,保障网络数据的完全性。但是,将区块链应用于工业物联网却并不是一件容易的事,因为区块链技术中大多数共识算法对终端设备的算力都要求很高,而工业物联网中的各种终端设备通常不具备这样的算力,而且大多数共识算法协议不一定适用于工业物联网中具有数百万异构资源受限设备的节点。

另外,传统的共识算法存在吞吐量受限,资源消耗,效率低下,存储事务延迟以及检索事务的开销等问题,并且可能导致集中化,因为具有最高挖掘能力的节点可能能够控制网络,例如,在比特币中,挖掘池最终可能会合谋控制账本。而对于现有的轻量级共识算法,大多数通过引入信任管理和惩罚机制来让节点达成一致,该类共识方法的计算成本仅需管理和统计各节点的信任值,通过生成参与共识的各节点的信任值降序列表来选取领导节点。但如果节点受到威胁,则可能会牺牲其信任值并验证、生成恶意交易,从而将其注入区块链账本中。同时传统区块链线性的链式结构对系统的可扩展性和交易吞吐量带来很大的限制,这些都限制了区块链技术在工业物联网中的应用。

发明内容

为了解决目前存在的传统共识算法不适用工业物联网中以保证网络安全的问题,本发明提供了一种应用于工业物联网的节点快速共识方法,通过引入新型的并行验证空间链式结构,来在一个验证周期内交易并行验证;并且在验证节点之间引入了两个级别的随机化以保证网络安全,两个级别的随机化分别为:i)交易级别,其中根据哈希函数输出的最高有效位(下文定义为共识码)随机选择每个交易的验证节点,以及ii)区块链级别,其中根据验证节点的公钥哈希将验证节点随机分配给特定的共识码;同时本申请还设计一种负载均衡策略,来确保区块链的自扩展功能,从而应对吞吐量挑战。

一种应用于工业物联网的节点快速共识方法,所述方法采用并行结构的区块链对网络中各个交易进行并行验证;每个共识周期中,在选择验证节点后,根据验证节点的公钥哈希随机分配对应的共识码,验证节点根据网络中各个交易的哈希值的最高有效位提交交易;同时,设计负载均衡策略实现区块链的自扩展功能;所述节点为工业物联网中的各个终端设备,所验证节点为实现验证功能的终端设备。

可选的,所述方法包括:

S1:选择验证节点,并随机分配对应的共识码;

S2:各验证节点对应收集并验证其共识码范围内的交易,并生成交易区块,将收集并验证的交易记载在交易区块中;KWM值最高的验证节点创建自身交易区块之外,还会创建一个领导区块,用于存储当前共识周期中所有验证节点生成的所有交易区块的哈希值及各验证节点的共识码;

S3:在当前共识周期中,若某一验证节点发生过载,则称该验证节点为过载验证节点,过载验证节点将自身所对应的共识码分为若干个部分,并向网络中其他节点发送请求以请求新的验证节点加入,新的验证节点的产生与S1选择验证节点的方式相同,选择出的新的验证节点的共识码为过载验证节点对应的共识码的一部分。

可选的,所述S1:选择验证节点,并随机分配对应的共识码,包括:

S1.1:网络中所有有兴趣在下一共识周期Δ充当验证节点的节点PN

其中,t

S1.2:网络中各个节点在接收到有兴趣在下一共识周期Δ充当验证节点的各个节点PN

S1.3:验证成功后,网络中各个节点根据所收到的交易tv

S1.4:根据KWM的降序列表确定验证节点及验证节点总数,确定后的验证节点根据自身在KWM的降序列表中位置获取随机分配的共识码;

S1.5:每个验证节点向其他的验证节点发送自己的共识码和确定的验证节点总数,以确保每个验证节点对验证节点总数和对应的共识码范围达成一致。

可选的,KWM值计算公式如下:

其中,n表示哈希值总长度,由哈希函数确定;α

可选的,所述S1.5:每个验证节点向其他的验证节点发送自己的共识码和确定的验证节点总数,以确保每个验证节点对验证节点总数和对应的共识码范围达成一致的验证方法为:每个验证节点通过共识码范围除以验证节点总数来验证每个验证节点共识码的划分。

可选的,所述S2中各验证节点生成交易区块时,通过预先设定交易区块大小或者预先设定生成交易区块的间隔时间生成交易区块。

可选的,每个验证节点使用<<hash(l

可选的,验证节点生成交易区块后,在所生成的交易区块block

可选的,所述验证接收到的新的交易区块的合法性包括:

(1)获取新的交易区块的公钥

(2)使用相应的

(3)验证block

(4)验证交易时间戳是否在预定时间范围内。

可选的,若当前共识周期中的验证节点在下一周期仍然希望充当验证节点,则该验证节点必须使用新的公钥。

本发明有益效果是:

通过引入新型的并行验证空间链式结构,来在一个验证周期内交易并行验证,从而加快了交易的验证速度;并且在验证器之间引入了两个级别的随机化:i)交易级别,其中根据哈希函数输出的最重要特征随机选择每个交易的验证节点,以及ii)区块链级别,其中根据验证者的公钥哈希将验证者随机分配给特定的共识码;两个随机化使得交易的安全得到了保障;同时设计一种负载均衡算法,来确保区块链的自扩展功能,从而应对吞吐量挑战。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例中提出的并行区块链整体空间结构图。

图2是示例网络结构图。

图3是本发明一个实施例中Δ周期内区块生成流程图。

图4是本发明一个实施例中交易并行验证工作流示意图。

图5是本发明一个实施例中共识码形成期间的处理开销示意图。

图6是本发明一个实施例中形成新块的处理开销示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

实施例一:

本实施例提供一种应用于工业物联网的节点快速共识方法,所述方法采用并行结构的区块链对网络中各个交易进行并行验证;每个共识周期中,在选择验证节点后,根据验证节点的公钥哈希随机分配对应的共识码,验证节点根据网络中各个交易的哈希值的最高有效位提交交易;同时,设计负载均衡策略实现区块链的自扩展功能;所述节点为工业物联网中的各个终端设备,所验证节点为实现验证功能的终端设备。

所述方法包括:

S1:选择验证节点,并随机分配对应的共识码;包括:

S1.1:网络中所有有兴趣在下一共识周期Δ充当验证节点的节点PN

其中,t

S1.2:网络中各个节点在接收到有兴趣在下一共识周期Δ充当验证节点的各个节点PN

S1.3:验证成功后,网络中各个节点根据所收到的交易tv

KWM值计算公式如下:

其中,n表示哈希值总长度,由哈希函数确定;α

S1.4:根据KWM的降序列表确定验证节点及验证节点总数,确定后的验证节点根据自身在KWM的降序列表中位置获取随机分配的共识码;

S1.5:每个验证节点向其他的验证节点发送自己的共识码和确定的验证节点总数,以确保每个验证节点对验证节点总数和对应的共识码范围达成一致。

S2:各验证节点对应收集并验证其共识码范围内的交易,并生成交易区块,将收集并验证的交易记载在交易区块中;KWM值最高的验证节点创建自身交易区块之外,还会创建一个领导区块,用于存储当前共识周期中所有验证节点生成的所有交易区块的哈希值及各验证节点的共识码;

S3:在当前共识周期中,若某一验证节点发生过载,则称该验证节点为过载验证节点,过载验证节点将自身所对应的共识码分为若干个部分,并向网络中其他节点发送请求以请求新的验证节点加入,新的验证节点的产生与S1选择验证节点的方式相同,选择出的新的验证节点的共识码为过载验证节点对应的共识码的一部分。

实施例二:

本实施例提供一种应用于工业物联网的节点快速共识方法,以应用于图2所示结构的示例网络中为例进行说明。本申请提供的节点快速共识方法包括四大部分,分别为验证节点的选择、区块的生产、验证节点的变换以及负载平衡;以下分别进行介绍:

一、验证节点的选择

如图2所示,该示例网络中包含有14个区块链节点PN

本申请提供的节点快速共识方法,在进行验证节点选择时,通过随机分配的方式为每个验证节点分配共识码,每个验证节点根据验证节点的公钥pk

假设共识码的设置花费了时间δ,这是生成区块的周期(称为共识周期)Δ的额外时间。

假设各个区块链节点PN

选择验证节点包括以下步骤:

步骤1:网络中所有有兴趣在下一周期Δ充当验证节点的节点PN

其中,t

步骤2:网络中各个节点在接收有兴趣在下一周期Δ充当验证节点的各个节点PN

在验证成功后,网络中各个节点根据所收到的交易tv

KWM值计算公式如下:

其中,n表示哈希值总长度,由哈希函数确定;α

网络中所有节点PN

通常一个网络中验证节点的个数可以是人为确定的,而网络中所有有兴趣在下一周期Δ充当验证节点的节点如果超过了确定的验证节点的个数,则会根据KWM的降序列表从上到下依次进行选择,图2所示的示例网络中确定的验证节点的个数即为5,因此,在步骤1中有兴趣在下一周期Δ充当验证节点的5个节点均成为了验证节点,但是各个验证的节点的共识码则是随机分配的。

为便于区分,后续称验证节点为val

KWM的降序列表中KWM

例如,图2所示的网络。表3中KWM

表1:KWM字典示例

表2:基于图2的共识表示例

步骤3:每个验证节点向其他的验证节点发送自己的共识码和验证节点总数,以确保每个验证节点对验证节点总数和对应的共识码范围达成一致。验证方法为:每个验证节点通过共识码范围除以验证节点总数来验证每个验证节点共识码的划分。

验证节点确定后,各验证节点对应收集并验证其共识码范围内的交易。图2所示的示例网络中,验证过程请参考图4。

步骤4:KWM的降序列表中具有最高的KWM值的验证节点在创建自身交易区块之外,还会创建一个领导区块。

每个共识周期Δ都有一个领导区块,如图1中灰色区块所示。用于存储当前共识周期Δ期间所有验证节点生成的所有交易区块的哈希值,领导区块的结构为:

领导区块的结构中,第一个字段Total

若某一节点在上一共识周期中不是验证节点,而在当前共识周期成为了验证节点,则称为w中新的验证节点;对于新的验证节点,其

一旦val

二、交易区块的生成

对于新的交易区块的生成可以采用两种模式:

(1)预先设定交易区块大小,根据所设定的区块大小生成新的交易区块;当未决交易(即尚未存储在区块链中的交易)的大小达到预先设定交易区块大小时,val

(2)预先设定生成交易区块的间隔时间,即每隔一定时间生成一个交易区块。

通常,在低交易负载的网络中,可以考虑第(2)种模式生成交易区块,该模式将在区块链中为用户所经历的延迟设置一个上限,该延迟上限即为预先设定生成交易区块的间隔时间。而在具有大量交易的网络中,可以考虑第(1)种模式生成交易区块,并标准化了账本中交易区块的大小。同时将新区块追加到对应的账本中不需要验证节点val

本申请方法中所提出的空间并行链具有非线性结构,因此每个验证节点val

步骤5:在一个共识周期Δ中,当验证节点val

例如,表3中的ID为3的验证节点val

步骤6:为了确保所有验证节点val

步骤7:验证节点val

步骤8:其他验证节点收到新的交易区块block

(1)使用块头中的

(2)使用相应的

(3)验证block

(4)验证交易时间戳是否在预定时间范围内,比如,因为网络延迟,可能造成上交易过期,而过期的交易不能接受的。这类似于常规区块链中的到期时间,用以防止恶意节点可能试图使交易花费多一倍的情况发生。

如果block

三、验证节点变换

在每个共识周期Δ时间中,所有验证节点都会对验证节点列表进行变换,不仅会有新的验证节点加入验证节点列表,并且随着每个Δ的不同,引入了进一步的随机化,即使验证节点的共识码也会的发生变化。

重整过程在时间Δ

步骤8:在Δ

在Δ

四、负载平衡

PN

步骤9:在这种情况下,val

val

如图1所示,共识码为范围“A-M”分成两段共识码,即“A-G”和“H-M”两段共识码。第一个范围“A-G”分配给过载的验证节点val

负载平衡策略可以帮助过载节点val

基于上述阐述,本实施例使用golang语言实现了本申请提供的共识算法。如图5所示的共识码形成处理时间,为了评估此指标,将可能生成验证节点的节点数量从10增加到400;从图5可以看出,随着验证节点数目的增加,处理时间从145毫秒增加到209毫秒。图6展示了新的交易区块生成的处理时间,存储一个新的交易区块仅涉及收集与验证节点相关的共识码范围内的交易,一旦达到预定大小或预定间隔时间就形成一个新区块,并将其附加到区块链。

图6中水平轴是指PN

从图6可以明显看出,当PN

而传统的资源消耗型共识算法POW生成一个2000~3000比交易的区块需要10分钟;带有领导节点机制的DPOS生成一个区块也需要10s。这表明本申请所提出的公式方法可以近乎实时地验证、存储交易。同时从图6可以明显看出,通过提高交易速率,区块链中每个交易的处理时间都减少了,这是因为较高的交易处理速率允许交易处理池更快地达到块大小,这进一步突出了共识算法的可伸缩性。

上述提及的传统的资源消耗型共识算法POW可参考“Luo Y,Chen Y,Chen Q,etal.A New Election Algorithm for DPos Consensus Mechanism in Blockchain[C]//2018 7th International Conference on Digital Home(ICDH).IEEE,2018.”;

带有领导节点机制的DPOS可参考“Vukoli M.The Quest for ScalableBlockchain Fabric:Proof-of-Work vs.BFT Replication[C]//International Workshopon Open Problems in Network Security.Springer International Publishing,2016.”。

本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种应用于工业物联网的节点快速共识方法
  • 一种新增节点快速参与共识的方法、装置及电子设备
技术分类

06120112387579