一种考虑节点信誉的拜占庭容错共识方法及区块链技术

技术编号:30782609 阅读:21 留言:0更新日期:2021-11-16 07:43
本发明专利技术公开了一种考虑节点信誉的拜占庭容错共识方法及区块链。本方法为:1)建立一节点信誉度评价指标体系并计算各指标的权重;采集区块链中各节点的指标数据;2)基于指标数据和指标权重,计算各节点的信誉值;根据节点信誉值将节点分为可靠节点、中间节点和恶意节点,将中间节点作为候选节点和普通节点,得到节点集;3)将该节点集中验证通过的普通节点作为投票节点;初始化若干可靠节点作为候选管理节点,节点a将生成块请求发送给区块链并将区块链产生的对应数据块a

【技术实现步骤摘要】
一种考虑节点信誉的拜占庭容错共识方法及区块链


[0001]本专利技术涉及区块链
,具体涉及一种考虑节点信誉的拜占庭容错共识方法及区块链。

技术介绍

[0002]区块链是一种链式数据结构,按时间顺序将数据块按顺序连接在一起,是一种由密码学保证的防篡改分布式账本技术。区块链技术的关键问题是基于共识机制来解决去中心化环境下的一致性问题。在分布式系统中,多个网络节点通过同步通信形成一个网络集群。由于节点之间的网络延迟,每个节点观察到的事务顺序不能完全一致。达成共识的在一段时间内达成交易顺序的算法是共识算法。对于区块链,不同的节点选举方法形成了多种共识算法。
[0003]共识算法包括:Proof of Stake(PoS)、Delegated Proof of Stake(dPoS)、Proofable Security Proof of Stake(Ouroboros)、Betting Consensus(Casper)、Practical Byzantine Fault Tolerance Algorithm(PBFT)、Proof of Elapsed Time Proofing Algorithm(PoET)等。尽管以上共识机制在一定程度上提高了区块链网络的稳定性,但仍可能存在异常节点参与上述算法的共识,共识效率也有待进一步提高。
[0004]区块链采用分布式点对点技术,区块链节点既是交易信息提供者,也是交易信息请求者,由一个节点产生的区块内容必须通过其他区块节点验证其正确性。在整个交易过程中,区块链节点既会提出信息请求,也会提供相关交易信息,同时还需要对其他节点发出的区块内容进行验证。由于物联网环境的复杂性,无法保证所有节点都能诚实的提供可信的数据或资源,节点的欺诈、失效行为不可避免,会对交易数据的共识和信息同步的可靠性和效率产生不良影响,因此区块链的交易需要考虑节点的信誉问题。

技术实现思路

[0005]针对现有技术中存在的技术问题,本专利技术的目的在于提供一种考虑节点信誉的拜占庭容错共识方法及区块链,本专利技术设计了网络节点信誉评价算法,并结合网络节点信誉评分和投票机制,提出考虑节点信誉的PBFT共识算法,在保证网络稳定的前提下,筛选信誉度高的节点进行区块的生产,其目的是提高网络交易的可靠性,提高共识效率,减少能耗和时间延迟。
[0006]一方面,本专利技术提出了节点信誉评价方法。
[0007]本专利技术的一个重要目标是通过共识机制来保证区块链网络的安全性和可靠性。具体方法是首先选择可靠的节点参与共识,这是共识的前提和基础。
[0008]区块链具有多属性、动态和及时性的特征。因此,在评估区块链节点的可靠性时,考虑了以下因素:(1)节点信誉评估指标应为多属性、多粒度的,不能通过满意或不满意来粗略地进行。节点的可靠性应从提供数据的安全性、提供通信链路的稳定性以及节点的可用性进行全面评估。(2)考虑基于时间的更新。不能仅依靠一个事务来建立节点信誉评估,
它需要参考历史通信中的行为性能。由于节点的行为随时间变化,因此节点信誉评估得分应在必要时更新。
[0009]因此,参照信息安全系统的机密性、完整性及可用性要求,将节点信誉评价因素分为机密性因素、完整性因素、可用性因素。其中,节点的机密性因素指节点诚实工作的因素,主要考虑异常数据比率、身份欺诈比率等指标;完整性因素指防护对节点传送数据篡改的能力,主要考虑误码率、丢包率指标;可用性属性主要指节点具备的工作能力,通过节点自身的通信功能,存储功能和处理能力(即传输成功率,可用存储容量比率和处理器利用率)体现。
[0010]考虑到节点信誉评价是基于以上设定的多因素,且是多层次的,因此,提出基于AHP(层次分析法)的节点信誉评分算法,具体包括感知数据收集、基于层次分析法(AHP)的感知数据量化评分、引入时间影响因子的节点信誉综合评分、节点信誉区间划分。为后续共识机制的设计提供基础。
[0011]另一方面,基于节点信誉,提出基于信誉的拜占庭共识算法。
[0012]算法将整个网络中的节点分为四个角色:投票节点,管理节点,候选节点和普通节点。投票节点:投票节点有权对管理节点进行推荐和投票,并且可以验证和转发所生成的交易。投票节点通过实名身份验证来自普通节点。管理节点:管理节点可以在一定的周期内生成数据块。候选节点:候选节点派生自多个投票者推荐的普通节点或投票节点。普通节点:普通节点可以随时加入或退出。
[0013]整个网络中不同节点的数量是可变的。从可靠节点中选择管理节点,并隔离恶意节点。节点的信誉评分应在每个投票的预定周期内更新。根据节点信誉评估得分,动态调整表决节点,管理节点,候选节点和普通节点的角色,以适应动态网络和优化共识性能。
[0014]本专利技术的技术方案为:
[0015]一种考虑节点信誉的拜占庭容错共识方法,其步骤包括:
[0016]1)建立一节点信誉度评价指标体系;
[0017]2)基于AHP方法计算出该节点信誉度评价指标体系中各指标的权重;并根据该节点信誉度评价指标体系采集区块链中各节点的指标数据;
[0018]3)基于步骤2)采集的指标数据和指标权重,计算区块链中各节点的信誉值;根据节点信誉值将节点分为可靠节点、中间节点和恶意节点,将可靠节点用于生产区块,将中间节点作为候选节点和普通节点,隔离恶意节点,得到参与区块链交易的节点集;该节点集中包括可靠节点、候选节点和普通节点;
[0019]4)将该节点集中验证通过的普通节点作为投票节点;初始化若干可靠节点作为候选管理节点,候选管理节点a将生成块请求发送给区块链并将区块链产生的对应数据块a
u
广播给投票节点;
[0020]5)投票节点验证收到的数据块a
u
,如果验证通过则将添加签名和时间戳,并回复确认消息给候选管理节点a;
[0021]6)候选管理节点a收到的确认消息超过设定阈值,则将候选管理节点a作为管理节点。
[0022]进一步的,节点n
i
在一段时间τ内的信誉值为其中,是节点n
i
的第k个二级指标的指标值,w
k
为第k个二级指标的权重,λ∈(0,1)为时间影响因子,k∈[1,M]为时间τ内的交易执行数。
[0023]进一步的,所述设定阈值为1+N
v
/2;N
v
为投票节点的数量。
[0024]进一步的,管理节点的数量P
r
为可靠节点在节点集中的比例,x为投票节点发出的投票数,N
c
为候选节点的数量,m为候选管理节点获得的投票数量。
[0025]进一步的,所述节点信誉度评价指标体系包括一级指标:机密性、完整性和可用性,机密性对应的二级指标包括异常数据比率和身份欺诈比率,完整性对应的二级指标包括考虑误码率和丢包率,可用性对应的二级指标包括传输成功率、可用存储容量比率和处理器利用率。
[0026]进一步的,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种考虑节点信誉的拜占庭容错共识方法,其步骤包括:1)建立一节点信誉度评价指标体系;2)基于AHP方法计算出该节点信誉度评价指标体系中各指标的权重;并根据该节点信誉度评价指标体系采集区块链中各节点的指标数据;3)基于步骤2)采集的指标数据和指标权重,计算区块链中各节点的信誉值;根据节点信誉值将节点分为可靠节点、中间节点和恶意节点,将可靠节点用于生产区块,将中间节点作为候选节点和普通节点,隔离恶意节点,得到参与区块链交易的节点集;该节点集中包括可靠节点、候选节点和普通节点;4)将该节点集中验证通过的普通节点作为投票节点;初始化若干可靠节点作为候选管理节点,候选管理节点a将生成块请求发送给区块链并将区块链产生的对应数据块a
u
广播给投票节点;5)投票节点验证收到的数据块a
u
,如果验证通过则将添加签名和时间戳,并回复确认消息给候选管理节点a;6)候选管理节点a收到的确认消息超过设定阈值,则将候选管理节点a作为管理节点。2.如权利要求1所述的方法,其特征在于,节点n
i
在一段时间τ内的信誉值为其中,其中,是节点n
i
的第k个二级指标的指标值,w
k
为第k个二级指标的权重,λ∈(0,1)为时间影响因子,k∈[1,M]为时间τ内的交易执行数。3.如权利要求1所述的方法,其特征在于,所述设定阈值为1+N
v
/2;N
v
为投票节点的数量。4.如权利要求1或2或3所述的方法,其特征在于,管理节点的数量P
r
为可靠节点在节点集中的比例,x为投票节点发出的投票数,N
c
为候选节点的数量,m为候选管理节点获得的投票数量。5.如权利要求1或2或3所述的方法,其特征在于,所述节点信誉度评价指标体系包括一级指标:机密性、完整性和可用性,机密性对应的二级指标包括异常数据比率和身份欺诈比率,完整性对应的二级指标包括考虑误码率和丢包率,可用性对应的二级指标包括传输成功率、可用存储容量比率和处理器利用率。6.如权利要求5所述的方法,其特征在于,根据该节点信誉度评价指标体...

【专利技术属性】
技术研发人员:张珠君朱大立范伟
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:

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

1