System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于推荐信誉模型和聚类分析的改进拜占庭容错方法及系统技术方案_技高网

基于推荐信誉模型和聚类分析的改进拜占庭容错方法及系统技术方案

技术编号:40549573 阅读:6 留言:0更新日期:2024-03-05 19:08
本发明专利技术公开了一种基于推荐信誉模型和聚类分析的改进拜占庭容错方法及系统,方法如下:步骤1,对所有节点平均分配初始全局信任值;步骤2,将节点的全局信任值从高到低进行排序,根据节点的全局信任值将节点划分为共识组和非共识组;步骤3,在共识组中选取节点全局信任值排名靠前的节点成为主节点备选组,即主组;步骤4,进行一轮共识;步骤5,计算节点的全局信任值;步骤6,判断是否正常达成共识,若未达成共识,则从主组中重新选择主节点,并转到步骤2;若达成共识,则转到步骤7;步骤7,根据节点之间的通信行为,使用聚类分析并更新节点的全局信任值。本发明专利技术解决现有PBFT算法存在通信复杂度高、主节点作恶对系统影响较大的问题。

【技术实现步骤摘要】

本专利技术属于区块链,具体是区块链共识算法,特别涉及一种基于推荐信誉模型与聚类分析的改进拜占庭容错方法及系统。


技术介绍

1、随着互联网的不断发展,人们之间的交互模式和数据管理方式发生了重大变革。分布式账本技术即区块链技术,因其去中心化、防篡改、可追溯等特点而备受瞩目。区块链技术不仅在数字货币领域有广泛应用,也成为构建金融、物流、医疗等行业的信任基础设施的重要手段。然而,现有区块链技术在面对高并发、隐私保护等问题时仍然存在一定的局限性。因此,进一步研究和完善区块链技术具有重要意义。在现有研究中,一些学者提出了更为安全和高效的共识机制,如pbft、pos、pow、raft、paxos等,但它们也存在不同的缺陷和局限性。同时,区块链技术在应用到实际场景中时仍需更好地满足隐私保护、可扩展性等需求。

2、pbft算法是联盟链中经常使用的共识算法,该算法的共识效率较高,可以容忍1/3的拜占庭节点,但因为共识过程中所有节点都需要两两进行通信,所以一旦系统中的节点数量增加到一定程度,pbft算法的性能就会急剧下降,该算法并不适合于大规模的网络系统。而且,在pbft算法中,当主节点是拜占庭节点时,可能会对系统造成拒绝服务攻击(dos)、双重支付攻击、提案篡改攻击、节点排挤攻击等恶意影响,会降低算法的共识效率。


技术实现思路

1、针对现有技术存在的上述问题,本专利技术提供了一种基于推荐信誉模型和聚类分析的改进拜占庭方法及系统,以解决现有pbft算法存在通信复杂度高、主节点作恶对系统影响较大的问题。

2、为实现上述目的,本专利技术采取如下技术方案:

3、基于推荐信誉模型和聚类分析的改进改进拜占庭容错方法,具体按照以下步骤实施:

4、步骤1,首先对所有节点平均分配初始全局信任值。

5、步骤2,将节点的全局信任值从高到低进行排序,根据节点的全局信任值将节点划分为共识组和非共识组,只有共识组的节点才可以参与共识过程,非共识组只进行同步区块。

6、步骤3,在共识组中选取节点全局信任值排名靠前的节点成为主节点备选组,即主组。

7、步骤4,进行一轮共识。

8、步骤5,计算节点的全局信任值。

9、步骤6,判断是否正常达成共识,如果没有达成共识,则需要从主组中重新选择主节点,并转到步骤2;正常达成共识的话,转到步骤7。

10、步骤7,根据节点之间的通信行为,使用聚类分析并更新节点的全局信任值。

11、优选的,步骤1具体如下:初始共识节点由配置文件生成,主节点根据公式p=vmodn生成,其中v是视图轮次,n为共识集群中节点总数;每个节点的初始全局信任值为1/n。

12、优选的,步骤4中,其共识过程具体为:

13、步骤4.1,组准备阶段:当主节点收到客户端的请求消息后,先将打包后的消息和主组进行共享,主组中的节点以相同的视图临时记录消息。

14、步骤4.2,预准备阶段:主组节点向共识节点广播预准备消息,其他的共识节点收到该消息后进行验证,验证通过后,节点进入下一阶段。

15、步骤4.3,准备阶段:副本节点将验证预生成区块的有效性,当通过验证后节点广播准备消息,每当节点收到超过2f(f表示拜占庭节点的数量)个准备消息后,就向客户端发送回复消息。

16、步骤4.4,回复阶段:当客户端收到f+1个回复消息后,共识结束,预生成的区块被确认并且每个节点更新其本地记录。

17、值得一提的是,本专利技术改进拜占庭算法tk-pbft省略了传统pbft共识的commit阶段。共识过程中commit阶段的作用一方面是为了保证视图消息顺序和编号一致,另一方面是防止主节点出错而产生的节点状态不一致问题。而tk-pbft算法可保证新的主节点为主组中的非作恶节点,作恶的概率非常小,极大的降低了视图切换的概率。所以,省略掉确认阶段可以进一步提高系统的效率,且不会产生任何负面影响。

18、优选的,步骤5中,其全局信任值的计算过程具体为:

19、步骤5.1,计算直接信任值;根据各节点之间直接通信的历史行为进行评估打分计算,其计算公式为:

20、

21、其中,sij表示节点i对节点j的本地信任值;当节点i收到节点j的信息时,可以对节点j的信息进行评级为正(trij=1)或负(trij=-1),则sij=∑trij,即节点i对节点j的历史行为的评分。

22、步骤5.2,推荐信任值:主要是用来表述那些共识过程中没有直接通信的节点之间的信任值。其计算公式为:

23、

24、其中,cij表示节点i对节点j的直接信任值。

25、步骤5.3,局部信任值:统一一个节点对另一个节点的信任程度,其计算公式为:

26、sij=cij+tij

27、其中,cij表示直接信任值,tij表示推荐信任值。

28、步骤5.4,全局信任值:标识节点在系统中的可信程度,其计算公式为:

29、

30、其中,表示节点i上一轮的全局信任值,ti表示节点i本轮的全局信任值,tj表示节点j本轮的全局信任值,sji表示节点j对节点i的局部信任值,x表示上一轮全局信任值在计算本轮全局信任值时所占的比重。

31、优选的,步骤7中,其聚类分析并更新全局信任值的过程具体为:

32、步骤7.1,采用k-means聚类算法,利用节点的全局信任值,可信状态以及是否是共识组等特征来进行聚类分析,节点被划分为多个组。

33、步骤7.2,对于那些和恶意节点分到一组的节点,降低其全局信任值,但不能降为恶意节点的阈值,具体操作如下:

34、ti=λti

35、其中,λ表示节点信任值下降的比例。

36、步骤7.3,对于那些和主节点或主组节点分到一组的非主组节点,增大其全局信任值,但不能达到主组节点的阈值,具体操作如下:

37、ti=ρti

38、其中,ρ表示节点信任值增加的比例。

39、本专利技术还公开了一种基于推荐信誉模型和聚类分析的改进拜占庭容错系统,其基于上述的方法,包括如下模块:

40、初始全局信任值分配模块:对所有节点平均分配初始全局信任值;

41、节点划分模块:将节点的全局信任值从高到低进行排序,根据节点的全局信任值将节点划分为共识组和非共识组;

42、主组选取模块:在共识组中选取节点全局信任值排名靠前的节点成为主节点备选组,即主组;

43、共识模块:进行一轮共识;

44、全局信任值计算模块:计算节点的全局信任值;

45、共识达成判断模块:判断是否正常达成共识,若未达成共识,则从主组中重新选择主节点,并转到节点划分模块执行;若达成共识,则转到聚类分析及更新模块执行;

46、聚类分析及更新模块:根据节点之间的通信行为,使用本文档来自技高网...

【技术保护点】

1.基于推荐信誉模型和聚类分析的改进拜占庭容错方法,其特征是按如下步骤:

2.如权利要求1所述基于推荐信誉模型和聚类分析的改进拜占庭容错方法,其特征是:

3.如权利要求1所述基于推荐信誉模型和聚类分析的改进拜占庭容错方法,其特征是:

4.如权利要求1-3任一项所述基于推荐信誉模型和聚类分析的改进拜占庭容错方法,其特征是:

5.如权利要求4所述基于推荐信誉模型和聚类分析的改进拜占庭容错方法,其特征是:

6.基于推荐信誉模型和聚类分析的改进拜占庭容错系统,其基于权利要求1-5任一项所述的方法,其特征是包括如下模块:

【技术特征摘要】

1.基于推荐信誉模型和聚类分析的改进拜占庭容错方法,其特征是按如下步骤:

2.如权利要求1所述基于推荐信誉模型和聚类分析的改进拜占庭容错方法,其特征是:

3.如权利要求1所述基于推荐信誉模型和聚类分析的改进拜占庭容错方法,其特征是:

4.如权利要求1-...

【专利技术属性】
技术研发人员:李合计王明阳徐欣刘涛梁军学姚英彪韦博杨阿锋张权
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

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

1