CN113301117B - 节点加入共识及退出共识方法、装置、计算机设备 - Google Patents

节点加入共识及退出共识方法、装置、计算机设备 Download PDF

Info

Publication number
CN113301117B
CN113301117B CN202110431778.8A CN202110431778A CN113301117B CN 113301117 B CN113301117 B CN 113301117B CN 202110431778 A CN202110431778 A CN 202110431778A CN 113301117 B CN113301117 B CN 113301117B
Authority
CN
China
Prior art keywords
node
new node
message
state
new
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
Application number
CN202110431778.8A
Other languages
English (en)
Other versions
CN113301117A (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.)
Guangdong Power Grid Co Ltd
Southern Power Grid Digital Grid Research Institute Co Ltd
Original Assignee
Guangdong Power Grid Co Ltd
Southern Power Grid Digital Grid Research Institute Co Ltd
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 Guangdong Power Grid Co Ltd, Southern Power Grid Digital Grid Research Institute Co Ltd filed Critical Guangdong Power Grid Co Ltd
Priority to CN202110431778.8A priority Critical patent/CN113301117B/zh
Publication of CN113301117A publication Critical patent/CN113301117A/zh
Application granted granted Critical
Publication of CN113301117B publication Critical patent/CN113301117B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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

Abstract

本申请涉及一种节点加入共识以及节点退出共识方法、装置、计算机设备。节点加入共识方法,通过构建新节点加入协议,使得新节点加入共识时,通过任一活跃节点基于对加入请求的审核结果生成新节点回调消息返回给新节点,使得任一活跃节点能够基于新节点返回的新节点收集消息,得到其他活跃节点对新节点加入的共识结果,使得在对新节点加入共识时,不需要各个活跃节点之间相互广播共识消息包,提高联盟链网络系统共识节点的更新操作效率。

Description

节点加入共识及退出共识方法、装置、计算机设备
技术领域
本申请涉及区块链技术领域,特别是涉及一种节点加入共识及退出共识方法、装置、计算机设备和存储介质。
背景技术
随着区块链技术的迅猛发展,区块链可以分类为私有链、联盟链和公有链。相比于私有链和公有链,联盟链在效率和灵活性上更有优势,因此得到了广泛的使用。
然而,联盟链作为一种去中心化的拜占庭容错的分布式系统,所采用的拜占庭容错共识机制中,在对节点进行加入共识或退出共识等更新操作时,仍然需要系统中的共识节点之间相互广播共识消息包,且导致联盟链网络系统的共识节点的更新操作效率低下。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高联盟链网络系统共识节点的更新操作效率低下的节点加入共识及退出共识方法、装置、计算机设备和存储介质。
在一个实施例中,提供了一种节点加入共识方法,应用于联盟链网络中的任一活跃节点,所述方法包括:
接收新节点的加入请求,审核所述加入请求;
若针对所述加入请求的审核结果为审核通过,则生成新节点回调消息,并将所述新节点回调消息发送至所述新节点;
接收所述新节点返回的新节点收集消息,审核所述新节点收集消息中是否包含设定数量活跃节点的新节点回调消息;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;
若是,确定针对所述新节点的所述加入请求的共识达成。
在其中一个实施例中,所述任一活跃节点存储有本地节点状态表;所述生成新节点回调消息之前还包括:
若针对所述加入请求的审核结果为通过,则在所述本地节点状态表中查找新节点的状态信息,根据所述新节点的状态信息为新节点分配节点序列号,并基于分配的节点序列号生成新节点回调消息。
在其中一个实施例中,所述新节点的状态信息包括活跃状态、黑名单状态和/或退出状态;根据所述新节点的状态信息为新节点分配节点序列号包括:
若所述新节点为活跃状态或黑名单状态,则拒绝处理所述新节点的加入请求。
在其中一个实施例中,所述确定针对所述新节点的所述加入请求的共识达成之后,所述方法还包括:
将所述新节点加入本地节点状态表,并生成新节点加入消息;
将所述新节点加入消息发送至节点状态中心,以使得节点状态中心根据多个活跃节点发送的所述新节点加入消息更新其本地节点状态表。
在其中一个实施例中,所述将所述新节点加入本地节点状态表之后,所述方法还包括:
向同一委员会的主节点发送节点状态更新消息;所述节点状态更新消息中包括当前节点更新后的节点状态表信息;
接收主节点基于节点状态更新消息返回的新节点状态消息;所述新节点状态消息中包括设定数量活跃节点的节点状态更新消息的集合;
基于新节点状态消息更新当前节点的本地节点状态表。
在另一个实施例中,提供了一种节点加入共识方法,应用于请求加入联盟链网络中的新节点,所述方法包括:
广播所述新节点的加入请求至同一委员会中的所有节点;
接收活跃节点返回的新节点回调消息;各个所述活跃节点对所述加入请求审核通过后返回所述新节点回调消息;
生成包含所述新节点回调消息的新节点收集消息,广播所述新节点收集消息至同一委员会中的所有节点,以使得所述委员会中的活跃节点在接收到所述新节点收集消息后审核所述新节点收集消息是否包含设定数量的新节点回调消息,若是,针对所述新节点的所述加入请求的共识达成;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数。
在其中一个实施例中,在所述委员会中的活跃节点针对所述新节点的所述加入请求的共识达成之后,所述方法还包括:
接收主节点发送的新节点状态消息;所述新节点状态消息中包括设定数量的活跃节点的节点状态更新消息;
基于所述新节点状态消息创建新节点的本地节点状态表。
在另一个实施例中,提供了一种节点退出共识方法,应用于联盟链网络中的任一活跃节点,所述方法包括:
接收任意一个节点的退出请求,审核所述退出请求;
若针对所述退出请求的审核结果为审核通过,发送节点退出回调消息至请求退出的节点;
接收请求退出的节点返回的节点退出收集消息,审核所述节点退出收集消息是否包含设定数量活跃节点的节点退出回调消息;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;
若是,确定针对所述退出请求的共识达成。
在其中一个实施例中,所述确定针对所述退出请求的共识达成之后,所述方法还包括:
基于所述节点的退出请求更新当前节点的本地节点状态表,以将本地节点状态表中所述退出请求对应的节点状态设置为退出。
在其中一个实施例中,所述确定针对所述退出请求的共识达成之后,所述方法还包括:
基于所述退出收集消息生成节点退出消息,将所述节点退出消息发送至节点状态中心,以使得节点状态中心基于多个活跃节点发送的所述节点退出消息更新其本地节点状态表。
在另一个实施例中,提供了一种节点加入共识装置,应用于联盟链网络中的任一活跃节点,所述装置包括:
加入请求审核模块,用于接收新节点的加入请求,审核所述加入请求;
新节点回调消息生成模块,用于若针对所述加入请求的审核结果为审核通过,则生成新节点回调消息,并将所述新节点回调消息发送至所述新节点;新节点加入消息生成模块,用于接收所述新节点返回的新节点收集消息,并基于所述新节点收集消息生成新节点加入消息,审核所述新节点收集消息中是否包含设定数量活跃节点的新节点回调消息;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;
加入共识模块,用于若所述新节点收集消息中包含设定数量的新节点回调消息,则确定针对所述新节点的所述加入请求的共识达成。
在另一个实施例中,提供了一种节点加入共识装置,应用于请求加入联盟链网络中的新节点,所述装置包括:
加入请求广播模块,用于广播新节点的加入请求至同一委员会中的所有节点;
新节点回调消息接收模块,用于接收活跃节点返回的新节点回调消息;各个所述活跃节点对所述加入请求审核通过后返回所述新节点回调消息;
新节点收集消息广播模块,用于生成包含所述新节点回调消息的新节点收集消息,广播所述新节点收集消息至同一委员会中的所有节点,以使得委员会中的活跃节点在接收到所述新节点收集消息后审核所述新节点收集消息是否包含设定数量的新节点回调消息,若是,针对所述新节点的所述加入请求的共识达成;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数。
在另一个实施例中,提供了一种节点退出共识装置,应用于联盟链网络中的任一活跃节点,所述装置包括:
退出请求审核模块,用于接收任意一个节点的节点退出请求,审核所述退出请求;
节点退出回调消息发送模块,用于若针对所述退出请求的审核结果为审核通过,发送节点退出回调消息至请求退出的节点;
节点退出消息收集模块,用于接收请求退出节点返回的节点退出收集消息,审核所述节点退出收集消息是否包含设定数量活跃节点的节点退出回调消息;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;
退出共识模块,用于若所述节点退出收集消息包含设定数量的节点退出回调消息,则确定针对所述退出请求的共识达成。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述所述方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述所述方法的步骤。
上述节点加入共识方法,通过构建新节点加入协议,使得新节点加入共识时,通过各活跃节点基于对加入请求的审核结果生成新节点回调消息返回给新节点,使得任一活跃节点能够基于新节点返回的新节点收集消息,得到其他活跃节点对新节点加入的共识结果,进而决策针对新节点的加入共识是否达成;上述节点退出共识方法,通过构建主动退出协议,使得节点退出共识时,通过各活跃节点基于对退出请求的审核结果生成退出回调消息返回给请求退出的节点,使得任一活跃节点能够基于请求退出节点返回的节点退出收集消息,得到其他活跃节点对节点退出的共识结果,进而决策针对节点的退出共识是否达成。通过上述方案,使得在对新节点加入共识以及节点退出共识时,不需要各个活跃节点之间相互广播共识消息包,提高联盟链网络系统共识节点的更新操作效率。
附图说明
图1为一个实施例中节点加入共识方法的应用环境图;
图2为一个实施例中节点加入共识方法的流程示意图;
图3为另一个实施例中节点加入共识方法的流程示意图;
图4为另一个实施例中节点加入共识方法的流程示意图;
图5为另一个实施例中节点加入共识方法的协议流程示意图;
图6为一个实施例中节点退出共识方法的流程示意图;
图7为另一个实施例中节点退出共识方法的流程示意图;
图8为一个实施例中节点退出共识方法的协议流程示意图;
图9为一个实施例中节点加入共识装置的结构框图;
图10为另一个实施例中节点加入共识装置的结构框图;
图11为一个实施例中节点退出共识装置的结构框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的一种节点加入共识方法,可以应用于如图1所示的应用环境中。新节点102和委员会中的各个节点104之间通过网络进行通信,委员会中的各个节点之间也可以通过网络进行通信。将区块链系统划分为若干委员会106,每个委员会106可以理解为区块链网络中的一个分片,每个分片中包括多个节点104,多个节点可以包括一个主节点和多个非主节点,各个委员会106作为独立的分片可以并行处理新节点102的加入或各自委员会中请求退出的节点的退出共识请求。新节点102以及委员会中的各个节点104可以是服务器,也可以是独立的设备,或者独立设备中的虚拟机。
具体地,任一节点对应有自身的节点状态表,节点状态表中记录了网络中所有共识节点的信息,包括节点序列号、节点状态以及节点的IP地址等信息,节点序列号代表节点在网络中的序号,节点状态标识节点的当前状态;节点的状态分为活跃状态、退出状态和/或黑名单状态,活跃状态表示节点正在当前所在的委员会中,退出状态表示节点已经自愿退出了所在的委员会,黑名单表示该节点因异常过多而被清退并取消再次加入联盟链网络的权利。所述联盟链网络中设有节点状态中心,节点状态中心对所有节点的节点状态表进行维护,例如对节点状态表进行节点加入或退出等更新操作。在一个实施例中,如图2所示,提供了一种节点加入共识方法,以该方法应用于图1中联盟链网络中的任一活跃节点104为例进行说明,包括以下步骤:
步骤202:接收新节点的加入请求,审核所述加入请求;
当一个新节点想要加入联盟链网络时,向联盟链的任一委员会中的节点发送新节点加入请求,委员会内的任一活跃节点在接收到该新节点的加入请求后,对所述加入请求进行审核。
在一个实施例中,当一个新节点想要加入联盟链网络时,先向节点状态中心请求最新的节点状态表得到网络中所有节点的节点状态,基于节点的状态向联盟链的任一委员会中的所有节点发送新节点加入请求。
步骤204:若针对所述加入请求的审核结果为审核通过,则生成新节点回调消息,并将所述新节点回调消息发送至所述新节点;
具体地,所述新节点的加入请求包括新节点的加入消息,在一个实施例中,新节点的加入消息的格式为:<newnode,A,Ψ>σj,其中newnode表示消息名称,A表示网络认证数据(该认证数据可根据实际系统不同个人定制),Ψ表示新节点的IP地址、公钥等基本信息,<x>σj代表新节点j对内容x进行签名。
进一步地,在一个实施例中,当任一活跃节点接收到新节点的加入请求时,对所述加入请求中所包含的新节点的加入消息进行审核,根据新节点的加入消息中的公钥进行验证,若验证通过,则活跃节点生成新节点回调消息,并将所述新节点回调消息发送给请求加入的新节点。作为一个具体示例,所述新节点回调消息的格式为:<newnode-callback,n,Ω,i>σi,其中newnode-callback表示新节点回调消息的消息名称,n表示活跃节点i为新节点j分配的节点序列号,Ω为活跃节点i的本地节点状态表,Ψ表示新节点j的IP地址、公钥等基本信息,<x>σj代表节点i对内容x进行签名。
步骤206:接收所述新节点返回的新节点收集消息,审核所述新节点收集消息中是否包含设定数量活跃节点的新节点回调消息;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;
具体地,新节点在广播了加入请求之后,开始收集活跃节点所返回的新节点回调消息,进一步地,当新节点从不同的活跃节点接收到2f+1条签名正确的新节点回调消息时,生成新节点收集消息广播给活跃节点,活跃节点接收所述新节点返回的新节点收集消息,并审核所述新节点收集消息中是否包含设定数量活跃节点的新节点回调消息。其中,f为联盟链网络同一委员会中恶意节点的个数。
在一个实施例中,所述新节点收集消息的格式为:<newnode-collect,n,O>σj至所有活跃节点,其中n为j的节点序列号,O为来自不同活跃节点的一组2f+1正确的新节点回调消息,
Figure BDA0003031643820000081
代表节点j对内容x进行签名。
步骤208:若是,确定针对所述新节点的所述加入请求的共识达成。
在一个实施例中,若活跃节点验证所述新节点收集消息中包含2f+1条不同活跃节点签名正确的新节点回调消息,表明同一委员会的各个节点对于新节点的加入达到了共识,即确定针对所述新节点的所述加入请求的共识达成。
上述节点加入共识方法,在节点加入共识时,联盟链网络中的任一活跃节点接收新节点的加入请求,审核所述加入请求;若针对所述加入请求的审核结果为审核通过,则生成新节点回调消息,并将所述新节点回调消息发送至所述新节点;接收所述新节点返回的新节点收集消息,审核所述新节点收集消息中是否包含设定数量活跃节点的新节点回调消息;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;若是,确定针对所述新节点的所述加入请求的共识达成。通过构建新节点加入协议,使得新节点加入共识时,通过各活跃节点基于对加入请求的审核结果生成新节点回调消息返回给新节点,使得任一活跃节点能够基于新节点返回的新节点收集消息,得到其他活跃节点对新节点加入的共识结果,进而决策针对新节点的加入共识是否达成,从而使得在对新节点加入共识时,不需要各个活跃节点之间相互广播共识消息包,提高联盟链网络系统共识节点的更新操作效率。
在其中一个实施例中,所述任一活跃节点包括本地节点状态表;所述生成新节点回调消息之前还包括:
若针对所述加入请求的审核结果为通过,则在所述本地节点状态表中查找新节点的状态信息,根据所述新节点的状态信息为新节点分配节点序列号,并基于分配的节点序列号生成新节点回调消息。
进一步地,在一个实施例中,若活跃节点对所述新节点的加入请求的审核结果为通过,则基于从本地节点状态表中得到的新节点状态信息为新节点分配序列号,并基于分配的节点序列号生成新节点回调消息;否则,活跃节点不执行任何操作。
在其中一个实施例中,所述新节点的状态信息包括活跃状态、黑名单状态和/或退出状态;根据所述新节点的状态信息为新节点分配节点序列号包括:
若所述新节点为活跃状态或黑名单状态,则拒绝处理所述新节点的加入请求。
作为一个具体示例,其节点序列号的分配规则如下:
活跃节点i首先在本地节点状态表中查找新节点j,如果新节点j的状态为活跃或黑名单,则该请求将被拒绝,拒绝处理所述新节点的加入请求,避免为已经在委员会内的活跃节点或不允许再次加入该委员会的节点分配序列号。
进一步地,若新节点j处于退出状态,它仍将被分配存储在本地节点状态表中的原始节点号;否则,将节点号n分配给新节点j,n的值为当前节点状态表中的最大节点号值加1。
在其中一个实施例中,所述确定针对所述新节点的所述加入请求的共识达成之后,所述方法还包括:
将所述新节点加入本地节点状态表,并生成新节点加入消息;
将所述新节点加入消息发送至节点状态中心,以使得节点状态中心根据多个活跃节点发送的所述新节点加入消息更新其本地节点状态表。
在一个实施例中,在确定针对所述新节点的所述加入请求的共识达成之后,活跃节点停止接收所述新节点的消息,将所述新节点添加至各自的本地节点状态表中进行更新,并生成新节点加入消息,将所述新节点加入消息发送至节点状态中心,以使得节点状态中心根据多个活跃节点发送的所述新节点加入消息更新其本地节点状态表。
进一步地,在其中一个实施例中,活跃节点在生成新节点加入消息之后,还将所述新节点加入消息发送至客户端,以使得客户端根据多个活跃节点发送的所述新节点加入消息更新其本地节点状态表。作为一个具体示例,新节点加入消息的格式为:
Figure BDA0003031643820000091
其中,NST表示节点状态表,n表示活跃节点i为新节点j分配的节点序列号,Ψ表示新节点的IP地址、公钥等基本信息,
Figure BDA0003031643820000101
代表节点j对内容x进行签名。
在其中一个实施例中,所述将所述新节点加入本地节点状态表之后,所述方法还包括:
向同一委员会的主节点发送节点状态更新消息;所述节点状态更新消息中包括当前节点更新后的节点状态表信息;
进一步地,在一个实施例中,活跃节点i将新节点加入到本地节点状态表之后,向同一委员会的主节点发送节点状态更新消息,作为一个具体示例,节点状态更新消息的格式为:
Figure BDA0003031643820000102
其中,NST表示节点状态表,Ω*表示活跃节点i更新后的节点状态表,
Figure BDA0003031643820000103
代表节点i对内容x进行签名。向主节点发送的节点状态更新消息中包含了活跃节点在将新节点加入到本地节点状态表之后所更新的节点状态表信息,使得主节点在接收到节点状态更新消息后能基于各个活跃节点所更新的节点状态表信息来确定各个活跃节点对新节点加入的共识结果。
接收主节点基于节点状态更新消息返回的新节点状态消息;所述新节点状态消息中包括设定数量活跃节点的节点状态更新消息的集合;
进一步地,主节点在接收到各个活跃节点所发送的节点状态更新消息之后,生成新节点状态消息广播给委员会中的所有节点。在一个实施例中,主节点在接收到2f+1条活跃节点所发送的节点状态更新消息时,生成新节点状态消息广播给委员会中的所有节点,使得各个活跃节点能够基于新节点状态消息更新当前节点的本地节点状态表,f为联盟链网络同一委员会中恶意节点的个数,作为一个具体示例,新节点状态消息的格式为:
Figure BDA0003031643820000104
其中,Ω*表示节点i更新后的节点状态表,V表示包含2f+1条活跃节点的节点状态更新消息的集合(2f条消息来自其他共识节点,1条消息来自主节点自身生成),
Figure BDA0003031643820000105
代表主节点p对内容x进行签名。
基于新节点状态消息更新当前节点的本地节点状态表。
进一步地,主节点接收到节点状态更新消息时,所接收到的是委员会中的活跃节点返回的节点状态更新消息,此时由于新节点加入,还未创建自身的节点状态表,也不存在更新后的节点状态表,因此主节点接收到的是委员会的其他活跃节点所返回的节点状态更新消息,并不包含已经共识加入的新节点。而在主节点生成新节点状态消息广播给各个活跃节点时,是同时广播给委员会的活跃节点以及加入的新节点,使得各个活跃节点能够基于主节点发送的新节点状态信息更新各自的本地节点状态表,以及新节点能够基于主节点发送的新节点状态信息创建自身的本地节点状态表。由此,委员会的节点状态更新表完成更新,新节点正式加入该委员会中,能够完成一个节点的所有功能。
在另一个实施例中,如图3所示,提供了一种节点加入共识方法,应用于请求加入联盟链网络中的新节点,所述方法包括:
步骤302:广播所述新节点的加入请求至同一委员会中的所有节点;
进一步地,当一个新节点想要加入联盟链网络时,将自身的加入请求广播至同一委员会的所有节点,在一个实施例中,所述新节点的加入请求包括新节点的加入消息,作为一个具体示例,新节点的加入消息的格式为:<newnode,A,Ψ>σj,其中newnode表示消息名称,A表示网络认证数据(该认证数据可根据实际系统不同个人定制),Ψ表示新节点的IP地址、公钥等基本信息,
Figure BDA0003031643820000111
代表节点j对内容x进行签名。
步骤304:接收活跃节点返回的新节点回调消息;各个所述活跃节点对所述加入请求审核通过后返回所述新节点回调消息;
进一步地,在一个实施例中,当任一活跃节点接收到新节点的加入请求时,对所述加入请求中所包含的新节点加入消息进行审核,根据新节点的加入消息中的公钥进行验证,若验证通过,则活跃节点生成新节点回调消息,并将所述新节点回调消息发送给请求加入的新节点。
步骤306:生成包含所述新节点回调消息的新节点收集消息,广播所述新节点收集消息至同一委员会中的所有节点,以使得委员会中的活跃节点在接收到所述新节点收集消息后审核所述新节点收集消息是否包含设定数量的新节点回调消息,若是,针对所述新节点的所述加入请求的共识达成;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数。
进一步地,新节点在广播了加入请求之后,开始收集活跃节点所返回的新节点回调消息。在一个实施例中,当新节点从不同的活跃节点接收到2f+1条签名正确的新节点回调消息时,生成新节点收集消息广播给活跃节点;f为联盟链网络同一委员会中恶意节点的个数。作为一个具体示例,所述新节点收集消息的格式为:
Figure BDA0003031643820000121
其中n为j的节点序列号,O为来自不同活跃节点的一组2f+1正确的新节点回调消息,
Figure BDA0003031643820000122
代表节点j对内容x进行签名。
进一步地,在一个实施例中,活跃节点在接收到新节点广播的新节点收集消息后,对接收到的新节点收集消息进行验证,验证所述新节点收集消息中是否包含2f+1条不同活跃节点签名正确的新节点回调消息,若是,表明同一委员会的各个节点对于新节点的加入达到了共识,确定针对所述新节点的所述加入请求的共识达成。
上述节点加入共识方法,在新节点加入共识时,新节点广播所述新节点的加入请求至同一委员会中的活跃节点;接收活跃节点返回的新节点回调消息;各个所述活跃节点对所述加入请求审核通过后返回所述新节点回调消息;生成包含所述新节点回调消息的新节点收集消息,广播所述新节点收集消息至同一委员会中的活跃节点,以使得活跃节点审核所述新节点收集消息是否包含设定数量的新节点回调消息,若是,针对所述新节点的所述加入请求的共识达成;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数。上述新节点加入共识方法,通过构建新节点加入协议,使得新节点加入共识时,通过各活跃节点基于对加入请求的审核结果生成新节点回调消息返回给新节点,使得任一活跃节点能够基于新节点返回的新节点收集消息,得到其他活跃节点对新节点加入的共识结果,进而决策针对新节点的加入共识是否达成,从而使得在对新节点加入共识时,不需要各个活跃节点之间相互广播共识消息包,提高联盟链网络系统共识节点的更新操作效率。
在其中一个实施例中,在针对所述新节点的所述加入请求的共识达成之后,所述方法还包括:
接收主节点发送的新节点状态消息;所述新节点状态消息中包括设定数量的活跃节点的节点状态更新消息;
进一步地,主节点在接收到各个活跃节点所发送的节点状态更新消息之后,生成新节点状态消息广播给新节点,在一个实施例中,节点状态更新消息的格式为:
Figure BDA0003031643820000131
其中NST表示节点状态表,Ω*表示节点i更新后的节点状态表,
Figure BDA0003031643820000132
代表节点i对内容x进行签名。
在一个实施例中,主节点在接收到2f+1条活跃节点所发送的节点状态更新消息时,生成新节点状态消息广播给新节点,f为联盟链网络同一委员会中恶意节点的个数。作为一个具体示例,新节点状态消息的格式为:<new-view,Ω*,V>σp,其中,Ω*表示节点i更新后的节点状态表,V表示包含2fc+1条活跃节点的节点状态更新消息的集合(2f条消息来自其他共识节点,1条消息来自主节点自身生成)。
基于所述新节点状态消息创建新节点的本地节点状态表。
进一步地,主节点生成新节点状态消息发送给新节点,使得新节点能够基于主节点发送的新节点状态信息创建自身的本地节点状态表。由此,委员会的节点状态更新表完成更新,新节点正式加入该委员会中,能够完成一个节点的所有功能。
为了使本领域技术人员能够更好地理解上述步骤,以下通过一个例子对本申请实施例加以示例性说明,但应当理解的是,本申请实施例并不限于此。
如图4、5所示,当新节点想要加入网络时,向委员会的所有节点广播新节点消息,委员会中的活跃节点在接收到新节点消息时,对所述新节点消息进行验证,若验证通过,委员会中的活跃节点为新节点分配节点序列号,并最终生成新节点收集消息,基于生成的新节点收集消息更新节点的本地状态表,并将新节点收集消息发送给客户端以及节点状态中心更新其对应的节点状态表,同时活跃节点向主节点发送基于新节点收集消息所得到的新节点状态更新消息,主节点在接收到新节点状态更新消息后基于节点状态更新消息生成新节点状态消息,主节点广播所述新节点状态消息,从而完成新节点的加入共识,新节点正式加入委员会;若验证未通过,则直接结束流程。
进一步地,如图5所示,给出了节点j在联盟链共识委员会中完成新节点加入协议的过程。节点0为主节点,节点3为缺陷节点,C&C表示客户端和节点状态中心。可以理解地,图4中的确认消息对应所述新节点收集消息,新视图消息对应所述新节点状态消息,图5中的视图变更消息对应所述新节点状态更新消息。
在另一个实施例中,如图6所示,提供了一种节点退出共识方法,应用于联盟链网络中的任一活跃节点,所述方法包括:
步骤602:接收任意一个节点的退出请求,审核所述退出请求;
进一步地,委员会的任一节点e在请求退出时,向委员会中的所有节点广播退出请求,委员会的所有活跃节点在接收所述退出请求后,对所述退出请求进行审核。
在一个实施例中,所述退出请求包括节点退出请求消息,委员会的所有活跃节点对所述节点退出请求消息进行审核。作为一个具体示例,所述节点退出请求消息的格式为:
Figure BDA0003031643820000141
其中,R为节点e退出网络的原因,n是表示节点e的节点序列号,
Figure BDA0003031643820000142
代表节点e对内容x进行签名。
步骤604:若针对所述退出请求的审核结果为审核通过,发送节点退出回调消息至请求退出的节点;
进一步地,在一个实施例中,委员会的活跃节点对所述退出请求中的节点退出消息进行审核,若审核通过,活跃节点向请求退出的节点e发送节点退出回调消息。作为一个具体示例,所述节点退出回调消息的格式为:<exit-callback,i,n>σi,其中,i为当前节点的节点序列号,n是表示节点e的节点序列号,
Figure BDA0003031643820000143
代表节点i对内容x进行签名。
步骤606:接收请求退出的节点返回的节点退出收集消息,审核所述节点退出收集消息是否包含设定数量活跃节点的节点退出回调消息;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;若是,确定针对所述退出请求的共识达成。
进一步地,在一个实施例中,请求退出的节点e从不同的活跃节点接收到包含2f条活跃节点返回的正确的节点退出回调消息时,生成节点退出收集消息,并将生成的节点退出收集消息广播给委员会中的所有节点,委员会中的所有活跃节点对接收的节点收集消息进行审核,若节点退出收集消息中包含2f+1条正确的节点退出回调消息,则确定针对所述退出请求的共识达成。作为一个具体示例,所述节点退出收集消息的格式为:
Figure BDA0003031643820000151
其中O是一个集合,包含2f+1条正确的退出回调消息(其中一条由请求退出的节点e本地生成),n表示节点e的节点号,
Figure BDA0003031643820000152
代表节点e对内容x进行签名。
在一个实施例中,委员会中的活跃节点收到请求退出的节点e的节点退出收集消息后,首先验证签名的正确性,接着提取O中的每个退出回调消息,如果O中包含来自不同活跃节点的2f+1条匹配退出回调消息,则证明当前网络中所有活跃节点对于节点e的退出请求达成了共识。
上述节点退出共识方法,在节点退出共识时,联盟链网络中的任一活跃节点接收任意一个节点的退出请求,审核所述退出请求;若针对所述退出请求的审核结果为审核通过,发送节点退出回调消息至请求退出的节点;接收请求退出的节点返回的节点退出收集消息,审核所述节点退出收集消息是否包含设定数量活跃节点的节点退出回调消息;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;若是,确定针对所述退出请求的共识达成。通过构建主动退出协议,使得节点退出共识时,通过各活跃节点基于对退出请求的审核结果生成退出回调消息返回给请求退出的节点,使得任一活跃节点能够基于请求退出节点返回的节点退出收集消息,得到其他活跃节点对节点退出的共识结果,进而决策针对节点的退出共识是否达成,从而使得在对新节点加入共识以及节点退出共识时,不需要各个活跃节点之间相互广播共识消息包,提高联盟链网络系统共识节点的更新操作效率。
在其中一个实施例中,所述确定针对所述退出请求的共识达成之后,所述方法还包括:
基于所述节点退出收集消息生成节点退出消息,将所述节点退出消息发送至节点状态中心,以使得节点状态中心基于多个活跃节点发送的所述节点退出消息更新其本地节点状态表。
进一步地,在一个实施例中,委员会的所有活跃节点在针对所述退出请求达成共识之后,委员会的所有活跃节点以及请求退出的节点基于所述退出收集消息生成节点退出消息,并将所述节点退出消息发送至节点状态中心,以使得节点状态中心基于多个活跃节点发送的所述节点退出消息更新其本地节点状态表,从而完成对应的本地节点状态表同步,至此,退出流程结束,节点e退出网络。
进一步地,在一个实施例中,委员会的所有活跃节点以及请求退出的节点还将所述节点退出消息发送至客户端,以使得客户端基于多个活跃节点发送的所述节点退出消息更新其本地节点状态表,从而完成对应的本地节点状态表同步。
在其中一个实施例中,所述确定针对所述退出请求的共识达成之后,所述方法还包括:
基于所述节点退出消息更新当前节点的本地节点状态表,以将本地节点状态表中所述节点退出对应的节点状态设置为退出。
进一步地,在一个实施例中,在委员会中的所有活跃节点对节点e的退出请求达成共识之后,基于节点退出消息更新当前节点的本地节点状态表,将请求退出的节点e的状态设置为退出,之后来自节点e的所有消息将被忽略,网络中尚未达成共识的消息将基于更新后的本地节点状态表进行共识。
为了使本领域技术人员能够更好地理解上述步骤,以下通过一个例子对本申请实施例加以示例性说明,但应当理解的是,本申请实施例并不限于此。
如图7、8所示,委员会中的任一节点在请求退出时,广播退出消息给委员会中的所有节点,委员会中的活跃节点在接收到退出消息时,对所述退出消息进行验证,若验证通过,则生成节点退出回调消息给请求退出的节点,请求退出的节点向委员会中的所有节点广播基于节点退出回调消息生成的节点退出收集消息,委员会中的活跃节点基于节点退出收集消息确定是否达成退出共识,若达成共识,则活跃节点以及请求退出的节点发送节点退出消息给客户端和节点状态中心更新其对应的本地节点状态表,至此请求退出的节点正式退出委员会;若未验证通过,则直接结束流程。
进一步地,如图8所示,给出了节点e在联盟链共识委员会中完成主动退出协议的过程。节点0为主节点,节点3为缺陷节点,C&C表示客户端和节点状态中心。可以理解地,图7中的确认消息对应所述节点退出收集消息,图8中的NST-退出消息对应所述节点退出消息。
应该理解的是,虽然图2-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在另一个实施例中,如图9所示,提供了一种节点加入共识装置,应用于联盟链网络中的任一活跃节点,所述装置包括:
加入请求审核模块910,用于接收新节点的加入请求,审核所述加入请求;
新节点回调消息生成模块920,用于若针对所述加入请求的审核结果为审核通过,则生成新节点回调消息,并将所述新节点回调消息发送至所述新节点;新节点加入消息生成模块,用于接收所述新节点返回的新节点收集消息,并基于所述新节点收集消息生成新节点加入消息,审核所述新节点收集消息中是否包含设定数量活跃节点的新节点回调消息;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;
加入共识模块930,用于若所述新节点收集消息中包含设定数量的新节点回调消息,则确定针对所述新节点的所述加入请求的共识达成。
在另一个实施例中,如图10所示,提供了一种节点加入共识装置,应用于请求加入联盟链网络中的新节点,所述装置包括:
加入请求广播模块1010,用于广播新节点的加入请求至同一委员会中的所有节点;
新节点回调消息接收模块1020,用于接收活跃节点返回的新节点回调消息;各个所述活跃节点对所述加入请求审核通过后返回所述新节点回调消息;
新节点收集消息广播模块1030,用于生成包含所述新节点回调消息的新节点收集消息,广播所述新节点收集消息至同一委员会中的所有节点,以使得委员会中的活跃节点在接收到所述新节点收集消息后审核所述新节点收集消息是否包含设定数量的新节点回调消息,若是,针对所述新节点的所述加入请求的共识达成;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数。
在另一个实施例中,如图11所示,提供了一种节点退出共识装置,应用于联盟链网络中的任一活跃节点,所述装置包括:
退出请求审核模块1110,用于接收任意一个节点的节点退出请求,审核所述退出请求;
节点退出回调消息发送模块1120,用于若针对所述退出请求的审核结果为审核通过,发送节点退出回调消息至请求退出的节点;
节点退出消息收集模块1130,用于接收请求退出节点返回的节点退出收集消息,审核所述节点退出收集消息是否包含设定数量活跃节点的节点退出回调消息;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;
退出共识模块1140,用于若所述节点退出收集消息包含设定数量的节点退出回调消息,则确定针对所述退出请求的共识达成。
关于节点加入共识装置以及节点退出共识装置的具体限定可以参见上文中对于节点加入共识方法以及节点退出共识方法的限定,在此不再赘述。上述节点加入共识装置以及节点退出共识装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储共识节点的基础数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述方法。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述所述方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述所述方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种节点加入共识方法,其特征在于,应用于联盟链网络中的任一活跃节点,所述任一活跃节点存储有本地节点状态表;所述方法包括:
接收新节点的加入请求,审核所述加入请求;
若针对所述加入请求的审核结果为审核通过,则在所述本地节点状态表中查找新节点的状态信息,根据所述新节点的状态信息为新节点分配节点序列号,并基于分配的节点序列号生成新节点回调消息,并将所述新节点回调消息发送至所述新节点;
接收所述新节点返回的新节点收集消息,审核所述新节点收集消息中是否包含设定数量活跃节点的新节点回调消息;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;
若是,确定针对所述新节点的所述加入请求的共识达成;
将所述新节点加入本地节点状态表,并生成新节点加入消息;
将所述新节点加入消息发送至节点状态中心以及客户端,以使得节点状态中心以及客户端根据多个活跃节点发送的所述新节点加入消息更新其本地节点状态表;
所述新节点的状态信息包括活跃状态、黑名单状态和/或退出状态;根据所述新节点的状态信息为新节点分配节点序列号包括:
若所述新节点的状态信息不为活跃状态或黑名单状态,则为新节点分配节点序列号,否则,拒绝处理所述新节点的加入请求。
2.根据权利要求1所述的方法,其特征在于,所述将所述新节点加入本地节点状态表之后,所述方法还包括:
向同一委员会的主节点发送节点状态更新消息;所述节点状态更新消息中包括当前节点更新后的节点状态表信息;
接收主节点基于节点状态更新消息返回的新节点状态消息;所述新节点状态消息中包括设定数量活跃节点的节点状态更新消息的集合;
基于新节点状态消息更新当前节点的本地节点状态表。
3.一种节点加入共识方法,其特征在于,应用于请求加入联盟链网络中的新节点,所述方法包括:
广播所述新节点的加入请求;
接收同一委员会中的活跃节点返回的新节点回调消息;各个所述活跃节点对所述加入请求审核通过后,在各个所述活跃节点所对应的本地节点状态表中查找新节点的状态信息,根据所述新节点的状态信息为新节点分配节点序列号,并基于分配的节点序列号生成所述新节点回调消息并返回所述新节点回调消息;
生成包含所述新节点回调消息的新节点收集消息,广播所述新节点收集消息至同一委员会中的所有节点,以使得所述委员会中的活跃节点在接收到所述新节点收集消息后审核所述新节点收集消息是否包含设定数量的新节点回调消息,若是,针对所述新节点的所述加入请求的共识达成;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;
接收主节点发送的新节点状态消息;所述新节点状态消息中包括设定数量的活跃节点的节点状态更新消息;
基于所述新节点状态消息创建新节点的本地节点状态表;
所述新节点的状态信息包括活跃状态、黑名单状态和/或退出状态;根据所述新节点的状态信息为新节点分配节点序列号包括:
若所述新节点的状态信息不为活跃状态或黑名单状态,则为新节点分配节点序列号,否则,拒绝处理所述新节点的加入请求。
4.一种节点退出共识方法,其特征在于,应用于联盟链网络中的任一活跃节点,所述方法包括:
接收任意一个节点的退出请求,审核所述退出请求;
若针对所述退出请求的审核结果为审核通过,发送节点退出回调消息至请求退出的节点;
接收请求退出的节点返回的节点退出收集消息,审核所述节点退出收集消息是否包含设定数量活跃节点的节点退出回调消息;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;
若是,确定针对所述退出请求的共识达成;
基于所述节点的退出请求更新当前节点的本地节点状态表,以将本地节点状态表中所述退出请求对应的节点状态设置为退出;
所述确定针对所述退出请求的共识达成之后,所述方法还包括:
基于所述退出收集消息生成节点退出消息,将所述节点退出消息发送至节点状态中心以及客户端,以使得节点状态中心以及客户端基于多个活跃节点发送的所述节点退出消息更新其本地节点状态表。
5.一种节点加入共识装置,其特征在于,应用于联盟链网络中的任一活跃节点,所述任一活跃节点存储有本地节点状态表;所述装置包括:
加入请求审核模块,用于接收新节点的加入请求,审核所述加入请求;
新节点回调消息生成模块,用于若针对所述加入请求的审核结果为审核通过,则在所述本地节点状态表中查找新节点的状态信息,根据所述新节点的状态信息为新节点分配节点序列号,并基于分配的节点序列号生成新节点回调消息,并将所述新节点回调消息发送至所述新节点;新节点加入消息生成模块,用于接收所述新节点返回的新节点收集消息,并基于所述新节点收集消息生成新节点加入消息,审核所述新节点收集消息中是否包含设定数量活跃节点的新节点回调消息;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;
加入共识模块,用于若所述新节点收集消息中包含设定数量的新节点回调消息,则确定针对所述新节点的所述加入请求的共识达成;
第一更新模块,用于将所述新节点加入本地节点状态表,并生成新节点加入消息;将所述新节点加入消息发送至节点状态中心,以使得节点状态中心根据多个活跃节点发送的所述新节点加入消息更新其本地节点状态表;
所述新节点的状态信息包括活跃状态、黑名单状态和/或退出状态;所述新节点回调消息生成模块,还用于若所述新节点的状态信息不为活跃状态或黑名单状态,则为新节点分配节点序列号,否则,拒绝处理所述新节点的加入请求。
6.一种节点加入共识装置,其特征在于,应用于请求加入联盟链网络中的新节点,所述装置包括:
加入请求广播模块,用于广播新节点的加入请求至同一委员会中的所有节点;
新节点回调消息接收模块,用于接收活跃节点返回的新节点回调消息;各个所述活跃节点对所述加入请求审核通过后,在各个所述活跃节点所对应的本地节点状态表中查找新节点的状态信息,根据所述新节点的状态信息为新节点分配节点序列号,并基于分配的节点序列号生成所述新节点回调消息并返回所述新节点回调消息;
新节点收集消息广播模块,用于生成包含所述新节点回调消息的新节点收集消息,广播所述新节点收集消息至同一委员会中的所有节点,以使得委员会中的活跃节点在接收到所述新节点收集消息后审核所述新节点收集消息是否包含设定数量的新节点回调消息,若是,针对所述新节点的所述加入请求的共识达成;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;
创建模块,用于接收主节点发送的新节点状态消息;所述新节点状态消息中包括设定数量的活跃节点的节点状态更新消息;基于所述新节点状态消息创建新节点的本地节点状态表;
所述新节点的状态信息包括活跃状态、黑名单状态和/或退出状态;所述新节点回调消息接收模块,还用于若所述新节点的状态信息不为活跃状态或黑名单状态,则为新节点分配节点序列号,否则,拒绝处理所述新节点的加入请求。
7.一种节点退出共识装置,其特征在于,应用于联盟链网络中的任一活跃节点,所述装置包括:
退出请求审核模块,用于接收任意一个节点的节点退出请求,审核所述退出请求;
节点退出回调消息发送模块,用于若针对所述退出请求的审核结果为审核通过,发送节点退出回调消息至请求退出的节点;
节点退出消息收集模块,用于接收请求退出节点返回的节点退出收集消息,审核所述节点退出收集消息是否包含设定数量活跃节点的节点退出回调消息;所述设定数量大于所述联盟链网络同一委员会中恶意节点的个数;
退出共识模块,用于若所述节点退出收集消息包含设定数量的节点退出回调消息,则确定针对所述退出请求的共识达成;
第二更新模块,用于基于所述节点的退出请求更新当前节点的本地节点状态表,以将本地节点状态表中所述退出请求对应的节点状态设置为退出;
所述第二更新模块,还用于基于所述退出收集消息生成节点退出消息,将所述节点退出消息发送至节点状态中心以及客户端,以使得节点状态中心以及客户端基于多个活跃节点发送的所述节点退出消息更新其本地节点状态表。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述方法的步骤。
CN202110431778.8A 2021-04-21 2021-04-21 节点加入共识及退出共识方法、装置、计算机设备 Active CN113301117B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110431778.8A CN113301117B (zh) 2021-04-21 2021-04-21 节点加入共识及退出共识方法、装置、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110431778.8A CN113301117B (zh) 2021-04-21 2021-04-21 节点加入共识及退出共识方法、装置、计算机设备

Publications (2)

Publication Number Publication Date
CN113301117A CN113301117A (zh) 2021-08-24
CN113301117B true CN113301117B (zh) 2023-01-20

Family

ID=77321521

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110431778.8A Active CN113301117B (zh) 2021-04-21 2021-04-21 节点加入共识及退出共识方法、装置、计算机设备

Country Status (1)

Country Link
CN (1) CN113301117B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058957B1 (en) * 2002-07-12 2006-06-06 3Pardata, Inc. Cluster event notification system
CN111131286A (zh) * 2019-12-30 2020-05-08 百度在线网络技术(北京)有限公司 一种区块链节点的准入控制方法、装置、设备和介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112492006B (zh) * 2018-10-31 2023-12-05 创新先进技术有限公司 一种基于区块链的节点管理方法和装置
CN109871279B (zh) * 2019-03-11 2021-10-01 京东方科技集团股份有限公司 共识任务协调方法及装置、区块链系统、存储介质
CN111431931A (zh) * 2020-04-12 2020-07-17 中信银行股份有限公司 节点共识方法及装置
CN112398930A (zh) * 2020-11-04 2021-02-23 深圳前海微众银行股份有限公司 区块链的共识方法、节点设备、系统以及存储介质
CN112671541A (zh) * 2020-12-17 2021-04-16 深圳前海微众银行股份有限公司 一种区块链网络中节点管理的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058957B1 (en) * 2002-07-12 2006-06-06 3Pardata, Inc. Cluster event notification system
CN111131286A (zh) * 2019-12-30 2020-05-08 百度在线网络技术(北京)有限公司 一种区块链节点的准入控制方法、装置、设备和介质

Also Published As

Publication number Publication date
CN113301117A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
US10999061B2 (en) Service data storage method and apparatus, storage medium, and electronic device
CN110348242B (zh) 业务请求处理方法及装置
CN109257427B (zh) 一种基于区块链的业务处理方法及系统
CN107833139B (zh) 交易数据处理方法、装置、计算机设备及存储介质
US9825836B2 (en) Self-forming network
CN110443614B (zh) 节点设备删除方法、装置、计算机设备及存储介质
CN111625593B (zh) 基于区块链的数据处理方法、装置、计算机设备
CN111628886A (zh) 私有云环境下组建区块链网络的方法、装置、计算机设备
CN113259326B (zh) 基于联盟链网络的共识优化方法、装置和计算机设备
CN111522874A (zh) 区块链共识方法、装置、计算机设备和存储介质
US10735415B2 (en) Method for accumulating and co-assembling consistent data
CN110460536B (zh) 用于区块链的数据处理方法和装置、介质和电子设备
CN110990790B (zh) 一种数据处理方法及设备
CN111866993B (zh) 无线局域网连接管理方法、装置、软件程序及存储介质
CN114374699A (zh) 跨链交互方法和跨链交互的审计方法
CN113301117B (zh) 节点加入共识及退出共识方法、装置、计算机设备
CN114760198A (zh) 一种基于区块链网络的共识方法、装置及系统
CN112383381A (zh) 适应万物互联的编码方法、装置和电子设备
CN112688790B (zh) 一种联盟链的数据处理方法、装置、电子设备和存储介质
CN109756390B (zh) 自动测试网络加速器连通性方法和装置
CN112702326B (zh) 密码信息管理方法及密码管理节点
US20230351374A1 (en) System for accelerated distributed ledger and for digital wallet deployment
CN116112501A (zh) 基于区块链网络的业务处理方法、装置、设备及存储介质
CN115375304A (zh) 一种基于区块链的数据处理方法、装置、设备以及介质
CN115834590A (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