CN113660125B - 一种基于随机可信委员会的共识方法及装置 - Google Patents
一种基于随机可信委员会的共识方法及装置 Download PDFInfo
- Publication number
- CN113660125B CN113660125B CN202110948266.9A CN202110948266A CN113660125B CN 113660125 B CN113660125 B CN 113660125B CN 202110948266 A CN202110948266 A CN 202110948266A CN 113660125 B CN113660125 B CN 113660125B
- Authority
- CN
- China
- Prior art keywords
- target
- node
- consensus
- nodes
- committee
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/30—Decision processes by autonomous network management units using voting and bidding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1042—Peer-to-peer [P2P] networks using topology management mechanisms
Abstract
本发明公开了一种基于随机可信委员会的共识方法及装置,应用于目标联盟链,获取目标联盟链中的各个节点,初始化各个节点的可信度分值;基于可信度分值和预设的可验证随机函数在各个节点中选取目标节点,目标节点广播请求消息,目标节点组成共识委员会,目标节点的数量少于目标联盟链中节点的数量;在共识委员会中的各个目标节点收到请求消息的情况下,基于各个目标节点对共识请求进行处理;基于共识结果,对目标联盟链中的各个节点进行调整。上述过程中,并没有基于目标链联盟中全部节点进行共识,而是基于共识委员会中的目标节点实现共识,由于目标节点的数量少于目标联盟链中各个节点的数量,因此降低了共识过程中的通信开销,提高了共识效率。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于随机可信委员会的共识方法及装置。
背景技术
共识算法是区块链中的一项核心技术,用于解决分布式系统的一致性问题。在区块链系统中,每个节点需要对交易的顺序达成一致,通过共识算法从而使得系统中的所有节点都具有相同的账本。由于区块链去中心化的特性,网络上的节点不可能时时刻刻都处在正确的状态,节点可能会故障或者宕机,甚至作恶,发送错误消息,因此如何在区块链这种分布式环境中达成共识是一个关键问题。
联盟链作为区块链的一种,联盟链中的共识算法大多采用的是传统的分布式一致性算法,即以实用拜占庭容错(PBFT)为基础的共识算法,PBFT通过三阶段的广播完成区块的提案与验证,不仅实现了较高的吞吐量,而且可以容忍小于三分之一无效或者恶意节点,即使共识出现异常,也可以通过视图切换保证系统的正常运行。
但是,发明人研究发现基于PBFT的共识机制,通信复杂度高,在节点较多的情况下,通信开销迅速增大,导致共识效率低。
发明内容
有鉴于此,本发明提供了一种基于随机可信委员会的共识方法及装置,用以解决基于PBFT的共识机制,通信复杂度高,在节点较多的情况下,通信开销迅速增大,导致共识效率低的问题。具体方案如下:
一种基于随机可信委员会的共识方法,应用于目标联盟链,所述方法包括:
获取所述目标联盟链中的各个节点,初始化所述各个节点的可信度分值;
基于所述可信度分值和预设的可验证随机函数在所述各个节点中选取目标节点,所述目标节点向所述目标联盟链广播请求消息,所述目标节点组成所述目标联盟链的共识委员会,其中,所述目标节点的数量少于所述目标联盟链中各个节点的数量;
在所述共识委员会中的各个目标节点收到所述请求消息的情况下,基于所述各个目标节点对所述共识请求进行处理;
基于共识结果,对所述目标联盟链中的各个节点进行调整。
上述的方法,可选的,基于所述可信度分值和预设的可验证随机函数在所述各个节点中选取目标节点,包括:
对各个可信度分值进行排序,顺序选取排序结果中第一预设数量的节点,在所述第一预设数量节点中选取第一目标节点;
基于所述可验证随机函数在除所述第一目标节点以外的其余节点中选取第二目标节点;
其中,所述目标节点包括:所述第一目标节点和所述第二目标节点。
上述的方法,可选的,基于所述各个目标节点对所述共识请求进行处理,包括:
在所述各个目标节点中选取目标主节点,以令所述目标主节点将预准备消息发送给其余各个目标节点,所述其余各个目标节点验证所述预准备消息是否有效;
验证所述预准备消息有效的目标节点向其它目标节点发送准备消息,以令所述其它目标节点验证所述准备消息是否有效;
若所述其它目标节点中验证所述准备消息有效的数量满足预设的数量阈值,在所述各个目标节点中广播提交消息;
基于所述提交消息,确定所述共识结果。
上述的方法,可选的,所述各个目标节点作为委员会节点,所述目标区块链中除所述各个目标节点以外的其余节点作为非委员会节点,基于共识结果,对所述目标联盟链中的各个节点进行调整,包括:
在所述共识结果为共识成功的情况下,基于预设评分机制调整所述委员会节点的可信度分值,同时将新区块同步到所述非委员会节点,其中,所述新区块基于所述共识请求产生。
上述的装置,可选的,还包括:
在所述共识结果为共识失败的情况下,发送视图切换消息;
基于所述视图切换消息,确定故障类型,其中,所述故障类型包括:目标主节点故障和目标节点故障;
基于所述故障类型,对相应的目标节点进行处罚。
上述的装置,可选的,还包括:
判断所述共识委员会的各个节点中是否存在异常节点;
若存在,清除所述异常节点,重新选取替换节点加入所述共识委员会。
一种基于随机可信委员会的共识装置,应用于目标联盟链,所述装置包括:
获取和初始化模块,用于获取所述目标联盟链中的各个节点,初始化所述各个节点的可信度分值;
选取模块,用于基于所述可信度分值和预设的可验证随机函数在所述各个节点中选取目标节点,所述目标节点向所述目标联盟链广播请求消息,所述目标节点组成所述目标联盟链的共识委员会,其中,所述目标节点的数量少于所述目标联盟链中各个节点的数量;
共识处理模块,用于在所述共识委员会中的各个目标节点收到所述请求消息的情况下,基于所述各个目标节点对所述共识请求进行处理;
调整模块,用于基于共识结果,对所述目标联盟链中的各个节点进行调整。
上述的装置,可选的,所述选取模块包括:
排序和选取单元,用于对各个可信度分值进行排序,顺序选取排序结果中第一预设数量的节点,在所述第一预设数量节点中选取第一目标节点;
第一选取单元,用于基于所述可验证随机函数在除所述第一目标节点以外的其余节点中选取第二目标节点;
其中,所述目标节点包括:所述第一目标节点和所述第二目标节点。
上述的装置,可选的,所述共识处理模块包括:
第二选取单元,用于在所述各个目标节点中选取目标主节点,以令所述目标主节点将预准备消息发送给其余各个目标节点,所述其余各个目标节点验证所述预准备消息是否有效;
验证单元,用于验证所述预准备消息有效的目标节点向其它目标节点发送准备消息,以令所述其它目标节点验证所述准备消息是否有效;
广播单元,用于若所述其它目标节点中验证所述准备消息有效的数量满足预设的数量阈值,在所述各个目标节点中广播提交消息;
确定单元,用于基于所述提交消息,确定所述共识结果。
上述的装置,可选的,还包括:
判断模块,用于判断所述共识委员会的各个节点中是否存在异常节点;
清除和替换模块,用于若存在,清除所述异常节点,重新选取替换节点加入所述共识委员会。
与现有技术相比,本发明包括以下优点:
本发明公开了一种基于随机可信委员会的共识方法及装置,应用于目标联盟链,所述方法包括:获取所述目标联盟链中的各个节点,初始化所述各个节点的可信度分值;基于所述可信度分值和预设的可验证随机函数在所述各个节点中选取目标节点,所述目标节点向所述目标联盟链广播请求消息,所述目标节点组成所述目标联盟链的共识委员会,其中,所述目标节点的数量少于所述目标联盟链中各个节点的数量;在所述共识委员会中的各个目标节点收到所述请求消息的情况下,基于所述各个目标节点对所述共识请求进行处理;基于共识结果,对所述目标联盟链中的各个节点进行调整。上述过程中,并没有基于目标联盟链中的全部节点进行共识,而是基于可信度分值和预设的可验证随机函数选取部分目标节点组成共识委员会,基于共识委员会中的目标节点实现共识,由于目标节点的数量少于目标联盟链中各个节点的数量,因此降低了共识过程中的通信开销,提高了共识效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种基于随机可信委员会的共识方法流程图;
图2为本申请实施例公开的一种异常节点处理过程示意图;
图3为本申请实施例公开的一种共识处理过程示意图;
图4为本申请实施例公开的一种基于随机可信委员会的共识方法又一流程图;
图5为本申请实施例公开的一种评分机制、委员会选举和异常节点处理依赖关系示意图;
图6为本申请实施例公开的一种基于随机可信委员会的共识装置结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本发明公开了一种基于随机可信委员会的共识方法及装置,应用于联盟链的共识过程中,其中,联盟链属于区块链的一种,区块链其是由分布式数据存储、点对点传输、共识机制、加密算法等多种计算机技术所组合而成。区块链本质上是一个去中心化的分布式数据库,不需要第三方信任机构,分布式网络中的各个节点通过共识算法维持数据的一致性。由于区块链独特的去中心化、持久性以及透明可追溯的良好特性,区块链得到了快速发展和广泛重视,区块链如今已经在金融领域、物联网领域、公益慈善、医疗服务、教育领域、社会管理等多个领域落地实施。共识算法是区块链中的一项核心技术,用于解决分布式系统的一致性问题。联盟链中的共识算法大多采用的是传统的分布式一致性算法,即以实用拜占庭容错(PBFT)为基础的共识算法,PBFT通过三阶段的广播完成区块的提案与验证,不仅实现了较高的吞吐量,而且可以容忍小于三分之一无效或者恶意节点,即使共识出现异常,也可以通过视图切换保证系统的正常运行。区块链应用的普及更多是依赖联盟链不断发展,联盟链中基于PBFT的共识机制仍然存在着较多问题,例如通信复杂度高、可扩展性差、激励机制不足,缺乏节点的故障处理机制等。因此,本发明实施例中对原有的拜占庭算法进行改进和优化,所述共识方法应用于所述目标联盟链,所述共识方法的执行流程如图1所示,包括步骤:
S101、获取所述目标联盟链中的各个节点,初始化所述各个节点的可信度分值;
本发明实施例中,解析所述目标联盟链,获取所述目标联盟链中的各个节点,对所述各个节点的可信度分值进行初始化,其中,可信度分值的初始化原则可以基于经验或者具体情况进行设定,本发明实施例中不进行具体限定,例如,可以将所述各个节点的可信度分值初始化为同一数值。
S102、基于所述可信度分值和预设的可验证随机函数在所述各个节点中选取目标节点,所述目标节点向所述目标联盟链广播请求消息,所述目标节点组成所述目标联盟链的共识委员会,其中,所述目标节点的数量少于所述目标联盟链中各个节点的数量;
本发明实施例中,为了避免所述目标联盟链中的各个节点均参与共识导致通信开销过大,因此,本发明实施例中,采用委员会的思想,选举出代表性节点进行共识,较大地减少共识节点数以及通信量。委员会的节点数相较于所述各个节点的数量来说是占比较小的一部分。基于所述可信度分值和预设的可验证随机函数在所述各个节点中选取目标节点,所述目标节点组成所述目标联盟链的共识委员会,其中,所述目标节点的选取原则如下:由于节点的可信度分值越高,节点就更加值得信任,发生错误的概率就会比较低,通过选择高可信度分值的节点从而保证了所述共识委员会的可靠性。但是却不能全部选择高可信度分值的节点,否则会导致权力集中以及负载不均衡。因此所述共识委员会的目标节点一部分通过可信度分值排序的方式,选择排名靠前的但不是最靠前的节点,可以防止高可信度分值的节点多次被选举成为共识委员会;另一部分节点通过所述预设可验证随机函数VRF在其他节点中进行随机选举,增加了选举的公平性。
在选定所述目标节点后,向所述目标联盟链全网广播请求消息。
S103、在所述共识委员会中的各个目标节点收到所述请求消息的情况下,基于所述各个目标节点对所述共识请求进行处理;
本发明实施例中,在所述共识委员会中的各个目标节点收到所述请求消息的情况下,所述共识委员会内的目标节点通过比较与其它目标节点的随机值,若自己的随机值最小,则成为所述共识委员会本次区块提案的目标主节点,将交易打包形成区块,在所述共识委员会内部广播预准备消息,其它目标节点收到所述目标主节点发送的所述预准备消息后,需要判断所述预准备消息是否有效,记录判断结果,验证所述预准备消息有效的目标节点向共识委员会的其它节点广播准备消息,其它目标节点需要判断所述准备消息是否有效并记录判断结果。当任一目标节点收到足够数量且有效的所述准备消息后,在所述共识委员会内部广播提交消息。若目标节点收到足够数量且有效的所述提交消息,新区块共识成功,向全网广播同步消息。所述共识委员会内部的目标节点根据评分机制进行可信度分值的同步,所述目标联盟链中除所述目标节点以外的其余节点(非共识委员会节点)需要进行区块同步以及可信度分值的同步。若所述共识委员会主节点故障或者共识超时时,需要执行视图切换策略。
进一步的,所述共识委员会的第一次共识流程需要通过选举过程产生所述共识委员会,在后续的共识流程中,是不需要委员会请求阶段的,由所述共识委员会内的目标节点轮流担任主节点打包交易形成提案块,当所述共识委员会产生的区块数达到一定值时,重新选择新的共识委员会进行共识。
S104、基于共识结果,对所述目标联盟链中的各个节点进行调整。
本发明实施例中,由于每个节点都会有一个初始化的可信度分值,根据节点在共识中的表现情况,给予一定的奖励或者惩罚。当节点被选择为共识委员会的成员后,由于PBFT算法的容错性,只要超过三分之二的节点正确运行就可以共识成功,因此不能因为共识成功就给予所有目标节点的加分奖励,需要判断目标节点是否积极参与共识。如果目标节点积极参与共识,该目标节点就会得到一定的可信度分值的奖励,若该目标节点未积极参与共识,即不发送消息或者发送错误消息,目标节点就会受到一定的分值惩罚,并且惩罚是大于奖励的。共识也有可能失败,失败的原因可能是主节点故障,也可能是在规定的时间内未收到足够有效数量的准备消息或者提交消息等其他原因,通过视图切换既保证共识可以继续进行,又可以判断是否是目标主节点故障。若所述目标主节点故障,则所述目标主节点遭受分值惩罚;若并不是所述目标主节点故障,其它所有目标节点都要遭受分值惩罚。
在所述共识结果为共识成功的情况下,基于预设评分机制调整目标节点的可信度分值,同时将新区块同步到所述非委员会节点,其中,所述新区块基于所述共识请求产生,其中,所述预设的评分机制如下:当所述共识委员会成功产生一个新区块,各个目标节点根据收到的check数据进行判断,具体的判断过程如下:所述共识委员会节点在共识过程中需要在所述共识委员会内部广播准备消息(预准备消息与准备消息处理方式类似),收到消息的节点会验证该准备消息是否有效,有效记为1,无效记为0。共识完毕后每个节点会将各个节点的检查结果包含在同步消息中并进行广播,其它所有目标节点会统计所述共识委员会中每个目标节点的检查结果,即统计检查结果中1的消息数量,若1的消息数量达到某个阈值,说明该节点积极参与共识,否则未积极参与共识。其中,check用于验证准备消息是否有效,有效为1,无效为0。对于目标节点i,若check[i]=1的消息数量不少于2e,其中,c表示所述共识委员会目标节点的数量,那么目标节点i积极参与了共识,目标节点i将会得到可信度分值的奖励:
Si=Si+x (1)
其中Si为节点i的可信度分值,x为奖惩分值。
若check[i]=1的消息数量少于2e,那么节点i未积极参与共识,节点i将会得到可信度分值的减分惩罚,并且惩罚是大于奖励的:
Si=Si-d1*x (2)
d1表示第一惩罚系数,d1的具体取值可以基于经验或者具体情况进行设定,本发明实施例中,不进行具体限定,一般设定大于1。
当所述共识委员会主节点故障或者共识超时时,判定共识失败,在所述共识结果为共识失败的情况下,发送视图切换消息,基于所述视图切换消息,确定故障类型,其中,所述故障类型包括:目标主节点故障和目标节点故障,具体的确定过程包括:各个目标节点广播视图切换消息,消息格式为<View-Change,v+1,h,BH,check,i>σi,其中,View-Change表示视图切换消息,v表示视图号,h表示当前正在共识的区块高度,BH表示当前正在共识的区块哈希值,check表示用于验证准备消息是否有效,有效为1,无效为0,<…>σi表示节点i的签名,新目标主节点收到视图切换消息后,验证消息正确后,需要统计check[p]=1的消息数量。当新目标主节点收到2e+1(包括主节点自身)个有效的View-Change消息后,新目标主节点向全网广播新视图消息,消息格式为<New-View,v+1,V,cn,p>σp,其中V表示View-Change的消息集合,cn表示check[p]=1的数量,p表示节点编号,收到该消息的目标节点可以通过V计算出cn,验证通过后,各个目标节点更新本地目标节点的可信度分值。
若cn<2e+1,原主节点故障,原主节点要受到降级惩罚,若原主节点处于Excellent状态,原主节点将会降为Medium状态,以此类推,分值惩罚详细如下(Sp表示原主节点的可信度分值):
其中,S表示节点的可信度分值
若cn≥2e+1,原目标主节点未故障,所述共识委员会的其它节点都要受到可信度分值的减分惩罚:
Si=Si-d2*x (4)
d2表示第二惩罚系数,d2的具体取值可以基于经验或者具体情况进行设定,本发明实施例中,不进行具体限定一般设定不大于1。
本发明公开了一种基于随机可信委员会的共识方法及装置,应用于目标联盟链,所述方法包括:获取所述目标联盟链中的各个节点,初始化所述各个节点的可信度分值;基于所述可信度分值和预设的可验证随机函数在所述各个节点中选取目标节点,所述目标节点向所述目标联盟链广播请求消息,所述目标节点组成所述目标联盟链的共识委员会,其中,所述目标节点的数量少于所述目标联盟链中各个节点的数量;在所述共识委员会中的各个目标节点收到所述请求消息的情况下,基于所述各个目标节点对所述共识请求进行处理;基于共识结果,对所述目标联盟链中的各个节点进行调整。上述过程中,并没有基于目标联盟链中的全部节点进行共识,而是基于可信度分值和预设的可验证随机函数选取部分目标节点组成共识委员会,基于共识委员会中的目标节点实现共识,由于目标节点的数量少于目标联盟链中各个节点的数量,因此降低了共识过程中的通信开销,提高了共识效率。
本发明实施例中,在所述共识委员会中的目标节点由于节点故障或者未参与共识会受到可信度分值的扣除惩罚,一旦目标节点的分值低于所述共识委员会中可信度分值的下限,说明该节点在共识中的表现极差,该目标节点将没有资格参与后续的共识,并且将该目标节点将被标记为异常节点,所述共识委员会中的异常节点需要被清除和替换。
每个节点保存各个节点的本地信息列表,包含节点的编号、IP地址、公钥、可信度分值以及节点的状态。节点的可信度分值与节点的状态对应如表1所示,其中0<min<μ<λ<max,min和max分别表示可信度分值的下限和上限。
表1
节点的状态 | 可信度分值范围 | 委员会选择优先级 |
Excellent | [λ,max] | 高 |
Medium | [μ,λ) | 中 |
Lower | [min,μ) | 低 |
Bad | [0,min) | 否 |
节点状态是Bad的目标节点即为异常节点,所述共识委员会通过执行Purge-Update协议来清除异常节点并完成目标节点的替换。节点的共识是发生在共识委员会之中的,只有参与共识的节点才会有可信度分值的奖惩,因此如果一个节点是异常节点,那么它也必发现在共识委员会之中,当共识委员会中存在异常节点时,由共识委员会内部发起清除更新过程,将该异常节点从共识委员会清除,并从其它节点中选择可信度分值排名靠前的节点添加到所述共识委员会。其中,具体的处理过程如图2所示,各个目标节点通过本地保存的节点信息列表可知节点的可信度分值是否低于可信度分值下限,若某目标节点的分值低于所述可信度分值下限,该目标节点为异常节点,目标主节点p在共识委员会内部广播清除消息,消息格式为<Purge,v,mh,mBH,BD,p>σp,其中BD是异常节点的编号,mh为共识完成的区块数量,mBH为共识完成的最高区块的hash值。目标节点收到目标主节点发送的清除消息后,需要验证目标主节点的签名、视图号、mh和mBH是否正确以及BD是否是异常节点,验证通过后,目标节点i发送清除回复消息,消息格式为<Purge-Reply,v,mh,mBH,BD,i>σi。当共识委员会中主节点p收到2e个节点发送的有效的Purge-Reply消息时,目标主节点需要计算出替换节点,替换节点的计算过程:目标主节点通过VRF计算出一个随机值z(z=output/2hashlen),其中,outout表示通过VRF产生的随机输出hash值,hashlen表示VRF的hash算法的输出长度,将处于Execllent状态的节点按照可信度分值进行由高到低的排序,若分值相同,节点编号较小的排在前面,设处于Execllent状态的节点数量为en,排序顺序中的第个节点(顺序从0开始)即为替换节点。然后目标主节点向全网所有非异常节点广播一条清除提交消息<Purge-Commit,v,CV,output,pi,BD,GD,p>σp,其中CV为收到的Purge-Reply消息集合(包含主节点的Purge消息),GD是替换节点的编号。节点收到新视图消息后,需要验证签名是否正确、目标主节点计算出的GD是否正确以及CV和BD是否正确。编号为GD的替换节点j发送更新消息给所述共识委员会中的目标节点请求加入所述共识委员会,消息格式为<Update,v,GD,j>σj,共识委员会中的目标节点验证通过后,该节点加入共识委员会成功,新加入所述共识委员会的目标节点组成新目标节点,基于所述新目标节点可以进行后续的共识。
本发明实施例中,所述共识委员会的确定过程如下:目标节点通过两个部分进行选举,对于第一部分,将会在节点状态为Execllent和Medium中进行选择,Execllent和Medium状态的节点数量正常情况下是大于c的,少于c表明系统已经处于不安全的状态,不符合联盟链的场景,若处于Execllent状态的节点数量不少于c,只需要对处于Execllent状态的节点按照可信度进行排序,否则将处于这两个状态的节点按照可信度分值由高到低的顺序进行排序,按照由高到低的顺序选择c个节点,排名前c/2个节点丢弃,取排名靠后的c/2个节点。这样做的目的是既保证了目标节点的可信性,又可以防止重复选择某些节点成为目标节点,因为大部分目标节点共识完毕后都会获得可信度分值的奖励,这样可信度分值最高的节点共识完毕后的可信度分值仍然最高,所以选择次一级的c/2个节点。
对于第二部分,需要通过可验证随机函数进行选举,VRF选举的过程如下:
1)节点利用可验证随机函数VRF产生一个随机输出output和一个随机证明pi,即利用公式(5)和公式(6),其中随机输入randvalue为当前最高区块的hash值(最高区块为空时,可以采用交易hash值或者系统预设的一个随机值)。
output=VRF_hash(SK,randvalue) (5)
pi=VRF_proof(SK,randvalue) (6)
2)output是一个hash值,该hash值的范围为[0,2hashlen-1]。由于output是一个随机hash值,那么z(z=output/2hashlen,hashlen为hash算法的输出长度)值也必定是一个随机值,因此可以利用该随机值确定某个节点是否被选中。设节点通过VRF被选择成为共识委员会的概率为w,若z<w,则表示节点被选中,否则该节点没有被选中。
通过VRF选举的目标节点数量趋向于n*w,其中n*w=c/2,但是由于VRF选举是一个概率事件,一种极端的情况是节点通过VRF产生一个随机值z都不小于w,这样通过VRF选举的委员会节点数量为0,因此通过可信度分值选择节点也可以防止出现委员会选举失败的情况。
本发明实施例中,共识的处理过程如图3所示,包括:
1)委员会请求阶段:节点通过委员会选举,确定自己是否被选中。若节点被选中,则向全网广播委员会请求,消息格式为<Committee-Request,randvalue,pi,output,i>σi,其中i为该节点的编号,<…>σi表示节点i的签名。通过可信度分值选举的节点也需要通过VRF计算出随机数以及证明并广播该消息。
2)预准备阶段:节点收到Committee-Request请求之后,需要判断该节点是否是目标节点。若节点是通过可信度分值排序选择的节点,只需要进行VRF基本函数验证即可,即利用公式(7)与公式(8)进行验证
output=VRF_proof_to_hash(pi) (7)
VRF_verify(PK,randvalue,pi) (8)
验证者可以利用发送者通过VRF产生的随机证明pi计算出output,当函数VRF_verify()的返回值为true时则验证通过。若节点是通过所述预设可验证随机函数选择的节点,还需要验证节点计算出的z值是否小于w,保留验证通过节点z值,在预设时间内,共识委员会内的目标节点通过比较其它目标节点的z值,若自己的z最小,自己则成为该共识委员会本次区块提案的目标主节点,目标主节点p将交易打包形成区块,在共识委员会内部广播预准备消息,消息格式为<<Pre-Prepare,v,h,BH,CteTable,p>σp,B>,其中v表示视图号,h表示当前正在共识的区块高度,BH表示当前正在共识的区块的hash值,CteTable表示共识委员会成员表,p表示该共识委员会中目标主节点的编号,B表示区块。
3)准备阶段:其它目标节点收到所述目标主节点发送的预准备消息后,首先检查签名是否正确,然后检查该目标主节点的合法性,即该目标主节点的z值是否是最小值,验证通过后,还需要检查视图号、区块高度、区块hash值以及共识委员会成员表是否正确,其中,上述过程为共识委员会第一次共识时的验证内容,共识委员会后续共识对于预准备消息的验证内容包括:验证签名、视图号、区块高度以及区块hash值是否正确,验证通过后,保存本地变量check[p]=1,否则check[p]=0;未收到目标主节点发送的预准备消息,记录check[p]=0;验证通过的目标节点向共识委员会其它目标节点广播准备消息,消息格式为<Prepare,v,h,BH,i>σi,节点j收到节点i的准备消息,验证通过后,保存本地变量check[i]=1,如果验证失败或者未收到,则check[i]=0。当节点j收到2e个与预准备一致的准备消息后,在共识委员会内部广播提交消息,消息格式为<Commit,v,h,BH,j>σj。
4)提交阶段:目标节点收到提交消息后,需要验证签名、视图号、区块高度以及区块哈希值是否正确。当节点收到2e+1个(包括自身)与预准备一致的提交消息后,新区块共识成功,向全网广播同步消息,消息格式为<<Synchronize,v,h,BH,check,i>σi,B>,其中委员会内部广播的同步消息中不需要包含区块。
5)同步阶段:共识委员会内部的节点需要进行可信度分值的同步,其它节点需要进行可信度分值以及区块同步操作。其它节点收到同步消息后,验证通过后,保存该区块、块高以及区块的哈希值,所有节点统计check数据利用评分机制对共识委员会节点进行可信度分值的奖惩。
委员会后续共识中,后续共识没有委员会请求阶段,由共识委员会内的节点轮流担任主节点打包交易形成提案块,广播预准备消息,目标主节点p的选取方式为:
p=(order+mh+v)mod(c) (9)
其中order为第一次委员会共识主节点编号的由小到大排序顺序,mh为共识完成的区块数量,v为视图号,c为共识委员会成员数量。p的值对应目标节点的编号由小到大的排序顺序。当目标节点共识完成的区块数量达到预设值,重新进行共识委员会选举。
本发明实施例中,所述共识方法的整体处理流程如图4所示,每个节点都会有一个初始化的可信度分值,在开始共识之前需要通过共识委员会选举来选举参与共识的目标节点,共识委员会选举完成后进行共识,共识成功并且共识委员会中的目标节点积极参与共识,目标节点会得到加分奖励,若未积极参与共识,则会受到减分惩罚,若无目标节点的可信度分值低于下限,更新完可信度分值后继续进行共识。若共识失败,进行视图切换,需要先判断目标主节点是否故障,若目标主节点故障,降低原目标主节点的可信度分值;如果并不是目标主节点故障,共识委员会其它目标节点都会受到减分惩罚。若任一目标节点的可信度分值低于下限,该目标节点将不允许参加后续共识,该目标节点需要从共识委员会中清除,并选择新的共识委员会成员进行替换;若没有目标节点的可信度分值低于下限,由于共识失败,共识委员会内部视图切换完毕后可以继续进行共识,当产生的区块数达到一定值时,选择新的共识委员会进行共识。
本发明实施例中,通过将可信度分值与可验证随机函数相结合的方式进行共识委员会选举,不仅能提高共识效率,解决可扩展性问题,而且保证了共识委员会选举的公平性与可靠性,防止权力集中或者负载不均衡;通过评分机制建立激励机制,评估节点共识过程,对于共识委员会中的目标节点的表现进行合适的可信度分值奖惩,不仅可以提高积极参与共识节点的可信度,而且也可以及时识别出异常节点;通过异常节点处理来清除委员会内的异常节点并选举新的目标节点进行替换,保证共识委员会的安全性。本发明不仅可以提高共识效率,而且也可以减少故障节点,进一步提高共识的成功率,为联盟链中的共识提供了一种高效可信的解决方案。
本发明所实现的共识算法主要由四部分所组成,共识流程中添加了委员会请求与同步阶段,其中三部分设计方案的关系图如图5所示。共识委员会通过委员会选举产生,需要依靠评分机制和预设可验证随机函数VRF选取共识委员会中的目标节点,评分机制用于评估委员会成员的共识过程,从而引起异常节点处理,异常节点利用评分机制确定,通过异常节点处理并利用VRF计算出替换节点来更新共识委员会,保证共识委员会的安全可信。
基于上述的一种基于随机可信委员会的共识方法,本发明实施例中提供了一种基于随机可信委员会的共识装置,所述共识装置应用于目标联盟链,所述共识装置的结构框图如图6所示,包括:
获取和初始化模块201、选取模块202、共识处理模块203和调整模块204。
其中,
所述获取和初始化模块201,用于获取所述目标联盟链中的各个节点,初始化所述各个节点的可信度分值;
所述选取模块202,用于基于所述可信度分值和预设的可验证随机函数在所述各个节点中选取目标节点,所述目标节点向所述目标联盟链广播请求消息,所述目标节点组成所述目标联盟链的共识委员会,其中,所述目标节点的数量少于所述目标联盟链中各个节点的数量;
所述共识处理模块203,用于在所述共识委员会中的各个目标节点收到所述请求消息的情况下,基于所述各个目标节点对所述共识请求进行处理;
所述调整模块204,用于基于共识结果,对所述目标联盟链中的各个节点进行调整。
本发明公开了一种基于随机可信委员会的共识装置,应用于目标联盟链,包括:获取所述目标联盟链中的各个节点,初始化所述各个节点的可信度分值;基于所述可信度分值和预设的可验证随机函数在所述各个节点中选取目标节点,所述目标节点向所述目标联盟链广播请求消息,所述目标节点组成所述目标联盟链的共识委员会,其中,所述目标节点的数量少于所述目标联盟链中各个节点的数量;在所述共识委员会中的各个目标节点收到所述请求消息的情况下,基于所述各个目标节点对所述共识请求进行处理;基于共识结果,对所述目标联盟链中的各个节点进行调整。上述过程中,并没有基于目标联盟链中的全部节点进行共识,而是基于可信度分值和预设的可验证随机函数选取部分目标节点组成共识委员会,基于共识委员会中的目标节点实现共识,由于目标节点的数量少于目标联盟链中各个节点的数量,因此降低了共识过程中的通信开销,提高了共识效率。
本发明实施例中,所述选取模块202包括:
排序和选取单元205和第一选取单元206。
其中,
所述排序和选取单元205,用于对各个可信度分值进行排序,顺序选取排序结果中第一预设数量的节点,在所述第一预设数量节点中选取第一目标节点;
所述第一选取单元206,用于基于所述可验证随机函数在除所述第一目标节点以外的其余节点中选取第二目标节点;
其中,所述目标节点包括:所述第一目标节点和所述第二目标节点。
本发明实施例中,所述共识处理模块203包括:
第二选取单元207、验证单元208、广播单元209和确定单元210。
其中,
所述第二选取单元207,用于在所述各个目标节点中选取目标主节点,以令所述目标主节点将预准备消息发送给其余各个目标节点,所述其余各个目标节点验证所述预准备消息是否有效;
所述验证单元208,用于验证所述预准备消息有效的目标节点向其它目标节点发送准备消息,以令所述其它目标节点验证所述准备消息是否有效,
所述广播单元209,用于若所述其它目标节点中验证所述准备消息有效的数量满足预设的数量阈值,在所述各个目标节点中广播提交消息;
所述确定单元210,用于基于所述提交消息,确定所述共识结果。
本发明实施例中,所述共识装置还包括:
判断模块211和清除和替换模块212。
其中,
所述判断模块211,用于判断所述共识委员会的各个节点中是否存在异常节点;
所述清除和替换模块212,用于若存在,清除所述异常节点,重新选取替换节点加入所述共识委员会。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种基于随机可信委员会的共识方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种基于随机可信委员会的共识方法,其特征在于,应用于目标联盟链,所述方法包括:
获取所述目标联盟链中的各个节点,初始化所述各个节点的可信度分值;
基于所述可信度分值和预设的可验证随机函数在所述各个节点中选取目标节点,所述目标节点向所述目标联盟链广播请求消息,所述请求消息格式为<Committee-Request,randvalue,pi,output,i>σi,其中Committee-Request为共识请求,randvalue为可验证随机函数的随机输入,pi为可验证随机函数产生的随机证明,output为可验证随机函数产生的随机输出,i为该节点的编号,<…>σi表示节点i的签名,所述目标节点组成所述目标联盟链的共识委员会,其中,所述目标节点的数量少于所述目标联盟链中各个节点的数量;
在所述共识委员会中的各个目标节点收到所述请求消息的情况下,基于所述各个目标节点对所述共识请求进行处理;
基于共识结果,对所述目标联盟链中的各个节点进行调整;
其中,基于所述可信度分值和预设的可验证随机函数在所述各个节点中选取目标节点,包括:
对各个可信度分值进行排序,顺序选取排序结果中第一预设数量的节点,在所述第一预设数量节点中选取第一目标节点,第一目标节点为排名靠前的但不是最靠前的节点,通过可信度分值选举的节点需要通过可验证随机函数计算出随机输出以及随机证明并广播;
基于所述可验证随机函数在除所述第一目标节点以外的其余节点中选取第二目标节点;
其中,所述目标节点包括:所述第一目标节点和所述第二目标节点。
2.根据权利要求1所述的方法,其特征在于,基于所述各个目标节点对所述共识请求进行处理,包括:
在所述各个目标节点中选取目标主节点,以令所述目标主节点将预准备消息发送给其余各个目标节点,所述其余各个目标节点验证所述预准备消息是否有效;
验证所述预准备消息有效的目标节点向其它目标节点发送准备消息,以令所述其它目标节点验证所述准备消息是否有效;
若所述其它目标节点中验证所述准备消息有效的数量满足预设的数量阈值,在所述各个目标节点中广播提交消息;
基于所述提交消息,确定所述共识结果。
3.根据权利要求2所述的方法,其特征在于,所述各个目标节点作为委员会节点,所述目标联盟链中除所述各个目标节点以外的其余节点作为非委员会节点,基于共识结果,对所述目标联盟链中的各个节点进行调整,包括:
在所述共识结果为共识成功的情况下,基于预设评分机制调整所述委员会节点的可信度分值,同时将新区块同步到所述非委员会节点,其中,所述新区块基于所述共识请求产生。
4.根据权利要求3所述的方法,其特征在于,还包括:
在所述共识结果为共识失败的情况下,发送视图切换消息;
基于所述视图切换消息,确定故障类型,其中,所述故障类型包括:目标主节点故障和目标节点故障;
基于所述故障类型,对相应的目标节点进行处罚。
5.根据权利要求1所述的方法,其特征在于,还包括:
判断所述共识委员会的各个节点中是否存在异常节点;
若存在,清除所述异常节点,重新选取替换节点加入所述共识委员会。
6.一种基于随机可信委员会的共识装置,其特征在于,应用于目标联盟链,所述装置包括:
获取和初始化模块,用于获取所述目标联盟链中的各个节点,初始化所述各个节点的可信度分值;
选取模块,用于基于所述可信度分值和预设的可验证随机函数在所述各个节点中选取目标节点,所述目标节点向所述目标联盟链广播请求消息,所述请求消息格式为<Committee-Request,randvalue,pi,output,i>σi,其中Committee-Request为共识请求,randvalue为可验证随机函数的随机输入,pi为可验证随机函数产生的随机证明,output为可验证随机函数产生的随机输出,i为该节点的编号,<…>σi表示节点i的签名,所述目标节点组成所述目标联盟链的共识委员会,其中,所述目标节点的数量少于所述目标联盟链中各个节点的数量;
共识处理模块,用于在所述共识委员会中的各个目标节点收到所述请求消息的情况下,基于所述各个目标节点对所述共识请求进行处理;
调整模块,用于基于共识结果,对所述目标联盟链中的各个节点进行调整;
其中,所述选取模块包括:
排序和选取单元,用于对各个可信度分值进行排序,顺序选取排序结果中第一预设数量的节点,在所述第一预设数量节点中选取第一目标节点,第一目标节点为排名靠前的但不是最靠前的节点,通过可信度分值选举的节点需要通过可验证随机函数计算出随机输出以及随机证明并广播;
第一选取单元,用于基于所述可验证随机函数在除所述第一目标节点以外的其余节点中选取第二目标节点;
其中,所述目标节点包括:所述第一目标节点和所述第二目标节点。
7.根据权利要求6所述的装置,其特征在于,所述共识处理模块包括:
第二选取单元,用于在所述各个目标节点中选取目标主节点,以令所述目标主节点将预准备消息发送给其余各个目标节点,所述其余各个目标节点验证所述预准备消息是否有效;
验证单元,用于验证所述预准备消息有效的目标节点向其它目标节点发送准备消息,以令所述其它目标节点验证所述准备消息是否有效;
广播单元,用于若所述其它目标节点中验证所述准备消息有效的数量满足预设的数量阈值,在所述各个目标节点中广播提交消息;
确定单元,用于基于所述提交消息,确定所述共识结果。
8.根据权利要求6所述的装置,其特征在于,还包括:
判断模块,用于判断所述共识委员会的各个节点中是否存在异常节点;
清除和替换模块,用于若存在,清除所述异常节点,重新选取替换节点加入所述共识委员会。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110948266.9A CN113660125B (zh) | 2021-08-18 | 2021-08-18 | 一种基于随机可信委员会的共识方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110948266.9A CN113660125B (zh) | 2021-08-18 | 2021-08-18 | 一种基于随机可信委员会的共识方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113660125A CN113660125A (zh) | 2021-11-16 |
CN113660125B true CN113660125B (zh) | 2023-03-10 |
Family
ID=78480887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110948266.9A Active CN113660125B (zh) | 2021-08-18 | 2021-08-18 | 一种基于随机可信委员会的共识方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113660125B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114726866A (zh) * | 2022-04-07 | 2022-07-08 | 网易(杭州)网络有限公司 | 联盟链的共识节点维护方法、电子设备、存储介质 |
CN116707759B (zh) * | 2023-06-20 | 2024-02-20 | 南京理工大学 | 一种面向数据流通高并发场景的轻量级联盟链共识方法 |
CN117614611B (zh) * | 2024-01-24 | 2024-04-12 | 苏州元脑智能科技有限公司 | 一种区块链共识方法、系统和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109447795A (zh) * | 2018-09-11 | 2019-03-08 | 中国人民解放军国防科技大学 | 一种支持快速达成最终确认性的拜占庭共识方法 |
CN109547527A (zh) * | 2018-10-12 | 2019-03-29 | 广西师范大学 | 区块链中基于信誉机制的分区快速共识方法 |
CN111371877A (zh) * | 2020-02-28 | 2020-07-03 | 桂林电子科技大学 | 一种异构联盟链的共识方法 |
CN113259326A (zh) * | 2021-04-21 | 2021-08-13 | 广东电网有限责任公司 | 基于联盟链网络的共识优化方法、装置和计算机设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200059369A1 (en) * | 2017-05-16 | 2020-02-20 | Peking University Shenzhen Graduate School | Determining consensus by parallel proof of voting in consortium blockchain |
WO2018209542A1 (zh) * | 2017-05-16 | 2018-11-22 | 北京大学深圳研究生院 | 一种用于去中心化域名系统的共识方法 |
US11271717B2 (en) * | 2018-02-21 | 2022-03-08 | Thunder Token Inc. | Blockchain consensus methods and systems |
US20200162261A1 (en) * | 2018-11-18 | 2020-05-21 | Ramachandran Iyer | System and method of blockchain consensus mechanism with custom hardware based on geographic distribution, density, node asset and reputation |
-
2021
- 2021-08-18 CN CN202110948266.9A patent/CN113660125B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109447795A (zh) * | 2018-09-11 | 2019-03-08 | 中国人民解放军国防科技大学 | 一种支持快速达成最终确认性的拜占庭共识方法 |
CN109547527A (zh) * | 2018-10-12 | 2019-03-29 | 广西师范大学 | 区块链中基于信誉机制的分区快速共识方法 |
CN111371877A (zh) * | 2020-02-28 | 2020-07-03 | 桂林电子科技大学 | 一种异构联盟链的共识方法 |
CN113259326A (zh) * | 2021-04-21 | 2021-08-13 | 广东电网有限责任公司 | 基于联盟链网络的共识优化方法、装置和计算机设备 |
Non-Patent Citations (1)
Title |
---|
一种基于投票权竞争的区块链共识机制;宋宇波等;《山东大学学报(理学版)》;20200331;第55卷(第3期);第43-50页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113660125A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113660125B (zh) | 一种基于随机可信委员会的共识方法及装置 | |
CN112039964B (zh) | 一种基于区块链的节点信誉共识方法 | |
CN110677485B (zh) | 一种基于信用的动态分层拜占庭容错共识方法 | |
CN108667614B (zh) | 一种拜占庭容错方法及其实现系统 | |
CN109767199B (zh) | 基于信誉的pbft共识系统及方法、区块链数据处理系统 | |
CN111131209B (zh) | 一种改进的高效共识方法、系统、计算机设备及存储介质 | |
CN110796547A (zh) | 一种基于联盟区块链的改进的实用拜占庭容错系统 | |
CN112163856A (zh) | 用于区块链与物联网融合场景的共识方法及系统 | |
Au et al. | PERM: Practical reputation-based blacklisting without TTPs | |
CN113422805B (zh) | 一种基于可验证随机函数的分片共识方法 | |
CN112636905B (zh) | 基于多角色的可扩展共识机制的系统及方法 | |
CN115665170B (zh) | 基于信誉和节点压缩机制的区块链共识方法 | |
CN111935207A (zh) | 基于改进型c4.5算法区块链系统共识方法 | |
CN114003584A (zh) | 一种基于演化博弈的拜占庭容错共识方法 | |
CN109919760A (zh) | 基于投票机制的拜占庭容错共识算法 | |
CN113014635A (zh) | 区块链系统的节点类型划分方法、装置及区块链系统 | |
CN111414420A (zh) | 一种改进的pbft区块链共识方法 | |
CN113259179B (zh) | 一种基于节点评分的拜占庭容错共识方法与系统 | |
CN110995439A (zh) | 区块链共识方法、电子装置及存储介质 | |
CN115766035A (zh) | 一种多节点的共识方法及系统 | |
CN116094721A (zh) | 一种基于聚类的可扩展的分片共识算法 | |
CN114140233A (zh) | 分片区块链安全跨片视图转换方法及装置 | |
CN114077637A (zh) | 分片区块链实现方法 | |
CN115378788B (zh) | 基于分层共识和强化学习的区块链性能自适应优化方法 | |
CN117439998A (zh) | 一种面向物联网的联盟链共识协议优化方法 |
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 |