System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于权重随机选举和分组信誉的PBFT的共识方法技术_技高网

基于权重随机选举和分组信誉的PBFT的共识方法技术

技术编号:41090904 阅读:22 留言:0更新日期:2024-04-25 13:51
本发明专利技术公开了一种基于权重随机选举和分组信誉的PBFT的共识方法,属于区块链技术领域,在供应链溯源方面有很广泛的应用。该共识方法包括以下步骤:首先,采用罗吉斯蒂克函数建立信誉模型,引入时间衰减函数构建信誉奖惩机制,对区块链的所有节点信誉初始值更新,并对更新后的信誉值对节点进行排序;其次,采用分层思想根据信誉值的排序对节点进行分组,分为监督组、共识组、预备组和拜占庭组,将信誉值排名靠前的多个节点分入监督组;然后,以网络内节点信誉值为权重,采用随机权重方法,在共识组内选举出主节点N<subgt;prim</subgt;;最后,在一致性协议共识过程中,当主节点收到至少f+1个来自不同节点的信息时,对该信息进行最终判断,并将最终判断结果返回给所有节点,完成共识并生成新区块Block,该共识方法降低了传统PBFT算法的通信复杂度,提高共识效率。

【技术实现步骤摘要】

本专利技术涉及区块链,具体为一种基于权重随机选举和分组信誉的pbft的共识方法。


技术介绍

1、随着信息技术的发展,区块链技术也得到了广泛关注,在金融、医疗、司法、物流、溯源、公共管理等领域具有很好的应用潜力且逐渐成为研究热点。区块链技术本质是一种去中心化的分布式数据库,具有去中心化、可追溯、点对点通信等特点。共识算法是区块链技术的核心,也是系统性能的重要体现,它保证了节点上数据的正确性和一致性。截至目前,已经出现许多类型不同的区块链共识算法,常用的共识算法为:工作量证明(proof ofwork,pow)、权益证明(proof of stake,pos)、股份授权证明(delegated proof of stake,dpos)、raft(replication and fault tolerant)、实用拜占庭容错(practical byzantinefault tolerance,pbft)。

2、pow共识算法主要应用在在公有链中,该算法依靠计算机自身的性能来争取记账权,使得系统是完全去中心化,但该算法极其消耗算力,违背了环保理念。pos共识算法引入币龄概念,币龄被掌控时间越长,节点获得记账权机会就越大,该算法在算力消耗上有所降低,但会导致较为严重的中心化问题。dpos共识算法在pos算法改进而来,较于pos共识算法,可以大幅减少能耗,提升共识效率。由于该算法主要通过选取少部分节点作为记账节点来代替自己行使记账权,会产生节点不积极投票和贿赂节点的问题。raft共识算法在私有链中应用广泛,该算法核心是日志复制和选举领导两个过程,其通信复杂度低,但会产生伪造日志的问题。

3、pbft算法是一类状态机拜占庭共识算法,pbft共识算法广泛应用于联盟链供应链溯源技术中,该算法能够容忍网络中存在的拜占庭节点,包括宕机节点和恶意节点。该算法由一致性协议、视图更换协议和检查点协议三部分组成,可以容忍小于1/3个系统节点数的无效或恶意节点,但仍有许多待改进之处。首先pbft一致性协议中,准备与确认阶段的通信复杂度各有o(n2),通信复杂度过高,其中n为网络节点总数;其次pbft共识算法中主节点按照顺序选出,主节点选取太过于随意,且所有节点均为共识节点,影响了主节点的可靠性与节点的积极性;最后pbft共识算法没有奖惩机制,即使在出现拜占庭节点时也无惩罚措施,极大地影响了系统的安全性。

4、联盟链在供应链溯源应用方面得到广泛应用,随着供应链上的企业逐渐增多,供应链结构也更加复杂。供应链上的信息分布在不同的供应链成员手中,信息共享程度较低,信息的真实、可靠性也难以保证,且传统的pbft共识方法存在通信复杂度过高、主节点选取太过于随意、无奖惩机制等改进之处。为确保供应链上各成员节点上的溯源信息高效交互、实时共享、不可篡改等,本专利技术提供一种基于权重随机选举和分组信誉的pbft的共识方法,降低了传统pbft算法的通信复杂度,提高共识效率。


技术实现思路

1、针对现有技术中存在的问题,本专利技术提供一种基于权重随机选举和分组信誉的pbft的共识方法,降低了传统pbft算法的通信复杂度,提高共识效率。

2、本专利技术是通过以下技术方案来实现:

3、一种基于权重随机选举和分组信誉的pbft的共识方法,包括以下步骤:

4、步骤1、采用罗吉斯蒂克函数建立信誉模型,引入时间衰减函数构建信誉奖惩机制,对区块链的所有节点信誉初始值更新,并对更新后的信誉值对节点进行排序;

5、步骤2、采用分层思想根据信誉值的排序对节点进行分组,分为监督组、共识组、预备组和拜占庭组,将信誉值排名靠前的多个节点分入监督组;

6、步骤3、以网络内节点信誉值为权重,采用随机权重方法,在共识组内选举出主节点nprim;

7、步骤4、在一致性协议共识过程中,当主节点收到至少f+1个来自不同节点的信息时,对该信息进行最终判断,并将最终判断结果返回给所有节点,达成共识生成新区块block。

8、优选的,步骤1中所述信誉值迭代更新方法如下:

9、

10、其中,ri,j表示第i轮共识,节点j的信誉值,si,j表示节点j的信誉因子;

11、

12、其中,是第i轮共识下节点j的共识行为因子,α为共识行为因子调节系数,为时间衰减因子,m为共识总轮数,tjn*为节点j的参与共识标识符号值,是节点j的共识参与活跃因子,β为共识参与活跃因子调节系数,表示共识惩罚因子,γ为共识惩罚因子调节系数,g(x)为标准正态函数。

13、优选的,步骤2中所述对节点分组的分组方法如下:

14、设置诚信阀值rhonest、普通阀值rcommon和质疑阀值rdoubtful;

15、节点信誉值满足rhonest≤rj时,将对应的节点划入监督组;

16、节点信誉值满足时,将对应的节点划入共识组;

17、节点信誉值满足时,将对应的节点划入预备组;

18、节点信誉值满足时,将对应的节点划入拜占庭组。

19、优选的,新节点的分组方法如下:

20、新节点向监督组广播申请消息,监督组中节点收到申请消息后,对新节点的信息进行审核,若审核通过将其加入预备组;

21、当预备组中节点退出时,向监督组广播申请消息,监督组中节点收到申请消息后,对节点信息进行审核,若审核通过将其划入拜占庭组。

22、优选的,步骤3中所述主节点的选举方法如下:

23、监督组生成随机数rn∈(0,1),并向共识组广播,并搜索出符合该随机值的节点信誉值,并向共识组广播<j,rj>,共识组中节点收到后与本地日志进行对比,发送<j,r′j>,若监督节点发现rj≠r′j则监督节点会向整个系统广播该共识节点j,该节点驱逐出共识组至拜占庭组,并被系统记录为恶意节点,否则选举节点j为共识主节点。

24、优选的,所述节点的权重的表示式如下:

25、

26、其中,rj为节点j的信誉值,为共识组中所有信誉值的总和。

27、优选的,步骤4所述一致性协议共识过程分为以下5个阶段:

28、request阶段:客户端c向主节点p发送request消息;

29、pre-prepare阶段:主节点p接收request消息,为该请求消息分配一个编号n,将交易产生的数据存入交易池,主节点p将交易池中验证通过的交易数据打包后将数据块的信息广播向共识组其他节点发送pre-prepare消息;

30、prepare阶段:共识节点i接受到主节点p发出数据块pre-prepare消息后进行验证,若验证信息是正确的且没有被恶意篡改,则进行签名并加盖时间戳,将消息写入消息日志,然后采用组播方式将prepare消息发送给其他节点;

31、commit阶段:节点i接受prepare消息,则将消息写入消息日志,接本文档来自技高网...

【技术保护点】

1.一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,步骤1中所述信誉值迭代更新方法如下:

3.根据权利要求1所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,步骤2中所述对节点分组的分组方法如下:

4.根据权利要求3所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,新节点的分组方法如下:

5.根据权利要求1所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,步骤3中所述主节点的选举方法如下:

6.根据权利要求5所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,所述节点的权重的表示式如下:

7.根据权利要求1所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,步骤4所述一致性协议共识过程分为以下5个阶段:

8.根据权利要求1所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,其特征在于,步骤4中,当所述主节点宕机或者作恶,则对其进行信誉惩罚,并触发视图切换协议选取新的主节点,失效主节点信誉值更新后重新确定其所属节点分组。

9.根据权利要求1所述的一种基于权重随机选举和分组信誉的PBFT的共识方法,还包括以下步骤:步骤5在每个共识阶段结束后,监督节点根据系统中所有节点在当前共识阶段的表现并综合节点在上一轮共识阶段的表现,对每个节点的信誉值进行更新,并发送给各个节点,各个节点收到监督节点的消息后进行验证,待验证结束后监督节点根据其他节点的反馈,再对自身的信誉值进行更新。

...

【技术特征摘要】

1.一种基于权重随机选举和分组信誉的pbft的共识方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于权重随机选举和分组信誉的pbft的共识方法,其特征在于,步骤1中所述信誉值迭代更新方法如下:

3.根据权利要求1所述的一种基于权重随机选举和分组信誉的pbft的共识方法,其特征在于,步骤2中所述对节点分组的分组方法如下:

4.根据权利要求3所述的一种基于权重随机选举和分组信誉的pbft的共识方法,其特征在于,新节点的分组方法如下:

5.根据权利要求1所述的一种基于权重随机选举和分组信誉的pbft的共识方法,其特征在于,步骤3中所述主节点的选举方法如下:

6.根据权利要求5所述的一种基于权重随机选举和分组信誉的pbft的共识方法,其特征在于,所述节点的权重的表示式如下:...

【专利技术属性】
技术研发人员:王乐苏秦李飞云
申请(专利权)人:西安交通大学
类型:发明
国别省市:

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

1