System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及通信,尤其涉及一种区块链共识方法、装置、设备及存储介质。
技术介绍
1、区块链是一种去中心化、数据不可篡改的分布式技术,广泛应用于各个领域,在区块链系统中,共识算法起着至关重要的作用,而raft算法(一种共识算法)作为一种高效、低成本的共识算法,已成为区块链平台推荐的共识算法。
2、然而,区块链本质上就是一种存在恶意节点的、特殊的分布式系统,对于安全、不可篡改性的需求远远高于其他的分布式系统,而raft算法在应用中默认所有节点都是善意节点,在基于raft算法的区块链共识中,对应领导节点积极出块没有奖励措施,领导节点作恶或者节点宕机也没有对应的惩罚措施和保护措施,也无法有效处理拜占庭节点和作恶节点等,这无疑打击正常节点参与共识的积极性,给联盟链的应用带来负面影响。
3、综上,如何降低上述问题对联盟链带来的负面影响,以有效维护联盟链的健壮性,俨然已经成为本领域亟待解决的技术问题。
技术实现思路
1、本申请的主要目的在于提供一种区块链共识方法、装置、设备及存储介质,旨在有效维护联盟链的健壮性。
2、为实现上述目的,本申请提供一种区块链共识方法,所述区块链共识方法包括:
3、基于预设的pagerank算法(网页排名算法)计算区块链中各节点的活跃度;
4、根据各所述节点的工作状态计算各所述节点的诚实度;
5、根据所述活跃度和所述诚实度计算信誉值,其中,各所述节点各自的选举投票权重与所述信誉值正相关,各所述节点各
6、根据所述信誉值进行领导选举,以完成区块链共识流程。
7、可选地,所述方法还包括:
8、确定区块链信誉评估周期;
9、实时监控区块链的出块情况,并对出块次数进行统计;
10、当所述出块次数达到所述区块链信誉评估周期时,则执行所述基于预设的pagerank算法计算区块链中各节点的活跃度的步骤以及后续步骤。
11、可选地,所述基于预设的pagerank算法计算区块链中各节点的活跃度的步骤,包括:
12、获取所述区块链信誉评估周期内所述区块链中各节点的消息收发数据;
13、基于预设的pagerank算法根据所述消息收发数据计算节点转移概率,并根据所述节点转移概率、预设的阻尼系数和历史活跃度计算各所述节点的活跃度。
14、可选地,所述根据所述活跃度和所述诚实度计算信誉值的步骤,包括:
15、计算所述区块链信誉评估周期内作恶节点的消息数目在全量消息数目中的占比,并将计算结果作为所述区块链信誉评估周期内的作恶系数;
16、针对每一个所述节点,根据所述作恶系数、预设的信誉值调整参数、所述节点的活跃度、所述节点的诚实度、信誉评估次数和所述节点在所述区块链评估次数中诚实工作的次数计算所述节点的信誉值,其中,所述信誉值与所述诚实度、所述活跃度成正比,且所述信誉值的变化幅度与所述作恶系数成正比。
17、可选地,各所述节点包括:领导者节点、跟随者节点和候选者节点,所述根据所述信誉值进行领导选举的步骤,包括:
18、针对每一个所述跟随者节点,若确定所述跟随者节点在对应的选举超时时间内未收到所述领导者节点的心跳信息,则将所述跟随者节点转换为所述候选者节点并进行领导选举;
19、若所述候选者节点在所述领导选举中收到的信誉值投票超过预设投票值,则确定所述候选者节点选举成功,将所述候选者节点转换为新的领导者节点。
20、可选地,所述根据所述信誉值进行领导选举的步骤,还包括:
21、针对每一个所述跟随者节点,若所述跟随者节点接收到所述候选者节点的投票请求信息,则根据所述跟随者节点与所述候选者节点的日志条目数量、条目内容确定所述候选者节点是否拥有最新日志;
22、若确定所述候选者节点拥有最新日志,则按照所述跟随者节点对应的投票权重为所述候选者节点增加信誉值投票。
23、可选地,在所述根据所述活跃度和所述诚实度计算信誉值的步骤之后,所述方法还包括:
24、将各所述节点的各信誉值分别与预设的信誉值阈值进行比较;
25、若各所述信誉值中存在目标信誉值低于所述信誉值阈值,则将所述目标信誉值对应的目标节点确定为作恶节点,并对所述作恶节点进行相应惩罚处理。
26、此外,为实现上述目的,本申请还提供一种区块链共识装置,所述区块链共识装置包括:
27、活跃度计算模块,用于基于预设的pagerank算法计算区块链中各节点的活跃度;
28、诚实度计算模块,用于根据各所述节点的工作状态计算各所述节点的诚实度;
29、信誉值计算模块,用于根据所述活跃度和所述诚实度计算信誉值,其中,各所述节点各自的选举投票权重与所述信誉值正相关,各所述节点各自的选举超时时间与所述信誉值负相关;
30、选举模块,用于根据所述信誉值进行领导选举,以完成区块链共识流程。其中,本申请区块链共识装置的各个功能模块在运行时实现如上所述的区块链共识方法的步骤。
31、此外,为实现上述目的,本申请还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的区块链共识程序,所述区块链共识程序被所述处理器执行时实现如上所述的区块链共识方法的步骤。
32、此外,为实现上述目的,本申请还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有区块链共识程序,所述区块链共识程序被处理器执行时实现如上所述的区块链共识方法的步骤。
33、本申请提供的一种区块链共识方法、装置、设备及存储介质,其中,区块链共识方法包括:基于预设的pagerank算法计算区块链中各节点的活跃度;根据各所述节点的工作状态计算各所述节点的诚实度;根据所述活跃度和所述诚实度计算信誉值,其中,各所述节点各自的选举投票权重与所述信誉值正相关,各所述节点各自的选举超时时间与所述信誉值负相关;根据所述信誉值进行领导选举,以完成区块链共识流程。
34、具体而言,本申请通过pagerank算法计算区块链中各节点的活跃度,活跃度用于表征节点在区块链中的重要性、积极性,还根据各节点的工作状态计算各节点的诚实度,诚实度用于表征节点在区块链共识过程中的行为是否规范,再根据各节点的活跃度和诚实度计算各节点各自的信誉值,并使各节点各自的选举投票权重与该信誉值正相关,各节点各自的选举超时时间与该信誉值负相关,再基于各节点的信誉值进行领导选举以完成区块链共识流程。
35、如此,通过对各节点的信誉值进行评估,使得信誉值高的节点在区块链共识过程中具有更大的影响力,而拜占庭节点和作恶节点等信誉值低的节点在区块链共识过程中的影响力减弱,从而使节点之间更容易达成共识、进行数据交换等合作行为,也降低了区块链中拜占庭节点和作恶节点对联盟链带来的负面影响,有效维护了联本文档来自技高网...
【技术保护点】
1.一种区块链共识方法,其特征在于,所述方法包括:
2.如权利要求1所述的区块链共识方法,其特征在于,所述方法还包括:
3.如权利要求2所述的区块链共识方法,其特征在于,所述基于预设的PageRank算法计算区块链中各节点的活跃度的步骤,包括:
4.如权利要求3所述的区块链共识方法,其特征在于,所述根据所述活跃度和所述诚实度计算信誉值的步骤,包括:
5.如权利要求1所述的区块链共识方法,其特征在于,各所述节点包括:领导者节点、跟随者节点和候选者节点,所述根据所述信誉值进行领导选举的步骤,包括:
6.如权利要求5所述的区块链共识方法,其特征在于,所述根据所述信誉值进行领导选举的步骤,还包括:
7.如权利要求1所述的区块链共识方法,其特征在于,在所述根据所述活跃度和所述诚实度计算信誉值的步骤之后,所述方法还包括:
8.一种区块链共识装置,其特征在于,所述区块链共识装置包括:
9.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的区块链共识
10.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质上存储有区块链共识程序,所述区块链共识程序被处理器执行时实现如权利要求1至7中任一项所述的区块链共识方法的步骤。
...【技术特征摘要】
1.一种区块链共识方法,其特征在于,所述方法包括:
2.如权利要求1所述的区块链共识方法,其特征在于,所述方法还包括:
3.如权利要求2所述的区块链共识方法,其特征在于,所述基于预设的pagerank算法计算区块链中各节点的活跃度的步骤,包括:
4.如权利要求3所述的区块链共识方法,其特征在于,所述根据所述活跃度和所述诚实度计算信誉值的步骤,包括:
5.如权利要求1所述的区块链共识方法,其特征在于,各所述节点包括:领导者节点、跟随者节点和候选者节点,所述根据所述信誉值进行领导选举的步骤,包括:
6.如权利要求5所述的区块链共识方法,其特征在于,所述根据所述信誉值进行领导选举的步骤,...
【专利技术属性】
技术研发人员:夏嵩,张胜利,王晖,陈浩,唐华云,王延昭,陈式敏,
申请(专利权)人:深圳大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。