面向物联网的PBFT算法的改进方法技术

技术编号:33347760 阅读:26 留言:0更新日期:2022-05-08 09:46
本发明专利技术涉及一种面向物联网的PBFT算法的改进方法,节点根据积分的权重随机排序,层层选拔,积分基本保证了排序越靠前的节点越可靠。在共识过程中,把确保节点接收消息一致性,以及确保试图更换后节点状态同步交给主节点。并让主节点候选节点对主节点的行为进行监督,双重保障,有效降低了主节点作恶的可能性。当发生拜占庭错误时,向积分排序表中,主节点候选节点后三个节点发起挑战,根据挑战结果对主节点和主节点候选节点行为进行判,对拜占庭节点进行惩罚,增加节点作恶的代价。并把共识过程把通信复杂降低,减少了共识时延,提高了系统的整体效率。统的整体效率。统的整体效率。

【技术实现步骤摘要】
面向物联网的PBFT算法的改进方法


[0001]本专利技术涉及一种区块链和物联网技术,特别涉及一种面向物联网的PBFT算法的改进方法。

技术介绍

[0002]近几年来随着区块链技术和物联网技术的快速发展,为目前现有的难题带来了新的解决方案。以IoT设备作为节点,利用物联网技术对数据进行传输,利用区块链对数据进行存储,基于区块链防篡改以及公开透明等特性,保证数据的真实性。对于物品溯源以及慈善方面有很大的影响。但对于物联网换将来说,会有许多节点加入,使用许可链更方便对加入的节点进行审核,所以面向物联网选用联盟区块链更为合适。但IoT设备计算能力有限,且传统的PBFT算法共识时延较长,难以满足物联网环境下交易量的需求。

技术实现思路

[0003]针对IoT设备计算能力有限以及PBFT算法共识时延过长问题,提出了一种面向物联网的PBFT算法的改进方法,降低共识时延,提高整体效率。
[0004]本专利技术的技术方案为:一种面向物联网的PBFT算法的改进方法,以物联网设备作为区块链节点,在节点在共识过程中对节点进行积分,根据积分排序选取主节点和主节点后选节点;节点之间的通信过程中,主节点和主节点候选节点对信息一致性进行验证,主节点候选节点对主节点的行为进行监督。
[0005]进一步,所述面向物联网的PBFT算法的改进方法具体包括如下步骤:
[0006]1)以物联网设备作为区块链共识节点,对节点进行排序,共识节点以积分分配权重,根据权重大小利用排序算法算计进行排序,建立节点排序表;按照排名选择主节点和主节点后选节点;
[0007]2)客户端仅向主机节点发送消息,进入节点共识过程;
[0008]3)主节点在收到消息后对主节点后选节点和节点排序表中其余共识节点进行编号,并对其广播该消息;
[0009]4)共识节点在消息后进行验证,验证通过向主节点和主节点候选节点发送准备消息;主节点候选节点在消息后进行验证,验证通过向主节点发送准备消息;
[0010]5)主节点和主节点候选节点在收到准备消息后,主节点和主节点候选节点判断共识节点接收到的消息是否与之一致,当主节点接收到不同共识节点发送过来的准备消息一致的节点个数达到设定值时,向确认共识节点和主节点候选节点反馈确认结果,主节点候选节点也根据自身判断结果对共识节点进行反馈;
[0011]6)当共识节点接收到主节点的反馈结果和主节点候选节点反馈结果一致时进入确认阶段;
[0012]7)在确认阶段共识节点向主节点和主节点候选节点发送确认消息,当主节点接收到2f+1个不同节点发送过来的确认消息一致时,向确认共识节点和主节点候选节点反馈确
认结果,主节点候选节点也根据自身判断结果对共识节点进行反馈;
[0013]8)当共识节点接收到主节点的反馈结果和主节点候选节点反馈确认结果一致时,诚实的共识节点接受该结果;
[0014]9)当主节点接收到主节点候选节点发送的确认结果,与自身一致时,打包主节点候选节点发送过来确认结果,一起发送回复消息给客户端;
[0015]10)当主节点和主节点候选节点结果不一致时,则判断发生拜占庭错误,向排名表中排在主节点候选节点后面的三个节点发起挑战,根据挑战结果判定拜占庭节点,并对拜占庭节点进行替换,并将替换信息送共识节点。
[0016]进一步,所述步骤1)中积分分配权重的具体方法:共识节点在共识过程中诚实投票获得积分,不诚实投票会扣除积分,通过积分来分配共识节点被选中靠前的概率,积分越高,概率越大,排名越靠前节点信任度越高;初始根据排名以此选取主节点和主节点候选节点,当主节点出错时,主节点候选节点进行替换;替换完成或积分变换后重新排序,选取排名第一做主节点候选节点。
[0017]本专利技术的有益效果在于:本专利技术面向物联网的PBFT算法的改进方法,利用物联网设备作为区块链节点,并把节点角色分为五级,最高级是主节点,其次是主节点候补节点。节点根据积分的权重随机排序,层层选拔,积分基本保证了排序越靠前的节点越可靠。在共识过程中,把确保节点接收消息一致性,以及确保视图更换后节点状态同步交给主节点。并让主节点候选节点对主节点的行为进行监督,双重保障,有效降低了主节点作恶的可能性。当发生拜占庭错误时,向积分排序表中,主节点候选节点后三个节点发起挑战,根据挑战结果对主节点和主节点候选节点行为进行判,对拜占庭节点进行惩罚,增加节点作恶的代价。减少了共识时延,提高了系统的整体效率。
附图说明
[0018]图1为本专利技术节点排序示意图;
[0019]图2为本专利技术节点共识过程;
[0020]图3为本专利技术挑战过程示意图。
具体实施方式
[0021]下面结合附图和具体实施例对本专利技术进行详细说明。本实施例以本专利技术技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。
[0022]本专利技术面向物联网的PBFT算法的改进方法:
[0023]步骤1:以物联网设备作为区块链共识节点,对共识节点进行排序,如图1所示,共识节点以积分分配权重,根据权重大小利用排序算法算计进行排序,权重越大排名靠前的概率越大,排名越前,可靠性越高,建立节点排序表;按照排名选择主节点和主节点后选节点,减少拜占庭节点被选为主节点的概率,从而降低试图切换的概率;
[0024]节点和主节点候选节点根据每次共识投票行为的积分进行选择,更新节点排序表,默认最大程度上选择出的主节点和主节点候选节点,是在共识节点中默认可靠的。
[0025]共识节点在共识过程中诚实投票的会获得积分,不诚实投票会扣除积分。积分越
高则说明节点越可靠。通过积分来分配节点被选中靠前的概率。积分越高,概率越大。根据随机排序算法,对共识节点进行排序,排名越靠前节点信任度越高。初始根据排名以此选取主节点和主节点候选节点,当主节点出错时,主节点候选节点进行替换。替换完成或积分变换后重新排序,选取排名第一做主节点候选节点。
[0026]步骤2:客户端仅向主机节点发送消息,进入节点共识过程,如图2所示过程示意图。
[0027]步骤3:主节点在收到消息后对主节点后选节点和节点排序表中其余共识节点进行编号,并对其广播该消息。
[0028]步骤4:共识节点在消息后进行验证,验证通过向主节点和主节点候选节点发送准备消息;主节点候选节点在消息后进行验证,验证通过向主节点发送准备消息。
[0029]步骤5:主节点和主节点候选节点在收到准备消息后,主节点和主节点候选节点判断共识节点接收到的消息是否与之一致,当主节点接收到2f+1(假设总节点个数为n,n≥3f+1,为了保证能正确达成共识,要确保有2f+1节点达成一致,错误节点个数少于f个。)个不同共识节点发送过来的准备消息是一致的时,向确认共识节点和主节点候选节点反馈确认结果。主节点候选节点也根据自身判断结果对共识节点进行反馈。
[0030]步骤6:当共识节点接收到主节点的反馈结果和主节点候本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向物联网的PBFT算法的改进方法,其特征在于,以物联网设备作为区块链节点,在节点在共识过程中对节点进行积分,根据积分排序选取主节点和主节点后选节点;节点之间的通信过程中,主节点和主节点候选节点对信息一致性进行验证,主节点候选节点对主节点的行为进行监督。2.根据权利要求1中所述面向物联网的PBFT算法的改进方法,其特征在于,具体包括如下步骤:1)以物联网设备作为区块链共识节点,对节点进行排序,共识节点以积分分配权重,根据权重大小利用排序算法算计进行排序,建立节点排序表;按照排名选择主节点和主节点后选节点;2)客户端仅向主机节点发送消息,进入节点共识过程;3)主节点在收到消息后对主节点后选节点和节点排序表中其余共识节点进行编号,并对其广播该消息;4)共识节点在消息后进行验证,验证通过向主节点和主节点候选节点发送准备消息;主节点候选节点在消息后进行验证,验证通过向主节点发送准备消息;5)主节点和主节点候选节点在收到准备消息后,主节点和主节点候选节点判断共识节点接收到的消息是否与之一致,当主节点接收到不同共识节点发送过来的准备消息一致的节点个数达到设定值时,向确认共识节点和主节点候选节点反馈确认结果,主节点候选节点也根据自身判断结果对共识节点进行反馈;6)当共识节点接收到主节点...

【专利技术属性】
技术研发人员:薛庆水张天昊孙悦薛震候宗阳
申请(专利权)人:上海应用技术大学
类型:发明
国别省市:

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

1