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

物联网场景下融合时间敏感数据处理策略的BFT共识机制

文献发布时间:2024-04-18 19:58:26


物联网场景下融合时间敏感数据处理策略的BFT共识机制

技术领域

本发明涉及信息安全技术领域,具体涉及物联网场景下融合时间敏感数据处理策略的BFT共识机制。

背景技术

目前最常见的物联网应用模式为物联网传感器设备采集真实物理世界的感知数据,并在解析处理后为下游应用提供数据接入和数据服务。将海量物联网设备同时将数据传输到云计算平台,会导致云平台网络带宽资源和计算资源紧张,影响数据的处理和响应速度,尤其是在处理延迟敏感型的物联网数据时,无法满足严格的响应时间需求。

现阶段,海量物联网数据可以卸载到边缘计算节点进行处理和响应,产生更快的网络服务响应;同时提升整个物联网环境下的数据响应速度和吞吐量。但是,在物联网边缘计算环境下,数据的一致可信是目前面临的一个重要挑战。由于物联网的安全性缺失问题(协议安全性弱、明文传输等),物联网数据在传输过程中会受到攻击篡改,导致数据不可信的安全问题,进而导致错误的数据处理结果。例如恶意节点篡改城市智慧电表数据进行盗电带来经济损失;恶意节点篡改胰岛素泵流速危害病人的人身安全等。

虽然目前已经有学者将区块链共识机制与物联网进行融合,研究物联网数据的一致可信。但是共识机制在物联网领域的应用目前还处于起步阶段。最流行的PoW和PoS共识机制与物联网环境的契合程度较低。PoW具有最高的安全性。但是PoW会导致严重的资源损耗,以及极低的吞吐量,使其不适用于物联网资源限制且需要高吞吐量的环境;权益证明PoS是PoS的核心在于权益,物联网环境不像金融领域的数字经济交易,通常不存在货币、权益等概念,因此PoS不适用于物联网环境。

现有的BFT共识机制及其改进方法的方向在于优化共识流程,缩短共识达成时间或视图切换时间,重点都在于准备、提交等共识阶段上,忽视了BFT共识机制在回复阶段的数据处理流程,在BFT共识机制进行回复阶段中,所有达成共识的节点都需要处理数据,如果所有共识节点均处理数据会影响资源利用效率,就会造成资源浪费的问题。物联网的数据处理是需要时间的,尤其是针对数据处理时间长的物联网应用服务,不但会影响物联网的性能,还不能满足低延迟和高吞吐量的物联网应用需求。

发明内容

鉴于上述问题,本发明提供了一种物联网场景下融合时间敏感数据处理策略的BFT共识机制,解决了现有技术中BFT共识机制忽视数据处理流程导致的共识节点资源利用率低,共识性能差的问题。通过减少处理数据的共识节点数量,以数据处理时间为优化目标,优化数据处理流程,提升共识节点的资源利用率,进而提升整个共识机制的延迟、吞吐量等性能表现。

本发明提供了一种物联网场景下融合“时间敏感”数据处理策略的BFT共识机制,具体为BFT共识机制融合了一种对“物联网设备采集的数据进行解析处理的时间长短敏感”的数据处理策略,包括:

S1、获取物联网网络的多个任务请求信息,收集多个任务请求信息建立任务请求信息集;所述多个任务请求信息作为BFT共识流程的输入;

优选的,步骤S1所述获取物联网网络的多个任务请求信息,收集多个任务请求信息建立任务请求信息集;所述多个任务请求信息作为BFT共识流程的输入,具体步骤包括:

S11、建立物联网边缘计算网络架构;所述物联网网络包括设备端、边缘端和云端;

S12、通过所述物联网网络的设备端获得多个任务请求信息,将所述多个任务请求信息发送到边缘端的共识节点进行BFT共识流程处理,处理结果发送到云端或设备端;

收集多个任务请求信息建立任务请求信息集;。

进一步的,步骤S12所述边缘端的共识节点数量N≥3F+1;至少要有3F+1个节点数量,保证任务请求信息可信,其中F代表恶意节点数量,会作恶或故意不回复信息。

优选的,步骤S1所述任务请求信息包括:操作类型、物联网数据、数据摘要、时间戳和设备端标;

所述操作类型为物联网数据的解析操作,通过解析获得简明可用的物联网数据;

所述物联网数据包括物联网传感器采集到的真实物理世界数据,例如空气传感器,采集到当前时刻的温度、湿度、PM2.5指标,这些指标组合成数据,适用于物联网传感器,传输的是物联网设备采集数据;

所述时间戳是发送任务请求的当前时刻,例如2023-08-08 14:57:41。

S2、获取任务请求信息集中的多个物联网数据,设定BFT共识流程的共识节点,利用所述共识节点处理物联网数据,计算共识节点处理多个物联网数据的时间,得到多个物联网数据处理时间,构建物联网数据处理时间集合;

将所述数据处理时间集合中的时间进行排序,获取排序后的物联网数据处理时间集合;

优选的,步骤S2所述利用共识节点处理所述物联网数据,具体步骤包括:每个共识节点通过代码对物联网数据的数据包进行解析,解析后的数据便于共识节点进行收集和管理。

优选的,步骤S2所述数据处理时间集合中的时间进行升序排序,获取排序后的物联网数据处理时间集合;

步骤S2所述BFT共识流程的共识节点的个数为2F+1个;

2F+1个共识节点里面最坏的情况下会有F个恶意节点,所以至少要有F+1个相同结果,才能保证共识节点正确进行共识流程,例如有21个人做同一件事情,这21人中有10人是捣乱的,那么为了保证事情的结果可信,至少需要有11个相同结果。

本发明技术方案在现有的BFT共识机制中,从共识机制的安全性(执行共识机制之后,所有节点的内容能保证一致)和活性(共识机制的执行过程不能卡死,按照算法流程一步步得到执行结果)出发,所有达成共识节点都需要处理物联网数据,不同共识节点的处理物联网数据的时间不同,因此本发明认为在3F+1个共识节点数量的网络中(F代表恶意节点数量),即使是F个节点在处理数据过程中作恶,只要有F+1个正常节点处理数据,即达成共识,基于排序后的物联网数据处理时间集合对共识节点进行判断选择,优先让处理速度快的2F+1个共识节点来处理物联网数据,因此处理数据时只要有2F+1个节点,就可以确保达成一致可信的共识结果。

优选的,步骤S2中所述物联网数据的时间的表达式为:

其中,T为物联网数据的处理时间,

S3、将所述排序后的物联网数据处理时间集合并入步骤S1所述任务请求信息集中,建立更新任务请求信息集;对所述更新任务请求信息集中的任务请求信息进行数字签名;

定义物联网网络中的节点为副本节点,获取副本节点中的主节点;

优选的,步骤S3所述副本节点均在视图中运作,在一个视图编号中,有且只有一个副本节点作为主节点;述主节点的产生方式由视图编号和副本节点数量取模求出,表达式为:

主节点=V mod N

其中,V为视图编号,N为边缘端的共识节点数量,mod为取模操作。

进一步的,所述视图为BFT共识机制的固有特征,在共识的达成过程中需要有一个主节点,随着时间推移主节点可能会作恶,因此需要轮换主节点来保证数据可信,这个周期表征为视图;例如:在处理了10条数据以后,换一个新的主节点再处理,视图可以认为是选举的任期;以选举为例,假设10条数据为周期,通过视图编号v和副本数量取模求出主节点,主节点顺利完成10条数据后,视图编号加1,然后进行下一个视图周期;

所述视图编号是从1开始的自增序列,通过视图编号和副本节点数量取模来确定主节点,当前周期结束后,视图编号自增1,进入下一周期。

优选的,步骤S3所述更新任务请求信息集包含任务操作类型、物联网数据、数据摘要、时间戳、设备端标识和排序后的物联网数据处理时间集合。

进一步的,所述物联网数据处理时间集合中物联网数据处理时间的计算表达式为:

其中,time(T

S4、将数字签名后的更新任务请求信息集发送给步骤S3所述的主节点,对任务请求信息数字签名进行验证,如果是不正确请求则丢弃,如果是正确请求则分配任务请求信息数字签名对应的编号,并向其他副本节点广播预准备信息;

优选的,步骤S4所述将数字签名后的任务请求信息集发送给物联网网络中边缘端的主节点,对任务请求信息数字签名进行验证,如果是不正确请求则丢弃,如果是正确请求则分配任务请求信息数字签名对应的编号,并向其他副本节点广播预准备信息。

优选的,步骤S4所述预准备信息包含编号,视图编号,数据,数据摘要;所述编号是从1开始增加的序列;视图编号是当前视图的编号;数据是物联网网络中设备端发送的物联网数据;数据摘要是物联网数据通过摘要算法得到的结果。

S5、副本节点接收到预准备信息后,验证预准备信息是否正确,如果不正确则丢弃,如果正确,该预准备信息为准备信息,则广播该准备信息至主节点和其他副本节点;

优选的,步骤S5所述准备信息包含副本节点标识;当所述准备信息包含副本节点标识则证明该副本节点已经对预准备信息广播的视图编号、数据做好准备,可以进行下一阶段;

所述数据做好准备为副本节点对预准备信息做好准备,可以进行下一阶段。

优选的,步骤S5所述验证预准备信息是否正确的具体步骤为:

预准备消息的数字签名是否正确;

预准备消息的数字签名与预准备消息的编号、视图编号必须是唯一对应关系;即不能出现相同编号和视图编号下数字签名不同的预准备信息;

对预准备消息中的数据进行数据摘要运算,并与预准备消息中已经有的数据摘要进行对比,确保数据未被篡改;

满足以上三个条件,预准备消息就是正确的。

S6、主节点和其他副本节点接收准备信息,并验证准备信息的正确性,当接收到2F+1条来自不同副本节点通过验证的正确的准备信息后,则该准备信息为提交信息,副本节点广播提交信息至其他副本节点和主节点;

优选的,步骤S6所述准备信息表示该副本节点已经知道其他副本节点已经做好准备,可以进行提交信息动作。

S7、主节点和其他副本节点接收提交信息并进行验证,当接收到2F+1条来自不同副本节点的通过验证的提交信息后,获取达成共识的副本节点;

判断达成共识的副本节点是否处于步骤S2所述排序后的物联网数据处理时间集合的前2F+1位置,若不是,则丢弃当前达成共识的副本节点;若是,则表明当前达成共识的副本节点具有处理物联网数据的资格,使用当前达成共识的副本节点处理物联网数据,并发送回复信息给物联网网络的节点,节点则收到F+1个共识节点发送的相同处理结果,一次共识流程完成。

本发明技术方案中接收到有2F+1个节点来处理数据,该2F+1个节点中至多有F个恶意节点,恶意节点作恶会给出不同的处理结果,而正常节点会给出相同的处理结果,因此,只要有F+1个相同处理结果,那么就证明结果肯定是正确的。例如,有21个人做同一件事情,这21人中有10人是捣乱的,那么为了保证事情的结果可信,至少需要有11个相同结果。

本发明技术方案设置了物联网数据处理时间集合,在处理数据时只选择处理时间最短的2F+1个节点来处理数据,增加了对数据处理时间的敏感性,降低了数据响应的延迟,进而提升了整个网络环境的吞吐量。

本发明假设在GST(global stabilization time)事件以后,消息都能够在Δ时间内到达,且节点之间通信的信道是安全可靠的,突破“不可能定理”的限制。

与现有技术相比,本发明至少具有现如下有益效果:

(1)本发明基于时间敏感的数据处理策略,从共识机制的安全性和活性出发,设定在3F+1个共识节点的网络中(F代表恶意节点数量),只需要2F+1个节点处理数据,即可确保能够达成一致可信的共识结果;

(2)本发明将处理数据的共识节点数量设置为2F+1,遵循BFT共识机制的投票原则,只需要诚实节点数量大于F即可确保共识,应对所有恶意节点作恶情况下仍然能达成共识所需最少的节点数,节省F个节点的计算资源来处理后续的数据处理任务;

(3)本发明在节点的选择上,以数据的处理时间为优化目标,选择处理时间最短的2F+1节点来处理数据,确保了在给定的数据请求下,网络可以用最快的处理速度来响应,提升共识机制的性能。

附图说明

附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制。

图1为本发明共识机制流程的流程图;

图2为本发明物联网边缘计算环境架构图的示意图;

图3为本发明共识机制流程图的示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。另外,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

本发明的一个具体实施例,如图1-3,公开了一种一种融合时间敏感数据处理策略的BFT共识机制,为了说明本发明所提方法的有效性,以下通过一个具体实施例对本发明的上述技术方案进行详细说明,具体实施步骤如下:

S1、获取物联网网络的多个任务请求信息,收集多个任务请求信息建立任务请求信息集;所述多个任务请求信息作为BFT共识流程的输入;

优选的,步骤S1所述获取物联网网络的多个任务请求信息,收集多个任务请求信息建立任务请求信息集;所述多个任务请求信息作为BFT共识流程的输入,具体步骤包括:

S11、建立物联网边缘计算网络架构;所述物联网网络包括设备端、边缘端和云端;

S12、通过所述物联网网络的设备端获得多个任务请求信息,将所述多个任务请求信息发送到边缘端的共识节点进行BFT共识流程处理,处理结果发送到云端或设备端;

收集多个任务请求信息建立任务请求信息集;。

进一步的,步骤S12所述边缘端的共识节点数量N≥3F+1;至少要有3F+1个节点数量,保证任务请求信息可信,其中F代表恶意节点数量,会作恶或故意不回复信息。

优选的,步骤S1所述任务请求信息包括:操作类型、物联网数据、数据摘要、时间戳和设备端标;

所述操作类型为物联网数据的解析操作,通过解析获得简明可用的物联网数据;

所述物联网数据包括物联网传感器采集到的真实物理世界数据,例如空气传感器,采集到当前时刻的温度、湿度、PM2.5指标,这些指标组合成数据,适用于物联网传感器,传输的是物联网设备采集数据;

所述时间戳是发送任务请求的当前时刻,例如2023-08-08 14:57:41。

S2、获取任务请求信息集中的多个物联网数据,设定BFT共识流程的共识节点,利用所述共识节点处理物联网数据,计算共识节点处理多个物联网数据的时间,得到多个物联网数据处理时间,构建物联网数据处理时间集合;

将所述数据处理时间集合中的时间进行排序,获取排序后的物联网数据处理时间集合;

优选的,步骤S2所述利用共识节点处理所述物联网数据,具体步骤包括:每个共识节点通过代码对物联网数据的数据包进行解析,解析后的数据便于共识节点进行收集和管理。

优选的,步骤S2所述数据处理时间集合中的时间进行升序排序,获取排序后的物联网数据处理时间集合;

步骤S2所述BFT共识流程的共识节点的个数为2F+1个;

2F+1个共识节点里面最坏的情况下会有F个恶意节点,所以至少要有F+1个相同结果,才能保证共识节点正确进行共识流程,例如有21个人做同一件事情,这21人中有10人是捣乱的,那么为了保证事情的结果可信,至少需要有11个相同结果。

本发明技术方案在现有的BFT共识机制中,从共识机制的安全性(执行共识机制之后,所有节点的内容能保证一致)和活性(共识机制的执行过程不能卡死,按照算法流程一步步得到执行结果)出发,所有达成共识节点都需要处理物联网数据,不同共识节点的处理物联网数据的时间不同,因此本发明认为在3F+1个共识节点数量的网络中(F代表恶意节点数量),即使是F个节点在处理数据过程中作恶,只要有F+1个正常节点处理数据,即达成共识,基于排序后的物联网数据处理时间集合对共识节点进行判断选择,优先让处理速度快的2F+1个共识节点来处理物联网数据,因此处理数据时只要有2F+1个节点,就可以确保达成一致可信的共识结果。

优选的,步骤S2中所述物联网数据的时间的表达式为:

其中,R为物联网数据的处理时间,

S3、将所述排序后的物联网数据处理时间集合并入步骤S1所述任务请求信息集中,建立更新任务请求信息集;对所述更新任务请求信息集中的任务请求信息进行数字签名;

定义物联网网络中的节点为副本节点,获取副本节点中的主节点;

优选的,步骤S3所述副本节点均在视图中运作,在一个视图编号中,有且只有一个副本节点作为主节点;述主节点的产生方式由视图编号和副本节点数量取模求出,表达式为:

主节点=V mod N

其中,V为视图编号,N为边缘端的共识节点数量,mod为取模操作。

进一步的,所述视图为BFT共识机制的固有特征,在共识的达成过程中需要有一个主节点,随着时间推移主节点可能会作恶,因此需要轮换主节点来保证数据可信,这个周期表征为视图;例如:在处理了10条数据以后,换一个新的主节点再处理,视图可以认为是选举的任期;以选举为例,假设10条数据为周期,通过视图编号v和副本数量取模求出主节点,主节点顺利完成10条数据后,视图编号加1,然后进行下一个视图周期;

所述视图编号是从1开始的自增序列,通过视图编号和副本节点数量取模来确定主节点,当前周期结束后,视图编号自增1,进入下一周期。

优选的,步骤S3所述更新任务请求信息集包含任务操作类型、物联网数据、数据摘要、时间戳、设备端标识和排序后的物联网数据处理时间集合。

进一步的,所述物联网数据处理时间集合中物联网数据处理时间的计算表达式为:

其中,time(T

S4、将数字签名后的更新任务请求信息集发送给步骤S3所述的主节点,对任务请求信息数字签名进行验证,如果是不正确请求则丢弃,如果是正确请求则分配任务请求信息数字签名对应的编号,并向其他副本节点广播预准备信息;

优选的,步骤S4所述将数字签名后的任务请求信息集发送给物联网网络中边缘端的主节点,对任务请求信息数字签名进行验证,如果是不正确请求则丢弃,如果是正确请求则分配任务请求信息数字签名对应的编号,并向其他副本节点广播预准备信息。

优选的,步骤S4所述预准备信息包含编号,视图编号,数据,数据摘要;所述编号是从1开始增加的序列;视图编号是当前视图的编号;数据是物联网网络中设备端发送的物联网数据;数据摘要是物联网数据通过摘要算法得到的结果。

S5、副本节点接收到预准备信息后,验证预准备信息是否正确,如果不正确则丢弃,如果正确,该预准备信息为准备信息,则广播该准备信息至主节点和其他副本节点;

优选的,步骤S5所述准备信息包含副本节点标识;当所述准备信息包含副本节点标识则证明该副本节点已经对预准备信息广播的视图编号、数据做好准备,可以进行下一阶段;

所述数据做好准备为副本节点对预准备信息做好准备,可以进行下一阶段。

优选的,步骤S5所述验证预准备信息是否正确的具体步骤为:

预准备消息的数字签名是否正确;

预准备消息的数字签名与预准备消息的编号、视图编号必须是唯一对应关系;即不能出现相同编号和视图编号下数字签名不同的预准备信息;

对预准备消息中的数据进行数据摘要运算,并与预准备消息中已经有的数据摘要进行对比,确保数据未被篡改;

满足以上三个条件,预准备消息就是正确的。

S6、主节点和其他副本节点接收准备信息,并验证准备信息的正确性,当接收到2F+1条来自不同副本节点通过验证的正确的准备信息后,则该准备信息为提交信息,副本节点广播提交信息至其他副本节点和主节点;

优选的,步骤S6所述准备信息表示该副本节点已经知道其他副本节点已经做好准备,可以进行提交信息动作。

S7、主节点和其他副本节点接收提交信息并进行验证,当接收到2F+1条来自不同副本节点的通过验证的提交信息后,即可证明边缘层中至少有2F+1个节点已经达成共识,处于已提交状态;即使是出现视图切换或拜占庭节点作恶等问题,针对相同的视图和编号,所有诚实节点都能达成统一共识;

将共识的副本节点依据步骤S2所述排序后的物联网数据处理时间集合进行判断,判断自身是否处于集合前2F+1的位置,如果共识的副本节点没有位于集合前2F+1的位置,则丢弃当前达成共识的副本节点;如果共识的副本节点位于集合前2F+1的位置则使用当前达成共识的副本节点处理物联网数据,并发送回复信息给物联网网络的云端节点或设备端节点,当云端节点或设备端节点收到F+1个来自于不同节点的具有相同数据处理结果的回复信息,证明客户端发起的数据处理任务请求已经达成全网共识,处理结果是一致可信的一次共识流程完成。

在上述的共识过程中,如果出现恶意节点作恶、主节点不作为、传输超时等无法达成共识的情况,共识机制会进行视图切换操作,通过发送信息更换视图和主节点,来重新进行共识过程;而在视图切换过程中,为了确保在视图切换时能够恢复先前的请求,副本节点都会存储消息到本地缓存中,并进行状态同步,得到信息。同时还配备垃圾回收机制,避免缓存信息量的无限制扩大。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

相关技术
  • 基于BFT协议和PoW机制的区块链共识协议实现方法和系统
  • 基于Meta-BFT共识机制的区块链平台及实现方法
技术分类

06120116488381