CN111355810A - 一种基于信誉与投票机制的改进pbft共识方法 - Google Patents

一种基于信誉与投票机制的改进pbft共识方法 Download PDF

Info

Publication number
CN111355810A
CN111355810A CN202010184664.3A CN202010184664A CN111355810A CN 111355810 A CN111355810 A CN 111355810A CN 202010184664 A CN202010184664 A CN 202010184664A CN 111355810 A CN111355810 A CN 111355810A
Authority
CN
China
Prior art keywords
node
nodes
reputation
main
abnormal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010184664.3A
Other languages
English (en)
Other versions
CN111355810B (zh
Inventor
陈俊华
张夏
张珈铜
黄学达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Anke Baiteng Technology Co ltd
Shenzhen Hongyue Enterprise Management Consulting Co ltd
Original Assignee
Chongqing University of Post and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN202010184664.3A priority Critical patent/CN111355810B/zh
Publication of CN111355810A publication Critical patent/CN111355810A/zh
Application granted granted Critical
Publication of CN111355810B publication Critical patent/CN111355810B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明属于区块链技术领域,提出了一种基于信誉与投票机制的改进PBFT共识方法,包括对节点进行状态划分,并根据节点在共识过程的表现进行节点状态的转换;根据节点的状态进行权限分配,具有参选权限的节点可参与主节点选举,并根据投票计算选举出主节点;主节点接收客户端发送的请求,广播该请求给备份节点,开始共识过程;共识过程中,如果主节点故障或作恶,根据主节点异常情况进行视图切换;本发明与传统PBFT相比,增加了平均吞吐量,降低了时延,提高了系统的运行效率和安全性。

Description

一种基于信誉与投票机制的改进PBFT共识方法
技术领域
本发明属于区块链技术领域,提出了一种基于信誉与投票机制的改进实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)共识方法。
背景技术
目前区块链技术已为各行各业提供去中心化解决方案,形成分布式数据存储、密码学、网络协议、共识机制等计算机技术组成的新型应用模式。共识机制是区块链技术的核心,通过节点共识过程保证了节点中最新交易集生成区块的一致,从而保障分布式网络正常运行。
目前,区块链中共识算法主要有:工作量证明(Proof of Work,PoW)、股权证明(Proof of Stack,PoS)、授权股权证明(Delegated Proof of Stack,DPoS)和PBFT。PoW算法中,各个节点通过算力解决密码学问题,可获得记账的权利,并得到一定的收益,保障了比特币的安全性和公平性,但浪费了巨大的计算和能量资源。PoS算法是为了解决PoW的资源浪费提出的替代性方案,一定程度上减少了资源的使用,提高了区块生成速度,但实际开发成本仍然很高。DPoS算法通过赋予每个持股人一定的投票权,由他们投票产生“挖矿”代表,降低了计算成本,是一种高效的共识算法。然而,DPoS中的奖励分布不均匀,容易产生较大的贫富差距,且恶意节点的防御能力弱,所以系统安全性较低。PBFT算法主要为解决分布式系统中存在拜占庭错误节点的一致性问题,在拜占庭协议的基础上,将算法复杂度从指数级降到了多项式级。
PBFT算法中的节点分为主节点和备份节点,每个节点按顺序从0到N-1分配一个编号,其中N为节点个数。主节点的编号记为p,主要职责为接收客户端提交的请求,并将请求消息广播给备份节点。该算法中每一次共识中所有的数据集群称为一个视图(view),为方便管理视图,将视图记作v,同时从0开始对其进行编号,主节点p满足p=v mod N。PBFT共识过程的核心三阶段,包括预准备阶段(pre-prepare),准备阶段(prepare)和确认阶段(commit),下面对三个阶段进行简要描述。
(1)预准备阶段,主节点广播预准备消息给备份节点。
(2)准备阶段,备份节点收到预准备消息后会对消息内容进行验证,节点验证、检查并接受预准备消息后,则该节点进入准备阶段,并向其他节点广播准备消息,然后将预准备消息写入日志。
(3)确认阶段,节点验证准备消息为真后,会向其他节点广播确认消息,当收到2f+1(f是最大可容忍的拜占庭节点数)个确认消息后,代表大多数节点已经进入确认状态,达成共识,于是节点会执行请求消息的内容。
上述过程中,如果备份节点认为主节点故障或作恶时,会向其他节点广播视图切换(view-change)消息。当收到2f个其他节点有效的view-change消息时,证明主节点异常,此时视图编号加1,下一个编号的节点成为主节点,主节点会继续执行上个视图未处理完的请求。
将PBFT算法作于区块链的共识算法,在保证系统运行效率的前提上,具有较高可靠性和安全性,目前已广泛应用于部分去中心化,由多个组织共同管理区块链网络的联盟链中。然而,PBFT算法中仍然存在部分问题:
(1)异常节点担任主节点。PBFT算法中对于主节点的选取采用顺序制,无法保证主节点的可靠性,容易产生异常节点担任主节点的情况。虽然视图切换协议保证了系统的安全性和活性,但是频繁更换视图,极大的降低了系统运行效率。
(2)共识过程通信开销大。共识过程中包含三次广播,预准备阶段,一次单节点广播,准备阶段和确认阶段,两次全节点广播,非常消耗网络带宽,浪费通信资源。
(3)视图切换效率低。当备份节点认为主节点异常时会向其他节点广播view-change消息,而主节点出现异常的情况多种多样,每次异常都进行广播会浪费通信资源。
发明内容
为了降低现有PBFT共识方法中异常节点担任主节点的概率,并节省节点间通信产生的资源损耗,从而提高系统的运行效率和安全性,本发明提出一种基于信誉与投票机制的改进PBFT共识方法,包括以下步骤:
对节点进行状态划分,并根据节点在共识过程的表现进行节点状态的转换;
根据节点的状态进行权限分配,具有参选权限的节点可参与主节点选举,并根据投票计算选举出主节点;
主节点接收客户端发送的请求,广播该请求给备份节点,开始共识过程;
共识过程中,如果主节点故障或作恶,根据主节点异常情况进行视图切换。
进一步的,对节点进行状态划分包括根据节点的信誉值从高到低将节点分为可信节点、正常节点、异常节点、不可信节点以及无效节点5个状态,另外设置一个与信誉值无关的状态为审查节点。
进一步的,节点状态的转换包括:
若可信节点未产生有效区块,其状态转换为审查节点;
若正常节点多次产生有效节点,且其信誉值达到可信节点的区间,则该正常节点转换为可信节点;
若正常节点未产生有效区块,则状态转换为审查节点;
若异常节点多次产生有效区块且信誉值达到正常节点的阈值,则转换为正常节点;
若异常节点故障或作恶,其状态转换为不可信节点;
若不可信节点多次产生有效区块且其信誉值达到异常节点的阈值,则状态转换为异常节点;
若不可信节点故障或作恶,则状态转换为无效节点;
若审查节点故障,且其信誉值处于可信节点的区间,则状态装换为异常节点;
若审查节点作恶,或者审查节点故障且其信誉值未处于信誉节点的区间,则其状态转换为异常节点。
进一步的,将节点信誉值设置为[0,K),系统刚运行时所有节点的初始信誉值均为K1,如果节点成功产生有效区块,系统会奖励k点信誉值;可信节点的信誉值为[K2-150),正常节点的信誉值为[K1-K2),异常节点的信誉值为[K3-K1),不可信节点的信誉值为[K4-K3),无效节点的信誉值为0;K2、K1、K3、K4分别为可信节点、正常节点、异常节点、不可信节点的阈值。
进一步的,可信节点、正常节点具有参与主节点选举的权限;可信节点、正常节点、异常节点具有参与选举主角点时投票的权限;可信节点、正常节点、异常节点、不可信节点具有参与共识过程的权限。
进一步的,根据投票计算选举出主节点的过程包括:
Figure BDA0002413719620000041
其中,Scoren为参与选举的节点的得分;creditn是参选节点n的信誉值,creditk是投票节点k的信誉值,votek是k节点投票的投票情况,支持、反对和弃权分别对应1、-1和0;K是信誉值的最大值N是参与投票的节点数量;λ和μ为权重比例,λ+μ=1。
进一步的,当可信节点参加选举主节点时,λ为0.65、μ为0.35;当正常节点参加选举主节点时,λ为0.45、μ为0.55。
进一步的,开始共识过程包括:
主节点广播一致性提案消息;
备份节点接收一致性提案消息,判断主节点是否故障或者作恶,若主节点故障或作恶,则根据主节点异常情况进行视图切换;
否则备份节点广播一致性确认消息;
若主节点在规定时间内收到备份节点广播的2f个有效的一致性确认消息,则达成共识,其他节点执行主节点的请求消息,发布区块;否则执行视图切换过程。
进一步的,进行视图切换的过程包括:
当主节点响应超时,重新选择主节点,新的主节点向备份节点广播new-view消息,并且视图编号加1,新的主节点执行上一个视图未完成的操作;
当主节点响应未超时,若备份节点认为主节点作恶,该备份节点向其他备份节点广播view-change事件,若收到2f个不同备份节点的视图编号为v+1的view-change事件则选择新的主节点,新的主节点向备份节点广播new-view消息,并且视图编号加1,新的主节点执行上一个视图未完成的操作。
本发明优化了PBFT的主节点确认机制,减少了异常节点担任主节点的情况;优化了PBFT的共识过程,节省了节点共识过程中产生的通信资源损耗;优化了PBFT的视图切换协议,提高了视图切换效率。本发明与传统PBFT相比,增加了平均吞吐量,降低了时延,提高了系统的运行效率和安全性。
附图说明
图1为本发明一种基于信誉与投票机制的改进PBFT共识方法的节点状态转化图;
图2为本发明一种基于信誉与投票机制的改进PBFT共识方法的共识过程图;
图3为本发明一种基于信誉与投票机制的改进PBFT共识方法的视图切换过程图;
图4为本发明一种基于信誉与投票机制的改进PBFT共识方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种基于信誉与投票机制的改进PBFT共识方法,具体包括以下步骤:
对节点进行状态划分,并根据节点在共识过程的表现进行节点状态的转换;
根据节点的状态进行权限分配,具有参选权限的节点可参与主节点选举,并根据投票计算选举出主节点;
主节点接收客户端发送的请求,广播该请求给备份节点,开始共识过程;
共识过程中,如果主节点故障或作恶,根据主节点异常情况进行视图切换。
在本实施例中,对节点进行状态划分包括根据节点的信誉值从高到低将节点分为可信节点、正常节点、异常节点、不可信节点以及无效节点5个状态,另外设置一个与信誉值无关的状态为审查节点。
进一步的,将节点信誉值设置为[0,K),系统刚运行时所有节点的初始信誉值均为K1,如果节点成功产生有效区块,系统会奖励k点信誉值;可信节点的信誉值为[K2-150),正常节点的信誉值为[K1-K2),异常节点的信誉值为[K3-K1),不可信节点的信誉值为[K4-K3),无效节点的信誉值为0;K2、K1、K3、K4分别为可信节点、正常节点、异常节点、不可信节点的阈值。
在本实施例中,如表1所示,将K设置为150,节点信誉值为100至149时为可信节点(Credible);节点信誉值为60至99时为普通节点(Normal);节点信誉值为30至59时为异常节点(Excepted),节点信誉值为10至29时为不可信节点(Untrusted);节点信誉值为10至29时为无效节点(Invalid);审查节点(Check)为一种特殊的节点状态,无信誉值。另外,设置信誉值100为good信誉阈值,信誉值60为normal信誉阈值,信誉值30为excepted信誉阈值,信誉值10为untrusted信誉阈值。普通节点(Normal)若出现故障或作恶行为则降级为Untrusted,信誉值降为10。
表1
Figure BDA0002413719620000061
节点状态转换如图2所示。系统刚运行时节点均为Normal状态,当节点多次产生有效区块且信誉值达到可信节点信誉阈值时可升级为Credible状态。处于Credible状态或Normal状态的节点共识过程中未产生有效区块,则该节点状态变为Check状态。此时系统会对节点出错行为和信誉值进行审查,若节点信誉值高于good阈值且节点故障,即节点因为系统繁忙、宕机或网络问题等异常情况导致出块失败,节点将变为Excepted状态;若节点为作恶节点,即节点在共识过程中故意发送错误信息或不同信息给其他节点,使整个集群中的节点无法达成共识,节点将变为Untrusted状态。Excepted状态的节点如果出现故障或作恶情况,将降级为Untrusted状态;Untrusted状态的节点如果出现故障或作恶情况,则节点状态转换为Invalid;另外,节点产生有效区块后信誉值达到一定的阈值,节点状态也会进行相应的升级。
进一步的,本发明对处于不同状态的节点的权限进行限定,如表2所示,Credible和Normal节点拥有参选、投票和共识的所有权限,其中参选即参与主节点选举,投票即为参选的节点投票,共识即参与共识过程;Excepted节点具有投票和共识的权限,但无参选权限,所以不能参与主节点选举;Untrusted节点只能参与共识过程,无参选和投票权限;Invalid节点无法任何权限;Check节点为一种特殊节点,在审查完成之前,也不具备任何权限。
表2
Figure BDA0002413719620000071
在本实施例中,具有参选权限的节点可以参与主节点选举,本发明提出一种新的投票计算公式,参选节点的最终得分为:
Figure BDA0002413719620000081
其中,Scoren为参与选举的节点的得分;creditn是参选节点n的信誉值,creditk是投票节点k的信誉值,votek是k节点投票的投票情况,支持、反对和弃权分别对应1、-1和0;K是信誉值的最大值,N是参与投票的节点数量;λ和μ为权重比例,λ+μ=1;本发明中节点的总得分主要分为两部分,基础分和投票分。基础分为参选节点信誉值与参数λ的乘积,投票分为投票节点的信誉值与总信誉值占比,投票情况和参数μ三者计算得到。creditn是参选节点n的信誉值,creditk是投票节点k的信誉值,votek是k节点投票的投票情况,支持、反对和弃权分别对应1、-1和0。另外,引进两个参数λ和μ(λ+μ=1),参与主节点选举的Credible节点和Normal节点具有不同的λ和μ,两个参数在一定程度上可以影响参选节点总得分。节点处于Credible状态时,信誉度较高,成为主节点所需票数应少于Normal节点。然而,λ值越小成为主节点所需票数越多,所以Credible节点的λ值应大于0.5,对应Normal节点的λ值则应小于0.5。通过多次实验测试得出,Credible节点的λ值为0.65,Normal节点的λ值为0.45时,投票选举最公平。所以Credible节点的λ和μ分别为0.65和0.35,Normal节点的λ和μ分别为0.45和0.55。
对于主节点选取,PBFT算法依据公式p=v mod N按顺序确定主节点编号,异常节点很有可能担任主节点,影响系统的运行效率。IPBFT算法中,引入信用模型与投票机制优化主节点确认机制,信誉度高的节点通过选举成为主节点的概率较大,有效降低异常担任主节点的可能性,提高了系统安全性和运行效率。算法伪代码如下:
Figure BDA0002413719620000082
Figure BDA0002413719620000091
Master()为主节点确认函数,返回主节点编号,Scores数组存放的是按参选节点总得分排序后的节点编号,当change-view(视图切换信号)为真,则进行视图切换操作,视图编号加1,并选取排序节点中的下一个节点作为主节点。
本发明改进的PBFT的共识过程如图2所示。PBFT算法主要实现参与共识的节点达成一致,主节点广播请求消息给备份节点,备份节点只需要对接收的请求信息在准备阶段进行验证,当准备阶段完成后说明已经有足够数量的备份节点验证并通过了主节点发送的请求,即达成共识。而确认阶段只是对准备阶段中通过的信息进行确认,确保合法数量的节点完成对请求消息的验证。因此可将PBFT核心三阶段共识过程优化为两个阶段,即一致性提案(consistency-proposal)和一致性确认(consistency-confirm)。
如图3所示为IPBFT的视图切换过程。如果主节点失效,通过视图切换协议可以保证共识系统持续运行,并且不会产生错误的结果。PBFT算法中,当备份节点检测到主节点故障或作恶时,会向其他节点广播view-change消息,进入视图切换流程。本发明改进的PBFT的视图切换流程中在客户端设置超时机制,如果主节点超时,则主节点可能因为系统繁忙、宕机或者网络问题等其它异常情况导致的无响应,也可能故意不响应客户端发送的请求,此时可以明确当前主节点异常。然而,视图切换流程中的view-change阶段和view-change-ack(视图切换确认信号)阶段,主要通过投票方式确定主节点是否异常。所以本发明改进的PBFT的视图切换流程中,若主节点超时,则直接开始视图切换流程中的new-view(新视图)阶段,并通过主节点确认机制中的Master()算法确定新的主节点。新的主节点向其他节点广播new-view消息,并在新的view(视图)中继续执行上个视图未处理完的请求;如果备份节点认为主节点为作恶节点时,会向其他节点广播view-change消息,正常进行view-change,view-change-ack和new-view三阶段视图切换流程。本发明改进的PBFT算法在PBFT算法中的视图切换协议的基础上,对主节点异常情况进行分类讨论,节省了主节点超时异常时节点之间的通信时间,提高了系统运行效率。
本发明改进的PBFT算法流程如图4所示。本发明改进的PBFT算法优化了PBFT算法的主节点确认机制、共识过程和视图切换协议,改进的PBFT的详细算法流程如下:
(1)将视图编号设置为0,根据主节点确认函数Master()确认主节点编号。
(2)主节点向备份节点广播consistency-proposal消息,其消息格式为<<ConsistencyProposal,h,v,p,md>,m>,其中h为区块高度,v为当前视图编号,p为主节点编号,md为m消息的摘要,m为请求消息的原文。
(3)备份节点收到consistency-proposal消息时,需要对consistency-proposal消息进行签名验证,如果确定消息为真,则向其他节点广播consistency-confirm消息。其消息格式为<ConsistencyConfirm,h,v,i,md>,<md>σi>,其中i为节点编号,<md>σi为节点i转发自主节点p的消息摘要,表示对主节点发送的consistency-proposal消息的认可。
(4)若参与共识的任意节点收到2f个有效的consistency-confirm消息后,共识达成,节点执行主节点发送的请求,并发布区块。
(5)其他节点在收到区块后,认为该轮共识过程结束,将包含的交易从内存中删除,将视图编号重置为0,开始下一轮共识。
(6)上述过程中,如果主节点故障或作恶,或者节点在一定时间内未收到2f个有效的consistency-confirm消息,则进入图3中的视图切换协议。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (9)

1.一种基于信誉与投票机制的改进PBFT共识方法,其特征在于,包括以下步骤:
对节点进行状态划分,并根据节点在共识过程的表现进行节点状态的转换;
根据节点的状态进行权限分配,具有参选权限的节点可参与主节点选举,并根据投票计算选举出主节点;
主节点接收客户端发送的请求,广播该请求给备份节点,开始共识过程;
共识过程中,如果主节点故障或作恶,根据主节点异常情况进行视图切换。
2.根据权利要求1所述的一种基于信誉与投票机制的改进PBFT共识方法,其特征在于,对节点进行状态划分包括根据节点的信誉值从高到低将节点分为可信节点、正常节点、异常节点、不可信节点以及无效节点5个状态,另外设置一个与信誉值无关的状态为审查节点。
3.根据权利要求2所述的一种基于信誉与投票机制的改进PBFT共识方法,其特征在于,节点状态的转换包括:
若可信节点未产生有效区块,其状态转换为审查节点;
若正常节点多次产生有效节点,且其信誉值达到可信节点的区间,则该正常节点转换为可信节点;
若正常节点未产生有效区块,则状态转换为审查节点;
若异常节点多次产生有效区块且信誉值达到正常节点的阈值,则转换为正常节点;
若异常节点故障或作恶,其状态转换为不可信节点;
若不可信节点多次产生有效区块且其信誉值达到异常节点的阈值,则状态转换为异常节点;
若不可信节点故障或作恶,则状态转换为无效节点;
若审查节点故障,且其信誉值处于可信节点的区间,则状态装换为异常节点;
若审查节点作恶,或者审查节点故障且其信誉值未处于信誉节点的区间,则其状态转换为异常节点。
4.根据权利要求3所述的一种基于信誉与投票机制的改进PBFT共识方法,其特征在于,将节点信誉值设置为[0,K),系统刚运行时所有节点的初始信誉值均为K1,如果节点成功产生有效区块,系统会奖励k点信誉值;可信节点的信誉值为[K2-150),正常节点的信誉值为[K1-K2),异常节点的信誉值为[K3-K1),不可信节点的信誉值为[K4-K3),无效节点的信誉值为0;K2、K1、K3、K4分别为可信节点、正常节点、异常节点、不可信节点的阈值。
5.根据权利要求2所述的一种基于信誉与投票机制的改进PBFT共识方法,其特征在于,可信节点、正常节点具有参与主节点选举的权限;可信节点、正常节点、异常节点具有参与选举主节点时投票的权限;可信节点、正常节点、异常节点、不可信节点具有参与共识过程的权限。
6.根据权利要求5所述的一种基于信誉与投票机制的改进PBFT共识方法,其特征在于,根据投票计算选举出主节点的过程包括:
Figure FDA0002413719610000021
其中,Scoren为参与选举的节点的得分;creditn是参选节点n的信誉值,creditk是投票节点k的信誉值,votek是k节点投票的投票情况,支持、反对和弃权分别对应1、-1和0;K是信誉值的最大值,N是参与投票的节点数量;λ和μ为权重比例,λ+μ=1。
7.根据权利要求6所述的一种基于信誉与投票机制的改进PBFT共识方法,其特征在于,当可信节点参加选举主节点时,λ为0.65、μ为0.35;当正常节点参加选举主节点时,λ为0.45、μ为0.55。
8.根据权利要求1所述的一种基于信誉与投票机制的改进PBFT共识方法,其特征在于,共识过程包括:
主节点广播一致性提案消息;
备份节点接收一致性提案消息,判断主节点是否故障或者作恶,若主节点故障或作恶,则根据主节点异常情况进行视图切换;
否则备份节点广播一致性确认消息;
若主节点在规定时间内收到备份节点广播的2f个有效的一致性确认消息,则达成共识,其他节点执行主节点的请求消息,发布区块;否则执行视图切换过程。
9.根据权利要求1所述的一种基于信誉与投票机制的改进PBFT共识方法,其特征在于,进行视图切换的过程包括:
当主节点响应超时,重新选择主节点,新的主节点向备份节点广播new-view消息,并且视图编号加1,新的主节点执行上一个视图未完成的操作;
当主节点响应未超时,若备份节点认为主节点作恶,该备份节点向其他备份节点广播view-change事件,若收到2f个不同备份节点的视图编号为v+1的view-change事件则选择新的主节点,新的主节点向备份节点广播new-view消息,并且视图编号加1,新的主节点执行上一个视图未完成的操作。
CN202010184664.3A 2020-03-17 2020-03-17 一种基于信誉与投票机制的改进pbft共识方法 Active CN111355810B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010184664.3A CN111355810B (zh) 2020-03-17 2020-03-17 一种基于信誉与投票机制的改进pbft共识方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010184664.3A CN111355810B (zh) 2020-03-17 2020-03-17 一种基于信誉与投票机制的改进pbft共识方法

Publications (2)

Publication Number Publication Date
CN111355810A true CN111355810A (zh) 2020-06-30
CN111355810B CN111355810B (zh) 2022-05-10

Family

ID=71197565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010184664.3A Active CN111355810B (zh) 2020-03-17 2020-03-17 一种基于信誉与投票机制的改进pbft共识方法

Country Status (1)

Country Link
CN (1) CN111355810B (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112039964A (zh) * 2020-08-24 2020-12-04 大连理工大学 一种基于区块链的节点信誉共识方法
CN112307447A (zh) * 2020-11-03 2021-02-02 平安科技(深圳)有限公司 一种锚节点作假检测方法、装置、介质及设备
CN112465515A (zh) * 2021-01-28 2021-03-09 支付宝(杭州)信息技术有限公司 一种区块链的共识方法、共识节点及电子设备
CN112532581A (zh) * 2020-10-26 2021-03-19 南京辰阔网络科技有限公司 一种基于共识参与度和交易活跃度的改进pbft共识方法
CN113010716A (zh) * 2021-03-27 2021-06-22 国网上海市电力公司 输电线路巡检数据的数据资产交易方法及计算机可读介质
CN113079139A (zh) * 2021-03-23 2021-07-06 中国工商银行股份有限公司 基于区块链的共识组主节点确定方法、装置及系统
CN113342902A (zh) * 2021-08-09 2021-09-03 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、计算机设备和介质
CN113364871A (zh) * 2021-06-07 2021-09-07 杭州溪塔科技有限公司 一种基于智能合约的节点选举方法、装置及电子设备
CN113407632A (zh) * 2021-06-26 2021-09-17 南京搜文信息技术有限公司 一种基于pbft的委托权益证明区块链共识算法
CN113438084A (zh) * 2021-06-23 2021-09-24 国网北京市电力公司 一种基于r-pbft共识算法和时间戳的绿电溯源方法及系统
CN113570357A (zh) * 2021-09-26 2021-10-29 青岛理工大学 一种动态分层的高效pbft算法
CN113645074A (zh) * 2021-08-11 2021-11-12 永旗(北京)科技有限公司 一种基于区块链的共识方法
CN113676541A (zh) * 2021-08-23 2021-11-19 南昌航空大学 一种改进的pbft共识方法
CN113949518A (zh) * 2021-10-18 2022-01-18 甘肃同兴智能科技发展有限责任公司 一种提高区块链吞吐量的共识方法及系统
CN114172680A (zh) * 2021-08-16 2022-03-11 北京天德科技有限公司 一种基于节点信誉机制的区块链系统及其运行方法
CN114338053A (zh) * 2022-03-16 2022-04-12 成都信息工程大学 一种动态的基于信誉的区块链共识方法和系统
CN114584450A (zh) * 2022-03-04 2022-06-03 中国建设银行股份有限公司 双层区块链系统及共识方法
CN114650302A (zh) * 2022-03-11 2022-06-21 南京邮电大学 基于区块链的物联网边缘设备可信管理方法
CN115293769A (zh) * 2022-10-08 2022-11-04 中铱数字科技有限公司 一种基于区块链的动态管理和校验节点系统
CN116915505A (zh) * 2023-09-12 2023-10-20 南京理工大学 基于改进pbft算法的区块链共识方法及设备
CN117220884A (zh) * 2023-09-05 2023-12-12 上海雷龙信息科技有限公司 一种数字签名交互验证方法、系统、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190068380A1 (en) * 2017-08-24 2019-02-28 Alibaba Group Holding Limited Blockchain consensus node selection
CN109767199A (zh) * 2018-12-10 2019-05-17 西安电子科技大学 基于信誉的pbft共识系统及方法、区块链数据处理系统
CN109819022A (zh) * 2019-01-11 2019-05-28 华侨大学 一种基于信用评价的区块链共识方法
US20190286531A1 (en) * 2018-12-13 2019-09-19 Alibaba Group Holding Limited Performing a recovery process for a network node in a distributed system
CN110784346A (zh) * 2019-10-18 2020-02-11 深圳供电局有限公司 一种基于信誉值的pbft共识系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190068380A1 (en) * 2017-08-24 2019-02-28 Alibaba Group Holding Limited Blockchain consensus node selection
CN109767199A (zh) * 2018-12-10 2019-05-17 西安电子科技大学 基于信誉的pbft共识系统及方法、区块链数据处理系统
US20190286531A1 (en) * 2018-12-13 2019-09-19 Alibaba Group Holding Limited Performing a recovery process for a network node in a distributed system
CN109819022A (zh) * 2019-01-11 2019-05-28 华侨大学 一种基于信用评价的区块链共识方法
CN110784346A (zh) * 2019-10-18 2020-02-11 深圳供电局有限公司 一种基于信誉值的pbft共识系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HAIYONG WANG等: ""Byzantine Fault Tolerant Algorithm Based on Vote"", 《2019 INTERNATIONAL CONFERENCE ON CYBER-ENABLED DISTRIBUTED COMPUTING AND KNOWLEDGE DISCOVERY (CYBERC)》 *
黄秋波: ""一种改进PBFT算法作为以太坊共识机制的研究与实现"", 《计算机应用与软件》 *

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112039964B (zh) * 2020-08-24 2022-01-04 大连理工大学 一种基于区块链的节点信誉共识方法
CN112039964A (zh) * 2020-08-24 2020-12-04 大连理工大学 一种基于区块链的节点信誉共识方法
CN112532581A (zh) * 2020-10-26 2021-03-19 南京辰阔网络科技有限公司 一种基于共识参与度和交易活跃度的改进pbft共识方法
CN112307447A (zh) * 2020-11-03 2021-02-02 平安科技(深圳)有限公司 一种锚节点作假检测方法、装置、介质及设备
CN112465515A (zh) * 2021-01-28 2021-03-09 支付宝(杭州)信息技术有限公司 一种区块链的共识方法、共识节点及电子设备
CN112465515B (zh) * 2021-01-28 2022-02-25 支付宝(杭州)信息技术有限公司 一种区块链的共识方法、共识节点及电子设备
CN113079139A (zh) * 2021-03-23 2021-07-06 中国工商银行股份有限公司 基于区块链的共识组主节点确定方法、装置及系统
CN113010716A (zh) * 2021-03-27 2021-06-22 国网上海市电力公司 输电线路巡检数据的数据资产交易方法及计算机可读介质
CN113364871A (zh) * 2021-06-07 2021-09-07 杭州溪塔科技有限公司 一种基于智能合约的节点选举方法、装置及电子设备
CN113438084A (zh) * 2021-06-23 2021-09-24 国网北京市电力公司 一种基于r-pbft共识算法和时间戳的绿电溯源方法及系统
CN113438084B (zh) * 2021-06-23 2022-11-29 国网北京市电力公司 一种基于r-pbft共识算法和时间戳的绿电溯源方法及系统
CN113407632A (zh) * 2021-06-26 2021-09-17 南京搜文信息技术有限公司 一种基于pbft的委托权益证明区块链共识算法
WO2023016090A1 (zh) * 2021-08-09 2023-02-16 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品
CN113342902B (zh) * 2021-08-09 2021-11-12 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、计算机设备和介质
CN113342902A (zh) * 2021-08-09 2021-09-03 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、计算机设备和介质
CN113645074A (zh) * 2021-08-11 2021-11-12 永旗(北京)科技有限公司 一种基于区块链的共识方法
CN114172680B (zh) * 2021-08-16 2023-01-20 北京天德科技有限公司 一种基于节点信誉机制的区块链系统的运行方法
CN114172680A (zh) * 2021-08-16 2022-03-11 北京天德科技有限公司 一种基于节点信誉机制的区块链系统及其运行方法
CN113676541B (zh) * 2021-08-23 2023-06-27 南昌航空大学 一种改进的pbft共识方法
CN113676541A (zh) * 2021-08-23 2021-11-19 南昌航空大学 一种改进的pbft共识方法
CN113570357A (zh) * 2021-09-26 2021-10-29 青岛理工大学 一种动态分层的高效pbft算法
CN113949518A (zh) * 2021-10-18 2022-01-18 甘肃同兴智能科技发展有限责任公司 一种提高区块链吞吐量的共识方法及系统
CN113949518B (zh) * 2021-10-18 2024-05-28 甘肃同兴智能科技发展有限责任公司 一种提高区块链吞吐量的共识方法及系统
CN114584450A (zh) * 2022-03-04 2022-06-03 中国建设银行股份有限公司 双层区块链系统及共识方法
CN114650302A (zh) * 2022-03-11 2022-06-21 南京邮电大学 基于区块链的物联网边缘设备可信管理方法
CN114650302B (zh) * 2022-03-11 2024-03-12 南京邮电大学 基于区块链的物联网边缘设备可信管理方法
CN114338053A (zh) * 2022-03-16 2022-04-12 成都信息工程大学 一种动态的基于信誉的区块链共识方法和系统
CN115293769A (zh) * 2022-10-08 2022-11-04 中铱数字科技有限公司 一种基于区块链的动态管理和校验节点系统
CN117220884A (zh) * 2023-09-05 2023-12-12 上海雷龙信息科技有限公司 一种数字签名交互验证方法、系统、设备和介质
CN116915505A (zh) * 2023-09-12 2023-10-20 南京理工大学 基于改进pbft算法的区块链共识方法及设备
CN116915505B (zh) * 2023-09-12 2023-11-21 南京理工大学 基于改进pbft算法的区块链共识方法及设备

Also Published As

Publication number Publication date
CN111355810B (zh) 2022-05-10

Similar Documents

Publication Publication Date Title
CN111355810B (zh) 一种基于信誉与投票机制的改进pbft共识方法
CN110784346B (zh) 一种基于信誉值的pbft共识系统及方法
CN111131209B (zh) 一种改进的高效共识方法、系统、计算机设备及存储介质
CN112039964B (zh) 一种基于区块链的节点信誉共识方法
Hong et al. Pyramid: A layered sharding blockchain system
CN110796547A (zh) 一种基于联盟区块链的改进的实用拜占庭容错系统
CN113570357B (zh) 一种动态分层的高效pbft算法
Li et al. An extensible consensus algorithm based on PBFT
CN112532581A (zh) 一种基于共识参与度和交易活跃度的改进pbft共识方法
CN113141414B (zh) 一种cnfs协议中区块链节点的分组多链异步共识方法
Yuan et al. Efficient Byzantine consensus mechanism based on reputation in IoT blockchain
Xiang et al. Strengthened fault tolerance in byzantine fault tolerant replication
CN113781218A (zh) 基于特征信任的分组pbft共识算法
Zhang et al. Prosecutor: An efficient BFT consensus algorithm with behavior-aware penalization against Byzantine attacks
Chen et al. Improved PBFT algorithm based on reputation and voting mechanism
CN114338040A (zh) 一种区块链节点的分组多链三次共识方法
CN113660125A (zh) 一种基于随机可信委员会的共识方法及装置
CN116633942A (zh) 一种高速响应客户端的拜占庭容错共识方法
Wang et al. An optimization strategy for PBFT consensus mechanism based on consortium blockchain
Rong et al. ERBFT: efficient and robust byzantine fault tolerance
CN116232893A (zh) 分布式系统的共识方法、装置、电子设备及存储介质
CN114499874B (zh) 一种应用于工业互联网的拜占庭容错共识优化方法
CN110555764A (zh) 一种去中心化环境下区块链达成一致性的方法及系统
CN116846888A (zh) 区块链网络的共识处理方法、装置、设备及存储介质
Yuan et al. Improvement of practical byzantine fault tolerant consensus algorithm for blockchain

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230717

Address after: 518000 1104, Building A, Zhiyun Industrial Park, No. 13, Huaxing Road, Henglang Community, Longhua District, Shenzhen, Guangdong Province

Patentee after: Shenzhen Hongyue Enterprise Management Consulting Co.,Ltd.

Address before: 400065 Chongwen Road, Nanshan Street, Nanan District, Chongqing

Patentee before: CHONGQING University OF POSTS AND TELECOMMUNICATIONS

Effective date of registration: 20230717

Address after: C501B2, Building 1, Meixun Digital Technology Factory, No. 19 Jinxiu Middle Road, Laokeng Community, Longtian Street, Pingshan District, Shenzhen City, Guangdong Province, 518118

Patentee after: Shenzhen Anke Baiteng Technology Co.,Ltd.

Address before: 518000 1104, Building A, Zhiyun Industrial Park, No. 13, Huaxing Road, Henglang Community, Longhua District, Shenzhen, Guangdong Province

Patentee before: Shenzhen Hongyue Enterprise Management Consulting Co.,Ltd.

TR01 Transfer of patent right