CN111131399A - 一种区块链中共识节点动态增加方法及装置 - Google Patents

一种区块链中共识节点动态增加方法及装置 Download PDF

Info

Publication number
CN111131399A
CN111131399A CN201911221129.4A CN201911221129A CN111131399A CN 111131399 A CN111131399 A CN 111131399A CN 201911221129 A CN201911221129 A CN 201911221129A CN 111131399 A CN111131399 A CN 111131399A
Authority
CN
China
Prior art keywords
consensus
network
new
block
node
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
CN201911221129.4A
Other languages
English (en)
Other versions
CN111131399B (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.)
Jingdong Shuke Haiyi Information Technology Co Ltd
Jingdong Technology Information Technology Co Ltd
Original Assignee
Beijing Haiyi Tongzhan Information Technology 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 Beijing Haiyi Tongzhan Information Technology Co Ltd filed Critical Beijing Haiyi Tongzhan Information Technology Co Ltd
Priority to CN201911221129.4A priority Critical patent/CN111131399B/zh
Publication of CN111131399A publication Critical patent/CN111131399A/zh
Priority to PCT/CN2020/090656 priority patent/WO2021109471A1/zh
Priority to JP2022529735A priority patent/JP2023503120A/ja
Priority to EP20897236.4A priority patent/EP4072097A4/en
Priority to US17/780,907 priority patent/US20230025449A1/en
Application granted granted Critical
Publication of CN111131399B publication Critical patent/CN111131399B/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

本申请涉及一种区块链中共识节点动态增加方法及装置,其中方法包括:接收新的参与方发起的在共识网络中注册为新共识节点的注册请求;其中,所述注册请求用于向所述共识网络发起注册;根据所述注册请求,生成写有新共识网络的拓扑信息的网络更新区块;其中,所述新共识网络中包括共识网络中的共识节点及新共识节点;将所述共识网络中的区块信息以及所述网络更新区块同步至所述参与方及共识节点,得到所述新共识网络。本申请解决了新加入共识网络的节点通过状态机复制进行账本区块的数据同步,状态机复制会导致本地重放交易的计算量非常大,性能较低的问题;无需进行重放交易,进而可以有效降低同步时的各个共识节点的计算量、提高同步的效率。

Description

一种区块链中共识节点动态增加方法及装置
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链中共识节点动态增加方法及装置。
背景技术
大部分的BFT SMR(状态机复制系统)都假设共识网络拓扑是静态的,不会随着时间而增长或者收缩。即便少数区块链系统实现了共识网络拓扑中共识节点的动态配置,但由于采用了状态机复制的技术,在大业务量的情况下其极低的性能也使得用于工程实践变得困难。另外,有的区块链系统虽然声称实现了共识节点的动态配置,但都是在停机或者业务暂停的基础上进行的。
随着区块链技术的发展,以及区块链商业化应用的趋势,势必需要一种实用的共识节点动态添加方案。
针对相关技术中存在的诸多技术问题,目前尚未提供有效的解决方案。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种区块链中共识节点动态增加方法及装置。
第一方面,本申请提供了一种区块链中共识节点动态增加方法,包括:
接收新的参与方发起的在共识网络中注册为新共识节点的注册请求;其中,所述注册请求用于向所述共识网络发起注册;
根据所述注册请求,生成写有新共识网络的拓扑信息的网络更新区块;其中,所述新共识网络中包括共识网络中的共识节点及新共识节点;
将所述共识网络中的区块信息以及所述网络更新区块同步至所述参与方及共识节点,得到所述新共识网络。
可选的,如前述的方法,所述根据所述注册请求,生成写有新共识网络的拓扑信息的网络更新区块,包括:
所述共识网络中的共识节点对所述注册请求进行拜占庭容错共识;所述注册请求中的内容包括所述参与方的信息,所述参与方的信息包括:所述参与方的网络地址、端口号;
在共识达成后,根据所述注册请求生成网络更新区块。
可选的,如前述的方法,在将所述共识网络中的区块信息以及所述网络更新区块同步至所述参与方及共识节点之前,还包括:
接收所述参与方发起的区块信息获取请求;
根据所述区块信息获取请求,向所述参与方反馈各个共识节点的当下的区块信息;用于使所述参与方从各个所述共识节点中选取区块信息完备的共识节点进行区块信息同步。
可选的,如前述的方法,所述将所述共识网络中的区块信息以及所述网络更新区块同步至所述参与方,包括:
接收所述参与方向数据源节点发起的区块同步请求;其中,所述数据源节点为所述区块信息完备的共识节点;
根据所述区块同步请求将所述数据源节点中的已有区块信息同步至所述参与方。
可选的,如前述的方法,所述根据所述区块同步请求将所述数据源节点中的已有区块信息同步至所述参与方,包括:
确定所述数据源节点中的各个已有区块信息对应的键值对数据集;
将所述键值对数据集从数据源节点对应的源数据库中拉取出后,存储至所述参与方的数据库中。
可选的,如前述的方法,将所述共识网络中的区块信息以及所述网络更新区块同步至所述共识节点,包括:
接收所述参与方发送的更新配置信息;
根据所述更新配置信息通知所述共识网络中的所述共识节点进行区块更新,使每个所述共识节点更新得到所述网络更新区块。
可选的,如前述的方法,还包括:
在同步时段内所述共识网络中达成新共识,并生成新区块信息时,对所述新共识节点进行所述新区块信息同步;所述同步时段为:将所述共识网络中的区块信息以及所述网络更新区块同步至所述参与方的时段。
可选的,如前述的方法,所述对所述新共识节点进行所述新区块信息同步,包括:
在所述新共识节点通过与共识节点进行比较,确定其他共识节点中包括所述新区块之后,通过状态机复制的方式对所述新区块对应的交易进行重放,使所述新共识节点中生成所述新区块。
第二方面,本申请提供了一种区块链中共识节点动态增加装置,其特征在于,包括:
接收模块,用于接收新的参与方发起的在共识网络中注册为新共识节点的注册请求;其中,所述注册请求用于向所述共识网络发起注册;
注册模块,用于根据所述注册请求,生成写有新共识网络的拓扑信息的网络更新区块;其中,所述新共识网络中包括共识网络中的共识节点及新共识节点;
同步模块,用于将所述共识网络中的区块信息以及所述网络更新区块同步至所述参与方及共识节点,得到所述新共识网络。
第三方面,本申请提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现如前述任一项所述的处理方法。
第四方面,本申请提供了一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如前述任一项所述的处理方法。
本申请实施例提供了一种区块链中共识节点动态增加方法及装置,其中方法包括:接收新的参与方发起的在共识网络中注册为新共识节点的注册请求;其中,所述注册请求用于向所述共识网络发起注册;根据所述注册请求,生成写有新共识网络的拓扑信息的网络更新区块;其中,所述新共识网络中包括共识网络中的共识节点及新共识节点;将所述共识网络中的区块信息以及所述网络更新区块同步至所述参与方及共识节点,得到所述新共识网络。本申请实施例提供的上述技术方案相对相关技术而言,解决了新加入共识网络的节点通过状态机复制进行账本区块的数据同步,状态机复制会导致本地重放交易的计算量非常大,性能较低的问题;无需进行重放交易,进而在共识网络中添加共识节点的时候,可以有效降低进行区块信息同步时的各个共识节点的计算量、提高同步的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种区块链中共识节点动态增加方法的方法流程示意图;
图2为本申请另一实施例提供的一种区块链中共识节点动态增加方法的方法流程示意图;
图3为本申请另一实施例提供的一种区块链中共识节点动态增加方法的方法流程示意图;
图4为本申请另一实施例提供的一种区块链中共识节点动态增加方法的方法流程示意图;
图5为本申请另一实施例提供的一种区块链中共识节点动态增加方法的方法流程示意图;
图6为本申请另一实施例提供的一种区块链中共识节点动态增加方法的方法流程示意图;
图7为本申请另一实施例提供的一种区块链中共识节点动态增加方法的方法流程示意图;
图8为本申请一种应用例的处理方法流程图;
图9为本申请实施例提供的一种区块链中共识节点动态增加装置的框图;
图10为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种区块链中共识节点动态增加方法,如图1所示,包括如下步骤S1至S3:
S1.接收新的参与方发起的在共识网络中注册为新共识节点的注册请求;其中,注册请求用于向共识网络发起注册;
具体的,参与方可以通过SDK或者第三方管理工具向共识网络注册为新共识节点,进而与共识网络中的共识节点进行共识;可选的,发起注册请求的操作可以交易的形式发起;
S2.根据注册请求,生成写有新共识网络的拓扑信息的网络更新区块;其中,新共识网络中包括共识网络中的共识节点及新共识节点;
具体的,新共识网络为:原共识网络中的同时节点与参与方注册成功后的新共识节点组成的新的网络;网络更新区块中包括根据新共识网络的拓扑信息,拓扑信息一般为新共识网络的拓扑结构;
举例的,当收到以交易形式发起的注册请求之前,已有的区块信息为:block0、block1……blockN时,共识网络在收到注册请求之后,则会将交易写进区块,即产生新的区块blockN+1;且该区块中记录了上述的新共识网络的拓扑结构。
S3.将共识网络中的区块信息以及网络更新区块同步至参与方及共识节点,得到新共识网络。
具体的,区块信息即区块链中的账本区块;上述的将共识网络中的区块信息以及网络更新区块同步至参与方及共识节点为:将共识网络中的区块信息以及网络更新区块同步至参与方,以及,将共识网络中的区块信息以及网络更新区块同步至共识节点;因此参与方与共识节点的区块信息能够达成一致,至此参与方(同步后为新共识节点)与原来的共识网络中的各个共识节点都能从配置中了解到除其自身以外的其余节点的存在,使新共识节点及共识节点都能共同参与新交易的共识,因而得到了新共识网络。
如图2所示,在一些实施例中,如前述的方法,步骤S2根据注册请求,生成写有新共识网络的拓扑信息的网络更新区块,包括如下所述步骤S21和S22:
S21.共识网络中的共识节点对注册请求进行拜占庭容错共识;注册请求中的内容包括参与方的信息,参与方的信息包括:参与方的网络地址、端口号;
具体的,上述的拜占庭容错共识包括三个阶段:
1)、领导者提议阶段:将参与方作为新共识节点的提议;
2)、写(write)阶段:将提议写入各个共识节点中;
3)、接收(accept)阶段:各个共识节点接受将参与方作为新共识节点。
S22.在共识达成后,根据注册请求生成网络更新区块。
具体的,共识达成是指各个区块都接受将参与方作为新共识节点的提议;一般的,共识网络的拓扑信息可以存在于创世区块中,且拓扑信息可以包括各个共识节点的网络地址、端口号等信息;由于注册请求中可以包括参与方的网络地址、端口号,因此只要根据创世区块中的拓扑信息与注册请求即可得到包括根据新共识网络的拓扑信息的网络更新区块。至此,新共识网络的拓扑结构在原来的各个共识节点的数据库中已经落盘了。
如图3所示,在一些实施例中,如前述的方法,在步骤S3将共识网络中的区块信息以及网络更新区块同步至参与方及共识节点之前,还包括如下所述步骤A1和A2:
A1.接收参与方发起的区块信息获取请求;
具体的,由于在启动之初,参与方对应的数据库中没有任何账本区块信息,因此,若需要加入与其它共识节点的共识中,便需要获取其它共识节点的区块信息;可选的,获取其它共识节点的区块信息的方法可以是参与方主动请求获取的。
A2.根据区块信息获取请求,向参与方反馈各个共识节点的当下的区块信息;用于使参与方从各个共识节点中选取区块信息完备的共识节点进行区块信息同步。
具体的,由于共识网络中可能会存在“坏节点”,需要参与方与共识网络中的共识节点进行信息交互选出账本数据完备的共识节点作为数据源节点;因此在收到区块信息获取请求之后,向参与方反馈各个共识节点的当下的区块信息,以便于使参与方从各个共识节点中选取区块信息完备的共识节点进行区块信息同步。
如图4所示,在一些实施例中,如前述的方法,步骤S3中将共识网络中的区块信息以及网络更新区块同步至参与方,包括如下所述步骤S311和S312:
S311.接收参与方向数据源节点发起的区块同步请求;其中,数据源节点为区块信息完备的共识节点;
具体的,数据源节点为通过前述步骤A1和A2中参与方选出的区块信息完备的共识节点;可选的,参与方会获知数据源节点中存在的最新区块信息,因此上述的区块同步请求中会包括需要进行同步的区块,例如说,当参与方根据交互信息得知数据源节点具有最新区块BlockN+1,则会请求同步Block0至BlockN+1的所有区块;一般的,区块信息完备的共识节点中会包括前述实施例中的网络更新区块。
S312.根据区块同步请求将数据源节点中的已有区块信息同步至参与方。
可选的,本实施例中的已有区块信息同步的方法可以为数据同步,因此,明显有异于相关技术中通过状态机复制进行账本区块的数据同步的方法,可以大大降低通过状态机复制会导致本地重放交易的计算量大,影响性能的情况。
如图5所示,在一些实施例中,如前述的方法,步骤S312根据区块同步请求将数据源节点中的已有区块信息同步至参与方,包括:
S3121.确定数据源节点中的各个已有区块信息对应的键值对数据集;
具体的,上述键值对数据集为KV数据集,KV数据集中包括多个KV数据,每个区块信息都对应有一个KV数据,KV数据为key-value数据,采用分布式存储系统查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询;也就是说,区块信息以键值对数据的方式存储于数据库中。
S3122.将键值对数据集从数据源节点对应的源数据库中拉取出后,存储至参与方的数据库中。
具体的,在将键值对数据集从上述数据源节点的源数据库中拉取出,并存储至参与方的数据库中之后;若数据源节点未进行业务交易,则参与方的便达到和数据源节点账本区块一致性的要求了。
如图6所示,在一些实施例中,如前述的方法,步骤S3中将共识网络中的区块信息以及网络更新区块同步至共识节点,包括如下所述步骤S321和S322:
S321.接收参与方发送的更新配置信息。
一般的,该步骤是在步骤S312执行完成之后,由于参与方想要参与到后续的共识中,因此其发送更新配置信息到原来的共识网络中通知各个共识节点在共识层面更新配置即新共识网络的拓扑信息。
S322.根据更新配置信息通知共识网络中的共识节点进行区块更新,使每个共识节点更新得到网络更新区块。
具体的,网络更新区块可以通过交易的方式使各个共识节点获取该区块,并且,至此参与方与原来共识网络中的共识节点都能从配置中了解到除其自身以外其余节点(包括参与方)的存在,共同参与新交易的共识,因此参与方便其他共识节点处于同一个新共识网络中,成功注册成为一个新共识节点。
如图7所示,在一些实施例中,如前述的方法,还包括如下所述步骤S4:
S4.在同步时段内共识网络中达成新共识,并生成新区块信息时,对新共识节点进行新区块信息同步;同步时段为:将共识网络中的区块信息以及网络更新区块同步至参与方的时段。
具体的,举例说明:在参与方拉取键值对数据集的过程中,原共识网络节点并未间断处理业务交易,并对新的交易又达成了两轮共识,相应产生了两个新的区块BlockN+2,BlockN+3;在新共识节点(参与方注册成功后的共识节点)开启共识后,会有一个与其他共识节点比较区块信息的过程,通过比较得知自己落后两个区块信息,此时再对新区块信息进行同步,以达到和别的共识节点区块信息的一致性。
在一些实施例中,如前述的方法,步骤S4中对新共识节点进行新区块信息同步,具体包括:
在新共识节点通过与共识节点进行比较,确定其他共识节点中包括新区块之后,通过状态机复制的方式对新区块对应的交易进行重放,使新共识节点中生成新区块。
也就是说,在新共识节点开启共识后,通过与其他共识节点比较区块信息的过程,得知自己落后N个区块信息(即上述的新区块信息)之后,可以通过状态机复制的方式对落后区块中的交易进行重放,以达到和别的共识节点区块信息的一致性。
因此,本发明通过区块信息数据库复制与状态机复制(交易重放)补偿技术相结合的设计方案来解决不停机,不中断业务交易情况下的动态添加共识节点的问题。
如图8所示,采用本申请方法的一种应用例如下所述:
I、注册新的共识参与方
通过SDK或者第三方管理工具向共识网络注册新的参与方,这一操作会以交易的形式发起,交易内容包含新的参与方的网络地址,端口等信息;当这笔交易到达原来的共识网络后,会经历一个三阶段的BFT共识(拜占庭容错共识)过程,共识达成后交易写进区块,即BlockN+1新区块产生了,该区块里记录了新共识网络的拓扑。该步骤的目的是从数据库存储层面记录下共识节点的新网络拓扑,即便共识节点停机重启也能从该区块信息加载最新共识网络拓扑信息;
II、从数据源节点复制KV数据集
新的共识网络拓扑在原来的共识网络中的共识节点的数据库中已经落盘了,现在启动新的参与方节点进程。启动之初,新节点对应的数据库中没有任何账本区块信息,此时需要与原共识网络中的共识节点进行信息交互选出账本数据完备的共识节点作为数据源节点。新的参与方根据交互信息得知数据源节点具有最新区块BlockN+1,于是进行从0到N+1个区块对应的数据库中的KV数据集拉取;
III、原网络中的共识节点处理新交易
在新的参与方拉取KV数据集的过程中,原来的共识网络节点并未间断处理业务交易,并对新的交易又达成了两轮共识,相应产生了两个新的区块BlockN+2,BlockN+3;
IV、新的参与方开启共识
待新的参与方拉取了从0到N+1的全部区块数据,其中包括了共识网络拓扑变更的区块数据。此时新的参与方想要参与到后续的共识中,它发送消息到原来的共识网络通知原来的共识网络中的共识节点在共识层面更新配置即共识节点的新拓扑信息。至此新的参与方与原来的共识网络中的共识节点都能从配置中了解到其余节点的存在,共同参与新交易的共识。
V、状态机复制(重放部分交易)
新的参与方开启共识后,会有一个与其他共识节点比较账本信息的过程,通过比较得知自己落后两个区块,此时再通过状态机复制的方式对落后区块中的交易进行重放,以达到和别的共识节点账本区块的一致性。
如图9所示,根据本申请另一方面的一个实施例,还提供了一种区块链中共识节点动态增加装置,包括:
接收模块1,用于接收新的参与方发起的在共识网络中注册为新共识节点的注册请求;其中,注册请求用于向共识网络发起注册;
注册模块2,用于根据注册请求,生成写有新共识网络的拓扑信息的网络更新区块;其中,新共识网络中包括共识网络中的共识节点及新共识节点;
同步模块3,用于将共识网络中的区块信息以及网络更新区块同步至参与方及共识节点,得到新共识网络。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
根据本申请的另一个实施例,还提供一种电子设备,包括:如图10所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的程序时,实现上述方法实施例的步骤。
上述电子设备提到的总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述方法实施例的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种区块链中共识节点动态增加方法,其特征在于,包括:
接收新的参与方发起的在共识网络中注册为新共识节点的注册请求;其中,所述注册请求用于向所述共识网络发起注册;
根据所述注册请求,生成写有新共识网络的拓扑信息的网络更新区块;其中,所述新共识网络中包括共识网络中的共识节点及新共识节点;
将所述共识网络中的区块信息以及所述网络更新区块同步至所述参与方及共识节点,得到所述新共识网络。
2.根据权利要求1所述的方法,其特征在于,所述根据所述注册请求,生成写有新共识网络的拓扑信息的网络更新区块,包括:
所述共识网络中的共识节点对所述注册请求进行拜占庭容错共识;所述注册请求中的内容包括所述参与方的信息,所述参与方的信息包括:所述参与方的网络地址、端口号;
在共识达成后,根据所述注册请求生成网络更新区块。
3.根据权利要求1所述的方法,其特征在于,在将所述共识网络中的区块信息以及所述网络更新区块同步至所述参与方及共识节点之前,还包括:
接收所述参与方发起的区块信息获取请求;
根据所述区块信息获取请求,向所述参与方反馈各个共识节点的当下的区块信息;用于使所述参与方从各个所述共识节点中选取区块信息完备的共识节点进行区块信息同步。
4.根据权利要求3所述的方法,其特征在于,所述将所述共识网络中的区块信息以及所述网络更新区块同步至所述参与方,包括:
接收所述参与方向数据源节点发起的区块同步请求;其中,所述数据源节点为所述区块信息完备的共识节点;
根据所述区块同步请求将所述数据源节点中的已有区块信息同步至所述参与方。
5.根据权利要求4所述的方法,其特征在于,所述根据所述区块同步请求将所述数据源节点中的已有区块信息同步至所述参与方,包括:
确定所述数据源节点中的各个已有区块信息对应的键值对数据集;
将所述键值对数据集从数据源节点对应的源数据库中拉取出后,存储至所述参与方的数据库中。
6.根据权利要求1所述的方法,其特征在于,将所述共识网络中的区块信息以及所述网络更新区块同步至所述共识节点,包括:
接收所述参与方发送的更新配置信息;
根据所述更新配置信息通知所述共识网络中的所述共识节点进行区块更新,使每个所述共识节点更新得到所述网络更新区块。
7.根据权利要求1所述的方法,其特征在于,还包括:
在同步时段内所述共识网络中达成新共识,并生成新区块信息时,对所述新共识节点进行所述新区块信息同步;所述同步时段为:将所述共识网络中的区块信息以及所述网络更新区块同步至所述参与方的时段。
8.根据权利要求7所述的方法,其特征在于,所述对所述新共识节点进行所述新区块信息同步,包括:
在所述新共识节点通过与共识节点进行比较,确定其他共识节点中包括所述新区块之后,通过状态机复制的方式对所述新区块对应的交易进行重放,使所述新共识节点中生成所述新区块。
9.一种区块链中共识节点动态增加装置,其特征在于,包括:
接收模块,用于接收新的参与方发起的在共识网络中注册为新共识节点的注册请求;其中,所述注册请求用于向所述共识网络发起注册;
注册模块,用于根据所述注册请求,生成写有新共识网络的拓扑信息的网络更新区块;其中,所述新共识网络中包括共识网络中的共识节点及新共识节点;
同步模块,用于将所述共识网络中的区块信息以及所述网络更新区块同步至所述参与方及共识节点,得到所述新共识网络。
10.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现权利要求1-8任一项所述的方法。
11.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行权利要求1-8任一项所述的方法。
CN201911221129.4A 2019-12-03 2019-12-03 一种区块链中共识节点动态增加方法及装置 Active CN111131399B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201911221129.4A CN111131399B (zh) 2019-12-03 2019-12-03 一种区块链中共识节点动态增加方法及装置
PCT/CN2020/090656 WO2021109471A1 (zh) 2019-12-03 2020-05-15 一种区块链中共识节点动态增加方法及装置
JP2022529735A JP2023503120A (ja) 2019-12-03 2020-05-15 ブロックチェーンにおけるコンセンサスノードの動的増加方法及び装置
EP20897236.4A EP4072097A4 (en) 2019-12-03 2020-05-15 METHOD AND APPARATUS FOR DYNAMIC ADDING CONSENSUS NODES IN A BLOCKCHAIN
US17/780,907 US20230025449A1 (en) 2019-12-03 2020-05-15 Method and apparatus for dynamically adding consensus node in blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911221129.4A CN111131399B (zh) 2019-12-03 2019-12-03 一种区块链中共识节点动态增加方法及装置

Publications (2)

Publication Number Publication Date
CN111131399A true CN111131399A (zh) 2020-05-08
CN111131399B CN111131399B (zh) 2021-11-26

Family

ID=70497251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911221129.4A Active CN111131399B (zh) 2019-12-03 2019-12-03 一种区块链中共识节点动态增加方法及装置

Country Status (5)

Country Link
US (1) US20230025449A1 (zh)
EP (1) EP4072097A4 (zh)
JP (1) JP2023503120A (zh)
CN (1) CN111131399B (zh)
WO (1) WO2021109471A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708833A (zh) * 2020-05-18 2020-09-25 杜晓楠 Dbft共识网络中数据同步的方法、计算机可读存储介质和dbft共识网络
CN112241436A (zh) * 2020-10-26 2021-01-19 云账户技术(天津)有限公司 一种区块链网络的切换方法及装置
CN112436962A (zh) * 2020-11-12 2021-03-02 迅鳐成都科技有限公司 区块链共识网络动态扩展方法、电子设备、系统及介质
CN112822267A (zh) * 2021-01-05 2021-05-18 支付宝(杭州)信息技术有限公司 基于区块链的数据处理方法和装置
WO2021109471A1 (zh) * 2019-12-03 2021-06-10 北京海益同展信息科技有限公司 一种区块链中共识节点动态增加方法及装置
CN113141388A (zh) * 2020-12-16 2021-07-20 国网河北省电力有限公司建设公司 一种基于区块链技术的工程检测管理方法
CN115314374A (zh) * 2022-07-06 2022-11-08 京东科技信息技术有限公司 区块链节点的部署方法、设备、存储介质及程序产品
US11665234B2 (en) 2020-07-08 2023-05-30 Alipay (Hangzhou) Information Technology Co., Ltd. Methods and apparatuses for synchronizing data based on blockchain integrated station

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040594A (zh) * 2017-04-12 2017-08-11 山大地纬软件股份有限公司 基于pbft的许可区块链节点准入的方法及装置
CN107171829A (zh) * 2017-04-24 2017-09-15 杭州趣链科技有限公司 一种基于bft共识算法实现的动态节点管理方法
KR20170137388A (ko) * 2016-06-03 2017-12-13 (주) 블록체인오에스 블록체인 기술을 이용한 무결성 보장 방법
TW201824818A (zh) * 2016-12-23 2018-07-01 現代財富控股有限公司 基於區塊鏈的節點清單維護系統及其方法
CN108243253A (zh) * 2018-01-11 2018-07-03 杭州复杂美科技有限公司 一种区块链节点同步模式
WO2019023475A1 (en) * 2017-07-26 2019-01-31 Alibaba Group Holding Limited METHOD AND APPARATUS FOR COMMUNICATION BETWEEN BLOCK CHAIN NODES
CN109309723A (zh) * 2018-08-18 2019-02-05 上海分布信息科技有限公司 一种共识节点变更方法及其实现系统
CN109474584A (zh) * 2018-10-29 2019-03-15 中化能源科技有限公司 一种基于规则的区块链网络自动许可加入方法
CN109493063A (zh) * 2018-12-29 2019-03-19 杭州趣链科技有限公司 一种联盟区块链中进行权限控制的方法
CN109981305A (zh) * 2019-03-19 2019-07-05 全链通有限公司 群组通信方法、设备及计算机可读存储介质
CN110086856A (zh) * 2019-04-01 2019-08-02 深圳前海达闼云端智能科技有限公司 区块链节点的控制方法、装置、存储介质及电子设备
KR20190109914A (ko) * 2018-03-19 2019-09-27 상명대학교 천안산학협력단 블록체인 스마트 컨트랙트 기반의 전력 거래 시스템 및 그 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017186317A1 (en) * 2016-10-04 2017-11-02 Nec Europe Ltd. Method and system for byzantine fault-tolerance replicating of data on a plurality of servers
US10671733B2 (en) * 2017-05-19 2020-06-02 International Business Machines Corporation Policy enforcement via peer devices using a blockchain
US20190052453A1 (en) * 2017-08-14 2019-02-14 Honeywell International Inc. Apparatus and method for using blockchains with secure custody transfer data, sealing data, and other data associated with material transfers
CN107590738A (zh) * 2017-08-24 2018-01-16 阿里巴巴集团控股有限公司 选择共识节点的处理方法、装置及服务器
CN107579848B (zh) * 2017-08-30 2020-08-25 上海保险交易所股份有限公司 实用拜占庭容错共识机制中动态更改共识节点的方法
CN108650182B (zh) * 2018-04-20 2020-09-25 腾讯科技(深圳)有限公司 网络通信方法、系统、装置、设备及存储介质
US11646879B2 (en) * 2018-06-12 2023-05-09 Electronics And Telecommunications Research Institute Method and apparatus for selecting distributed consensus node based on proof of nonce
CA3046020A1 (en) * 2018-06-14 2019-12-14 Zero31Skytech Inc. Apparatus, system and method to limit access to open networks by requiring the consensus of pre-existing nodes to admit candidate nodes
KR101994455B1 (ko) * 2018-07-27 2019-06-28 박기업 시스템에 포함되는 노드들에 대하여 그룹을 운영하는 분산 네트워크 시스템
US11126698B2 (en) * 2018-10-26 2021-09-21 Microsoft Technology Licensing, Llc Distributed ledger system that facilitates device management
RU2724181C1 (ru) * 2018-11-07 2020-06-22 Алибаба Груп Холдинг Лимитед Упрощение консенсуса в цепочках блоков по принципу практичной отказоустойчивости на основе византийского соглашения и синхронизации узлов
CN109829724A (zh) * 2018-12-27 2019-05-31 链极智能科技(上海)有限公司 一种基于区块链的溯源系统
CN109831425B (zh) * 2019-01-25 2022-02-15 中国联合网络通信集团有限公司 区块链共识方法、装置、设备及计算机可读存储介质
US10939405B1 (en) * 2019-04-08 2021-03-02 Helium Systems, Inc. Systems and methods for implementing permissionless network consensus using blockchain
US11343073B2 (en) * 2019-06-18 2022-05-24 Electronics And Telecommunications Research Institute Apparatus and method for achieving distributed consensus based on decentralized byzantine fault tolerance
US11586614B2 (en) * 2019-07-30 2023-02-21 Oracle International Corporation Native persistent store support for blockchains
US11113272B2 (en) * 2019-07-31 2021-09-07 Advanced New Technologies Co., Ltd. Method and apparatus for storing blockchain state data and electronic device
CN111131399B (zh) * 2019-12-03 2021-11-26 北京海益同展信息科技有限公司 一种区块链中共识节点动态增加方法及装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170137388A (ko) * 2016-06-03 2017-12-13 (주) 블록체인오에스 블록체인 기술을 이용한 무결성 보장 방법
TW201824818A (zh) * 2016-12-23 2018-07-01 現代財富控股有限公司 基於區塊鏈的節點清單維護系統及其方法
CN107040594A (zh) * 2017-04-12 2017-08-11 山大地纬软件股份有限公司 基于pbft的许可区块链节点准入的方法及装置
CN107171829A (zh) * 2017-04-24 2017-09-15 杭州趣链科技有限公司 一种基于bft共识算法实现的动态节点管理方法
WO2019023475A1 (en) * 2017-07-26 2019-01-31 Alibaba Group Holding Limited METHOD AND APPARATUS FOR COMMUNICATION BETWEEN BLOCK CHAIN NODES
CN108243253A (zh) * 2018-01-11 2018-07-03 杭州复杂美科技有限公司 一种区块链节点同步模式
KR20190109914A (ko) * 2018-03-19 2019-09-27 상명대학교 천안산학협력단 블록체인 스마트 컨트랙트 기반의 전력 거래 시스템 및 그 방법
CN109309723A (zh) * 2018-08-18 2019-02-05 上海分布信息科技有限公司 一种共识节点变更方法及其实现系统
CN109474584A (zh) * 2018-10-29 2019-03-15 中化能源科技有限公司 一种基于规则的区块链网络自动许可加入方法
CN109493063A (zh) * 2018-12-29 2019-03-19 杭州趣链科技有限公司 一种联盟区块链中进行权限控制的方法
CN109981305A (zh) * 2019-03-19 2019-07-05 全链通有限公司 群组通信方法、设备及计算机可读存储介质
CN110086856A (zh) * 2019-04-01 2019-08-02 深圳前海达闼云端智能科技有限公司 区块链节点的控制方法、装置、存储介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XU HAO: "Dynamic Practical Byzantine Fault Tolerance", 《2018 IEEE CONFERENCE ON COMMUNICATIONS AND NETWORK SECURITY (CNS)》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021109471A1 (zh) * 2019-12-03 2021-06-10 北京海益同展信息科技有限公司 一种区块链中共识节点动态增加方法及装置
CN111708833A (zh) * 2020-05-18 2020-09-25 杜晓楠 Dbft共识网络中数据同步的方法、计算机可读存储介质和dbft共识网络
CN111708833B (zh) * 2020-05-18 2023-06-06 杜晓楠 Dbft共识网络中数据同步的方法、计算机可读存储介质和dbft共识网络
US11665234B2 (en) 2020-07-08 2023-05-30 Alipay (Hangzhou) Information Technology Co., Ltd. Methods and apparatuses for synchronizing data based on blockchain integrated station
CN112241436A (zh) * 2020-10-26 2021-01-19 云账户技术(天津)有限公司 一种区块链网络的切换方法及装置
CN112436962A (zh) * 2020-11-12 2021-03-02 迅鳐成都科技有限公司 区块链共识网络动态扩展方法、电子设备、系统及介质
CN112436962B (zh) * 2020-11-12 2023-04-18 迅鳐成都科技有限公司 区块链共识网络动态扩展方法、电子设备、系统及介质
CN113141388A (zh) * 2020-12-16 2021-07-20 国网河北省电力有限公司建设公司 一种基于区块链技术的工程检测管理方法
CN112822267A (zh) * 2021-01-05 2021-05-18 支付宝(杭州)信息技术有限公司 基于区块链的数据处理方法和装置
CN115314374A (zh) * 2022-07-06 2022-11-08 京东科技信息技术有限公司 区块链节点的部署方法、设备、存储介质及程序产品
CN115314374B (zh) * 2022-07-06 2024-02-06 京东科技信息技术有限公司 区块链节点的部署方法、设备、存储介质及程序产品

Also Published As

Publication number Publication date
JP2023503120A (ja) 2023-01-26
EP4072097A4 (en) 2023-10-11
EP4072097A1 (en) 2022-10-12
WO2021109471A1 (zh) 2021-06-10
US20230025449A1 (en) 2023-01-26
CN111131399B (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
CN111131399B (zh) 一种区块链中共识节点动态增加方法及装置
CN108648078B (zh) 一种交易预处理方法、装置及电子设备
US10402115B2 (en) State machine abstraction for log-based consensus protocols
TWI689181B (zh) 資料處理方法和系統
CN110309161B (zh) 一种数据同步方法、装置及服务器
CN105493474B (zh) 用于支持用于同步分布式数据网格中的数据的分区级别日志的系统及方法
CN111143382B (zh) 数据处理方法、系统和计算机可读存储介质
CN106878382B (zh) 一种分布式仲裁集群中动态改变集群规模的方法及装置
CN108829787B (zh) 一种元数据分布式系统
WO2018068661A1 (zh) 一种基于Paxos协议的分布式一致性系统的在线扩容、在线缩容的方法和装置
CN112148798A (zh) 应用于分布式系统的数据处理方法及装置
CN108228581B (zh) Zookeeper兼容通信方法、服务器及系统
US20210320977A1 (en) Method and apparatus for implementing data consistency, server, and terminal
JP2016521427A (ja) ピアツーピアデータ複製用の方法、デバイス、およびシステム、ならびにマスタノード切替え用の方法、デバイス、およびシステム
WO2022134797A1 (zh) 一种数据分片存储方法、装置、计算机设备和存储介质
CN102843310B (zh) 基于流言协议的广域网中消息的发布、订阅方法和系统
CN114416883A (zh) 区块链轻节点数据同步方法、装置、设备及可读存储介质
WO2021223109A1 (zh) 数据同步方法、装置、系统、电子设备及存储介质
WO2023207087A1 (zh) 用于区块链的最优链路选择方法及装置和电子设备
CN111522688B (zh) 分布式系统的数据备份方法及装置
CN111600958A (zh) 服务发现系统、服务数据管理方法、服务器及存储介质
CN111400327B (zh) 一种数据同步方法、装置、电子设备及存储介质
CN111190707B (zh) 一种数据处理方法及装置
CN112162988A (zh) 一种分布式事务的处理方法、装置和电子设备
CN113918531A (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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Patentee after: Jingdong Technology Information Technology Co.,Ltd.

Address before: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Patentee before: Jingdong Shuke Haiyi Information Technology Co.,Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Patentee after: Jingdong Shuke Haiyi Information Technology Co.,Ltd.

Address before: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Beijing Economic and Technological Development Zone, Beijing 100176

Patentee before: BEIJING HAIYI TONGZHAN INFORMATION TECHNOLOGY Co.,Ltd.