一种基于PBFT的歧视的优化方法技术

技术编号:38157080 阅读:14 留言:0更新日期:2023-07-13 09:26
一种基于PBFT的歧视的优化方法,对全网中所有的节点进行初始化,并进行分组;运用拜占庭容错算法(PBFT),进行共识过程;在客户端收到共识组的共识结果后,将达成共识的交易生成区块并上链,进行全局共识;客户端根据区块重组结果进行组别的划分;共识达成后对参与共识的所有节点进行信誉值更新及组别重组;本发明专利技术采用分组方式,使得参与共识的节点数量得到了限制,保障了安全性,加快共识达成的速度,利用vague集以及相关系数对节点进行分类,并对相应的节点进行声誉的增加或减少;利用了备份组,候选组来作为共识组的替代,再一次的减少了节点更新时所消耗的时间。了节点更新时所消耗的时间。了节点更新时所消耗的时间。

【技术实现步骤摘要】
一种基于PBFT的歧视的优化方法


[0001]本专利技术属于区块链共识机制
,具体为一种基于PBFT的歧视的优化方法。

技术介绍

[0002]目前区块链按照应用场景可分为三类:私有链:所有网络中的节点全部掌握在一个公司手中;联盟链:允许授权的节点加入网络,其一般被多家公司所共同掌控,且区块链中的节点的身份是已知的;公有链:面向所有节点进行公开,无需身份注册,同时也不被任何一家机构所长时间掌控。而在联盟链中,由于节点的身份已知,且只有受到允许的节点才可以加入,因此PBFT成为联盟链中使用较多的共识算法。虽然使用的次数较多,但他仍然存在着些许问题,如由于通信复杂度的限制,使得PBFT共识算法参与的节点的数量受到限制,当节点数量增加时,通信的时间也将大幅度增加,这时共识达成的时间就会相应的增加,从而导致吞吐量下降。
[0003]随着共识算法的研究的不断深入,PBFT算法也在不断地进行迭代优化,且方向也各不相同。如推测拜占庭算法(Speculative BFT,SBFT)(Ramakrishna Kotla,Lorenzo Alvisi,Mike Dahlin,Allen Clement,and Edmund Wong.2010.Zyzzyva:Speculative Byzantine fault tolerance.ACM Trans.Comput.Syst.27,4,Article 7(December 2009),39pages.https://doi.org/10.1145/1658357.1658358)通过共识第一阶段收集全部节点的信息并对其进行判断,如果收集到的信息全部为诚实节点的信息,那么跳过第二阶段,但是由于需要额外的时间对节点信息进行等待,而且当出现恶意节点时,仍需进行第二阶段共识,因此参与共识的节点数量较多时共识速度将会收到重大的影响。文献(YANG J,JIA Z H,SU R G,et al.Improved Fault

Tolerant Consensus Based on the PBFT Algorithm[J].IEEE Access,2022,10:30274

30283.)使用散列算法对一致性节点进行分组,能够避免节点间的大量通信,降低网络的通信复杂度,提高网络的可扩展性,但无法识别拜占庭节点。Ripple共识(Schwartz D,Youngs N,Britto A.The ripple protocol consensus algorithm[J].Ripple Labs Inc White Paper,2014,5(8):151),通过将节点进行分组,来减少节点的通信复杂度进而加快共识达成的速度,但由于分组的存在使得每个组别中达成共识的节点的比例偏高,且对同一交易,可能需要多轮才能达成共识,所以该算法通常只能应用于只有少数节点参与的情况下。文献(YANG J,JIA Z H,SU R G,et al.Improved Fault

Tolerant Consensus Based on the PBFT Algorithm[J].IEEE Access,2022,10:30274

30283.)使用散列算法对一致性节点进行分组,能够避免节点间的大量通信,降低网络的通信复杂度,提高网络的可扩展性,但无法识别拜占庭节点。

技术实现思路

[0004]为了克服现有的PBFT存在的不足,本专利技术的目的在于提供了一种基于PBFT的歧视的优化方法,降低恶意节点在小组中作恶的情况,采用分组方式,使得参与共识的节点数量得到了限制,保障了安全性,加快共识达成的速度。
[0005]为了达到上述目的,本专利技术的技术方案为:
[0006]一种基于PBFT的歧视的优化方法,包括以下步骤:
[0007]步骤1:对全网中所有的节点进行初始化,并进行分组,分为共识组、备份组、候选组、待选组;具体为:
[0008]步骤1.1:在共识算法初始时,首先对全网的所有节点进行初始化,并随机将所有节点分为共识组、备份组、候选组、待选组;其中共识组、候选组和备份组和候选组的节点的数量存在上限L;
[0009]步骤1.2:当网络中出现新的节点A请求加入时,节点首先向客户端发送信息,再经客户端同意后,节点A进入候选组,此时客户端将所有的节点的信息以及关于链条的最新信息发送给节点A,并更新节点列表,将更新后的列表发送给系统内的所有节点告知节点A进入系统。
[0010]步骤2:进行拜占庭容错算法(PBFT),节点分组后,仅有共识组和候选组进行共识过程,共识组执行真实过程,候选组执行模拟过程;具体为:
[0011]步骤2.1:共识组首先进行主节点选举,每个节点通过将自身的私钥以及系统产生的不可预测的随机种子X作为输入,生成随机数y和证明函数Proof;之后节点利用生成的随机数作为输入进行计算其中hash()为哈希函数,hash len为哈希函数的长度,PR为共识组中的节点的声誉值,PRT为共识组的总声誉,其中max(v)当选为共识组的领导者;
[0012]步骤2.2:当共识组的领导者选取完毕后,共识组内的所有节点进行PBFT共识,此时客户端进行判断,如果客户端发现竞选的节点的数量超过共识组的2/3或者节点在准备阶段收到节点的票数超过2/3的共识组的节点的票数则进行两阶段共识,取消原PBFT共识过程中的准备阶段,直接进行请求、预准备、准备阶段以及回应阶段;
[0013]步骤2.3:候选组同时进行相同的共识过程。
[0014]步骤3:在客户端收到共识组的共识结果后,将达成共识的交易生成区块并上链,在收到候选组的共识信息后,将二者共识结果进行对比,并将对比结果进行标记;之后将生成的区块,以及最新的区块链的信息全网广播,进行全局共识;具体为:
[0015]步骤3.1:在待选组和备份组节点收到区块链的信息后,如果该区块标记为结果一致,则每个候选节点以一定的概率对其进行检验,规定如果一个区块连续未被检验多次就一定要被检验;反之如果区块结果被标记为不一致,则所有候选区块共同对其进行检验;
[0016]步骤3.2:在待选组和备份组完成区块的二次检验后,客户端根据其检验结果,对区块链进行区块重组。
[0017]步骤4:客户端根据区块重组结果进行组别的划分;具体为:
[0018]步骤4.1:客户端首先对共识组的组间相似度进行计算,其计算方式如下首先构造vague特征矩阵其中n为区块的编号,p为共识组节点的编号;
[0019]步骤4.2:利用相关系数法构造相关系数矩阵,其采用如下方法确定:
[0020][0021][0022]其中,其中,
[0023]步骤4.3:对矩阵的中的区间进行划分,如果a<t
ij
<1且b<f
ij
<1,则令该区间为1,反之则为0,其变换后得到本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于PBFT的歧视的优化方法,其特征在于,包括以下步骤:步骤1:对全网中所有的节点进行初始化,并将所有节点分共识组、备份组、候选组、待选组;步骤2:进行拜占庭容错算法(PBFT),节点分组后,仅有共识组和候选组进行共识过程,共识组执行真实过程,候选组执行模拟过程;步骤3:在客户端收到共识组的共识结果后,将达成共识的交易生成区块并上链,在收到候选组的共识信息后,将二者共识结果进行对比,并将对比结果进行标记;之后将生成的区块,以及最新的区块链的信息全网广播,进行全局共识;步骤4:客户端根据区块重组结果进行组别的划分;步骤5:共识达成后对参与共识的所有节点进行信誉值更新及组别重组。2.根据权利要求1所述的一种基于PBFT的歧视的优化方法,其特征在于,步骤1具体为:步骤1.1:在共识算法初始时,首先对全网的所有节点进行初始化,并随机将所有节点分为四组:共识组、备份组、候选组、待选组;其中共识组、候选组和备份组和候选组的节点的数量存在上限L;步骤1.2:当网络中出现新的节点A请求加入时,节点首先向客户端发送信息,再经客户端同意后,节点A进入候选组,此时客户端将所有的节点的信息以及关于链条的最新信息发送给节点A,并更新节点列表将更新后的列表发送给系统内的所有节点告知节点A进入系统。3.根据权利要求1所述的一种基于PBFT的歧视的优化方法,其特征在于,步骤2具体为:步骤2.1:共识组首先进行主节点选举,每个节点通过将自身的私钥以及系统产生的不可预测的随机种子X作为输入,生成随机数y和证明函数Proof;之后节点利用生成的随机数作为输入进行计算其中hash()为哈希函数,hash len为哈希函数的长度,PR为共识组中的节点的声誉值,PRT为共识组的总声誉,其中max(v)当选为共识组的领导者;步骤2.2:当共识组的领导者选取完毕后,共识组内的所有节点进行PBFT共识,此时客户端进行判断,如果客户端发现竞选的节点的数量超过共识组节点数量的2/3或者节点在准备阶段收到节点的票数超过2/3的共识组的节点的票数则进行两阶段共识,取消原PBFT共识过程中的准备阶段,直接进行请求、预准备、准备阶段以及回应阶段;步骤2.3:候选组同时进行相同的共识过程。...

【专利技术属性】
技术研发人员:杨旭徐颂华
申请(专利权)人:西安交通大学
类型:发明
国别省市:

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

1