当前位置: 首页 > 专利查询>河北大学专利>正文

基于声誉改进的PBFT共识方法技术

技术编号:38561649 阅读:14 留言:0更新日期:2023-08-22 21:02
本发明专利技术涉及一种基于声誉改进的PBFT共识方法,包括以下步骤:在联盟链中根据综合实力和社会信誉对各节点分配初始声誉值,选取声誉值高的节点作为候选节点,剩余节点为普通节点,并选取候选节点中声誉最高的节点为主节点;在一个共识阶段内进行多轮共识;记录每个节点在当前共识阶段中做出正确判断的轮数以及一个共识阶段内的总轮数;根据声誉值更新规则计算每个节点的声誉值,对节点的声誉进行更新;取上一轮共识阶段中的最小声誉作为本轮的声誉阈值,将低于声誉阈值的节点驱逐;根据更新后的声誉值,重新划分节点类型,进行下一阶段的共识。本发明专利技术能够降低通信复杂度,提高共识效率,降低恶意节点带来的影响。降低恶意节点带来的影响。降低恶意节点带来的影响。

【技术实现步骤摘要】
基于声誉改进的PBFT共识方法


[0001]本专利技术涉及一种区块链共识技术,具体地说是一种基于声誉改进的PBFT共识方法。

技术介绍

[0002]区块链技术的诞生是为了应对现有中心化体系所带来的资源垄断等问题,其本质是一种去中心化的分布式账本数据库,具有去中心化、防篡改、可追溯等特点,是P2P网络,共识机制,加密算法,智能合约等多种技术的组合。根据节点的准入机制不同,区块链一般分为公有链、私有链和联盟链,公有链是完全开放去中心化的系统,任何节点都可以自由地加入或退出。联盟链和私有链都需要经身份验证和授权才能进入网络,不同的是,私有链只应用于企业或组织内部,而联盟链一般应用于企业或组织之间,由多家企业或组织共同维护以实现合作,在需多方协作的供应链场景中得到了更广泛地应用。
[0003]共识算法作为区块链系统的核心组件,可以使节点通过一定的规则保持数据的一致性,在维护区块链的效率和安全方面起着至关重要的作用。典型的区块链共识算法大致可分为证明类共识算法(如PoW、PoS、DPoS)和拜占庭共识算法,对于已知每个参与者身份的联盟链,拜占庭共识算法是首选技术。拜占庭错误允许节点通过任意行为进行攻击,顾名思义,拜占庭共识算法讨论的是在拜占庭情况下系统如何达成共识。
[0004]PBFT算法是一种基于状态机副本复制的分布式算法,因能够解决拜占庭问题而得到广泛应用。基于少数节点服从多数节点的原则,主节点发起提议其他节点进行确认,当超过三分之二的节点确认时,该提议被通过,每个状态机副本保存服务状态,从而实现用户的合法请求。PBFT算法在保证系统安全性和可靠性的前提下提供了(n

1)*3的容错性(n为系统中的节点总数),即允许系统至多存在1*3的失效节点。然而传统的PBFT中存在节点的选取简单,通信复杂度高,缺乏行为反馈机制等问题,不适应于大规模的动态网络。

技术实现思路

[0005]本专利技术的目的就是提供一种基于声誉改进的PBFT共识方法,以解决现有PBFT共识方法系统安全性差且通信复杂度高的问题。
[0006]本专利技术是这样实现的:一种基于声誉改进的PBFT共识方法,包括以下步骤。
[0007]a.在联盟链中根据综合实力和社会信誉对各节点分配初始声誉值。
[0008]b.将所有节点按照声誉值高低排序,选取声誉值高的节点作为候选节点,剩余节点为普通节点,并选取候选节点中声誉最高的节点为主节点,确定不同类型节点的声誉值更新规则;
[0009]c.在一个共识阶段内进行多轮共识。
[0010]d.记录每个节点在当前共识阶段中做出正确判断的轮数以及一个共识阶段内的总轮数。
[0011]e.根据声誉值更新规则计算每个节点的声誉值,对节点的声誉进行更新。
[0012]f.取上一轮共识阶段中的最小声誉作为本轮的声誉阈值,将低于声誉阈值的节点驱逐。
[0013]g.根据更新后的声誉值,重新划分节点类型,进行下一阶段的共识。
[0014]节点的声誉更新规则为:
[0015]R
T
=βR
T
‑1+(1

β)S
T
[0016]其中,R
T
是节点更新后的声誉值,R
T
‑1是节点上一共识阶段的声誉值,S
T
是节点在当前共识阶段中的行为分数,β为可调节参数,处于0

1之间;
[0017][0018]其中,t
succ
为节点在一个共识阶段中做出正确判断的轮数,t为一个共识阶段内的总轮数。
[0019]对于不同类型的节点选取不同的β值,普通节点的β值>候选节点的β值>主节点的β值。
[0020]步骤c中的共识过程包括:
[0021]主节点收到客户端的请求消息后,经验证后将消息发送到系统中的所有节点;
[0022]节点收到消息后对消息进行验证,并将自身对消息的判断提交到主节点;
[0023]当主节点收到至少2f+1个来自不同节点的消息时,根据节点的判断对该消息进行最终判断,并将最终判断结果返回给系统中的所有节点,f表示系统中拜占庭节点的个数;
[0024]节点收到主节点的最终判断消息,对该消息进行响应,包括主节点在内将响应结果返回至客户端,当客户端收到f+1个相同的响应消息时表示达成共识。
[0025]将联盟链中各节点按照综合实力和社会声誉进行排序,将前1/3的节点按顺序为其在[0.8

1)之间随机分配声誉值,这些节点为候选节点,候选节点中声誉值最高的节点作为主节点,剩余的节点按顺序在(0

0.8)之间随机分配声誉值,这些节点为普通节点。
[0026]若候选节点中出现多个声誉值最高且相等的节点,则选取其中计算能力最强的节点作为主节点。
[0027]本专利技术提供了一种基于声誉改进的PBFT共识方案。根据节点在共识阶段的行为,计算节点的声誉值并选择主节点,解决节点选取简单,缺乏行为反馈机制的问题。同时基于声誉评估机制,对一致性协议进行优化,降低通信复杂度,提高共识效率,降低恶意节点带来的影响。
附图说明
[0028]图1为本专利技术基于声誉改进的PBFT共识方法的流程图。
[0029]图2为传统PBFT的共识过程图。
[0030]图3为本专利技术提供的共识过程图。
具体实施方式
[0031]如图1所示,本专利技术为一种基于声誉改进的PBFT共识方法,具体包括以下步骤。
[0032]a.对联盟链中的各节点的声誉进行初始化:依赖于联盟链的身份验证机制,将链中各节点按照综合实力和社会声誉进行排序,并对各节点分配初始声誉值。
[0033]具体地,将前1/3的节点按顺序为其在[0.8

1)之间随机分配声誉值,剩余节点按序在(0

0.8)之间随机分配声誉值。其中,节点声誉值的分配比例和分配范围可以按需要选择。
[0034]b.划分节点:在完成各节点声誉的初始化后,依据声誉值对节点类型进行划分。将所有节点按照声誉值高低排序,选取声誉值高的节点作为候选节点,剩余节点为普通节点,并选取候选节点中声誉最高的节点为主节点,确定不同类型节点的声誉值更新规则。
[0035]具体地,本专利技术采用前述节点声誉初始化的规则,即选取声誉值前1/3的节点作为候选节点参与共识,剩余节点作为普通节点参与共识过程。其中,节点类型的划分比例可以根据需要调整。
[0036]由于候选节点都为高声誉节点,在近期共识中表现诚实,在此类节点中选取主节点能极大提升系统的稳定性。
[0037]若候选节点中出现多个声誉值最高且相等的节点,则选取其中计算能力最强的节点作为主节点。
[0038]节点的声誉更新规则为:
[0039]R
T
=βR
T
‑1+(1
...

【技术保护点】

【技术特征摘要】
1.一种基于声誉改进的PBFT共识方法,其特征在于,包括以下步骤:a.在联盟链中根据综合实力和社会信誉对各节点分配初始声誉值;b.将所有节点按照声誉值高低排序,选取声誉值高的节点作为候选节点,剩余节点为普通节点,并选取候选节点中声誉最高的节点为主节点,确定不同类型节点的声誉值更新规则;c.在一个共识阶段内进行多轮共识;d.记录每个节点在当前共识阶段中做出正确判断的轮数以及一个共识阶段内的总轮数;e.根据声誉值更新规则计算每个节点的声誉值,对节点的声誉进行更新;f.取上一轮共识阶段中的最小声誉作为本轮的声誉阈值,将低于声誉阈值的节点驱逐;g.根据更新后的声誉值,重新划分节点类型,进行下一阶段的共识。2.根据权利要求1所述的基于声誉改进的PBFT共识方法,其特征在于,节点的声誉更新规则为:R
T
=PR
T
‑1+(1

β)S
T
其中,R
T
是节点更新后的声誉值,R
T
‑1是节点上一共识阶段的声誉值,S
T
是节点在当前共识阶段中的行为分数,β为可调节参数,处于0

1之间;其中,t
succ
为节点在一个共识阶段中做出正确判断的轮数,t...

【专利技术属性】
技术研发人员:杨晓晖李天畅李想
申请(专利权)人:河北大学
类型:发明
国别省市:

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

1