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

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

Info

Publication number
WO2021109471A1
WO2021109471A1 PCT/CN2020/090656 CN2020090656W WO2021109471A1 WO 2021109471 A1 WO2021109471 A1 WO 2021109471A1 CN 2020090656 W CN2020090656 W CN 2020090656W WO 2021109471 A1 WO2021109471 A1 WO 2021109471A1
Authority
WO
WIPO (PCT)
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.)
Ceased
Application number
PCT/CN2020/090656
Other languages
English (en)
French (fr)
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.)
Beijing Haiyi Tongzhan 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 JP2022529735A priority Critical patent/JP2023503120A/ja
Priority to EP20897236.4A priority patent/EP4072097A4/en
Priority to US17/780,907 priority patent/US12206555B2/en
Publication of WO2021109471A1 publication Critical patent/WO2021109471A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/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
    • 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 

Definitions

  • This application relates to the field of blockchain technology, and in particular to a method and device for dynamically increasing consensus nodes in a blockchain.
  • the present application provides a method and device for dynamically increasing consensus nodes in a blockchain.
  • this application provides a method for dynamically adding consensus nodes in the blockchain, including:
  • the registration request generate a network update block in which the topology information of the new consensus network is written; wherein the new consensus network includes consensus nodes and new consensus nodes in the consensus network;
  • generating a network update block with topology information of a new consensus network according to the registration request includes:
  • the consensus node in the consensus network performs Byzantine fault-tolerant consensus on the registration request;
  • the content in the registration request includes the information of the participant, and the information of the participant includes: the network address and port of the participant number;
  • a network update block is generated according to the registration request.
  • the method before synchronizing the block information in the consensus network and the network update block to the participants and consensus nodes, the method further includes:
  • the block information acquisition request feedback the current block information of each consensus node to the participant; used to enable the participant to select a consensus node with complete block information from each of the consensus nodes to perform the block Information synchronization.
  • synchronizing the block information in the consensus network and the network update block to the participant includes:
  • the existing block information in the data source node is synchronized to the participant.
  • the synchronization of existing block information in the data source node to the participant according to the block synchronization request includes:
  • the key-value pair data set is pulled from the source database corresponding to the data source node, it is stored in the database of the participant.
  • synchronizing the block information in the consensus network and the network update block to the consensus node includes:
  • the consensus node in the consensus network is notified to perform a block update, so that each consensus node updates to obtain the network update block.
  • the new block information is synchronized to the new consensus node;
  • the synchronization period is: the block information in the consensus network And the time period during which the network update block is synchronized to the participant.
  • the synchronization of the new block information to the new consensus node includes:
  • the transaction corresponding to the new block is replayed through state machine replication, so that the new consensus node is Generate the new block.
  • this application provides a device for dynamically increasing consensus nodes in a blockchain, which is characterized in that it includes:
  • the receiving module is used to receive a registration request initiated by a new participant to register as a new consensus node in the consensus network; wherein the registration request is used to initiate registration to the consensus network;
  • the registration module is used to generate a network update block in which topology information of the new consensus network is written according to the registration request; wherein the new consensus network includes consensus nodes and new consensus nodes in the consensus network;
  • the synchronization module is used to synchronize the block information in the consensus network and the network update block to the participants and consensus nodes to obtain the new consensus network.
  • the present application provides an electronic device, including: a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory complete communication with each other through the communication bus;
  • the memory is used to store computer programs
  • the processor is configured to implement the processing method described in any one of the foregoing when executing the computer program.
  • the present application provides a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions cause the computer to execute any of the foregoing The processing method described in the item.
  • the embodiment of the application provides a method and device for dynamically adding consensus nodes in a blockchain, wherein the method includes: receiving a registration request initiated by a new participant to register as a new consensus node in the consensus network; wherein, the registration request Used to initiate registration with the consensus network; according to the registration request, generate a network update block with the topology information of the new consensus network; wherein, the new consensus network includes consensus nodes and new consensus nodes in the consensus network ; Synchronize the block information in the consensus network and the network update block to the participants and consensus nodes to obtain the new consensus network.
  • the above-mentioned technical solutions provided by the embodiments of the present application solve the problem that nodes newly joining the consensus network use state machine replication to synchronize the data of the ledger block.
  • the state machine replication will result in a very large amount of calculation for local replay transactions.
  • FIG. 1 is a schematic flow diagram of a method for dynamically adding consensus nodes in a blockchain according to an embodiment of the application
  • FIG. 2 is a schematic flow chart of a method for dynamically adding consensus nodes in a blockchain according to another embodiment of the application;
  • FIG. 3 is a schematic flowchart of a method for dynamically adding consensus nodes in a blockchain according to another embodiment of the application;
  • FIG. 4 is a schematic flow chart of a method for dynamically adding consensus nodes in a blockchain according to another embodiment of the application;
  • FIG. 5 is a schematic flowchart of a method for dynamically adding consensus nodes in a blockchain according to another embodiment of the application
  • FIG. 6 is a schematic flow chart of a method for dynamically adding consensus nodes in a blockchain according to another embodiment of the application.
  • FIG. 7 is a schematic flowchart of a method for dynamically adding consensus nodes in a blockchain according to another embodiment of the application.
  • FIG. 8 is a flowchart of a processing method of an application example of this application.
  • FIG. 9 is a block diagram of a device for dynamically adding consensus nodes in a blockchain according to an embodiment of the application.
  • FIG. 10 is a schematic structural diagram of an electronic device provided by an embodiment of the application.
  • Fig. 1 is a method for dynamically adding consensus nodes in a blockchain provided by an embodiment of the application. As shown in Fig. 1, it includes the following steps S1 to S3:
  • participants can register as a new consensus node with the consensus network through the SDK or a third-party management tool, and then reach a consensus with the consensus node in the consensus network; optionally, the operation of initiating the registration request can be initiated in the form of a transaction;
  • the new consensus network includes the consensus node and the new consensus node in the consensus network;
  • the new consensus network is: a new network composed of simultaneous nodes in the original consensus network and new consensus nodes after the participants have successfully registered;
  • the network update block includes topology information according to the new consensus network, and the topology information is generally new The topology of the consensus network;
  • the existing block information is: block0, block1...blockN
  • the consensus network will write the transaction into the block, that is A new block block N+1 is generated; and the topological structure of the new consensus network mentioned above is recorded in this block.
  • the block information is the ledger block in the blockchain;
  • the above-mentioned synchronization of the block information in the consensus network and the network update block to the participants and consensus nodes is: the block information in the consensus network and the network
  • the update block is synchronized to the participants, and the block information in the consensus network and the network update block are synchronized to the consensus node; therefore, the block information of the participant and the consensus node can reach agreement, so far, the participant (after synchronization is the new Consensus node) and each consensus node in the original consensus network can learn the existence of other nodes except itself from the configuration, so that the new consensus node and the consensus node can participate in the consensus of the new transaction, thus obtaining a new consensus. Consensus network.
  • step S2 generates a network update block with topology information of the new consensus network according to the registration request, including steps S21 and S22 as described below:
  • the consensus node in the consensus network performs Byzantine fault-tolerant consensus on the registration request;
  • the content of the registration request includes the information of the participant, and the information of the participant includes: the network address and port number of the participant;
  • the aforementioned Byzantine fault tolerance consensus includes three stages:
  • Leader proposal stage a proposal to make participants as a new consensus node
  • write (write) stage write the proposal into each consensus node
  • each consensus node accepts the participant as a new consensus node.
  • the consensus reached means that each block accepts the proposal of taking the participants as the new consensus node;
  • the topology information of the consensus network can exist in the genesis block, and the topology information can include the network address of each consensus node , Port number and other information; since the registration request can include the network address and port number of the participant, as long as the topology information in the genesis block and the registration request are used, the network update area including the topology information of the new consensus network can be obtained Piece. So far, the topology of the new consensus network has been placed in the original database of each consensus node.
  • step S3 before step S3 synchronizes the block information in the consensus network and the network update block to the participants and the consensus node, the method further includes the following steps A1 and A2:
  • the block information acquisition request feedback the current block information of each consensus node to the participants; it is used to enable the participants to select the consensus node with complete block information from each consensus node to synchronize the block information.
  • the participants need to interact with the consensus nodes in the consensus network to select the consensus node with complete ledger data as the data source node; therefore, after receiving the block information acquisition request After that, the current block information of each consensus node is fed back to the participants, so that the participants can select a consensus node with complete block information from each consensus node to synchronize the block information.
  • step S3 synchronizes the block information in the consensus network and the network update block to the participants, including steps S311 and S312 as described below:
  • S311 Receive a block synchronization request initiated by the participant to the data source node; wherein the data source node is a consensus node with complete block information;
  • the data source node is a consensus node with complete block information selected by the participants in the foregoing steps A1 and A2; optionally, the participants will learn the latest block information existing in the data source node, so the above-mentioned area
  • the block synchronization request will include the blocks that need to be synchronized. For example, when the participant knows that the data source node has the latest block BlockN+1 according to the interactive information, it will request to synchronize all blocks from Block0 to BlockN+1; generally Yes, consensus nodes with complete block information will include the network update block in the foregoing embodiment.
  • the existing block information synchronization method in this embodiment may be data synchronization. Therefore, it is obviously different from the method of data synchronization of the ledger block through state machine replication in the related technology, which can greatly reduce the passing state. Machine copying will result in a large amount of calculation for local replay transactions, which affects performance.
  • step S312 synchronizes the existing block information in the data source node to the participant according to the block synchronization request, including:
  • the above-mentioned key-value pair data set is a KV data set.
  • the KV data set includes multiple KV data.
  • Each block information corresponds to one KV data.
  • the KV data is key-value data, and the query speed of the distributed storage system is adopted. It is fast, stores a large amount of data, supports high concurrency, and is very suitable for querying through the primary key; that is to say, the block information is stored in the database in the form of key-value pair data.
  • the participant’s data will reach the data source The requirements for the consistency of the node ledger block.
  • step S3 synchronizes the block information in the consensus network and the network update block to the consensus node, including steps S321 and S322 as described below:
  • this step is after the execution of step S312 is completed. Since the participants want to participate in the subsequent consensus, they send updated configuration information to the original consensus network to notify each consensus node to update the configuration at the consensus level, that is, the new consensus network Topology information.
  • the network update block can enable each consensus node to obtain the block through a transaction, and so far, the participants and the consensus node in the original consensus network can learn from the configuration that other nodes (including participating The existence of parties) and jointly participate in the consensus of the new transaction. Therefore, participation facilitates other consensus nodes to be in the same new consensus network and successfully register as a new consensus node.
  • the aforementioned method further includes the following step S4:
  • the new consensus node is synchronized with the new block information;
  • the synchronization period is: the block information in the consensus network and the network update block are synchronized to the participants The time period of the party.
  • Blocks BlockN+2, BlockN+3 after the new consensus node (consensus node after successful registration of the participants) opens the consensus, there will be a process of comparing the block information with other consensus nodes, and we know that we are two behind by comparison Block information, at this time, synchronize the new block information to achieve consistency with the block information of other consensus nodes.
  • step S4 the synchronization of the new block information for the new consensus node specifically includes:
  • the transaction corresponding to the new block is replayed through state machine replication, so that a new block is generated in the new consensus node.
  • the new consensus node starts the consensus, through the process of comparing the block information with other consensus nodes, after knowing that it is behind N block information (that is, the new block information mentioned above), it can be copied through the state machine Replay transactions in backward blocks to achieve consistency with other consensus node block information.
  • N block information that is, the new block information mentioned above
  • the present invention solves the problem of dynamically adding consensus nodes under the condition of non-stop and non-interrupting business transactions through a design solution combining block information database replication and state machine replication (transaction replay) compensation technology.
  • the transaction content includes the new participant’s network address, port and other information; when the transaction reaches the original consensus network After that, it will go through a three-stage BFT consensus (Byzantine Fault Tolerant Consensus) process. After the consensus is reached, the transaction is written into the block, that is, a new block of BlockN+1 is generated, and the topology of the new consensus network is recorded in this block.
  • the purpose of this step is to record the new network topology of the consensus node from the database storage level, even if the consensus node stops and restarts, the latest consensus network topology information can be loaded from the block information;
  • the new consensus network topology has been placed in the database of consensus nodes in the original consensus network, and now the new participant node process is started. At the beginning of the startup, there is no ledger block information in the database corresponding to the new node. At this time, it is necessary to exchange information with the consensus node in the original consensus network to select a consensus node with complete ledger data as the data source node.
  • the new participant knows that the data source node has the latest block BlockN+1 according to the interactive information, and then pulls the KV data set in the database corresponding to the blocks from 0 to N+1;
  • the new participant wants to participate in the subsequent consensus, and it sends a message to the original consensus network to notify the consensus node in the original consensus network to update the configuration at the consensus level, that is, the new topology information of the consensus node. So far, both the new participant and the consensus node in the original consensus network can learn about the existence of the remaining nodes from the configuration, and jointly participate in the consensus of the new transaction.
  • a device for dynamically adding consensus nodes in a blockchain including:
  • the receiving module 1 is used to receive a registration request initiated by a new participant to register as a new consensus node in the consensus network; among them, the registration request is used to initiate registration to the consensus network;
  • the registration module 2 is used to generate a network update block with the topology information of the new consensus network according to the registration request; among them, the new consensus network includes the consensus node and the new consensus node in the consensus network;
  • the synchronization module 3 is used to synchronize block information and network update blocks in the consensus network to participants and consensus nodes to obtain a new consensus network.
  • an electronic device including: as shown in FIG. 10, the electronic device may include: a processor 1501, a communication interface 1502, a memory 1503, and a communication bus 1504, wherein the processor 1501, The communication interface 1502 and the memory 1503 communicate with each other through the communication bus 1504.
  • the memory 1503 is used to store computer programs
  • the processor 1501 is configured to implement the steps of the foregoing method embodiment when executing the program stored in the memory 1503.
  • the bus mentioned in the above electronic device may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc.
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
  • the communication interface is used for communication between the above-mentioned electronic device and other devices.
  • the memory may include random access memory (Random Access Memory, RAM), and may also include non-volatile memory (Non-Volatile Memory, NVM), such as at least one disk storage.
  • NVM non-Volatile Memory
  • the memory may also be at least one storage device located far away from the foregoing processor.
  • the above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (Network Processor, NP), etc.; it can also be a digital signal processor (Digital Signal Processing, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • CPU central processing unit
  • NP Network Processor
  • DSP Digital Signal Processing
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • FPGA Field-Programmable Gate Array
  • the embodiments of the present application also provide a non-transitory computer-readable storage medium, where the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions cause the computer to execute the steps of the foregoing method embodiments.

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

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

Description

一种区块链中共识节点动态增加方法及装置
本申请要求于2019年12月3日提交中国专利局、申请号为201911221129.4、发明名称为“一种区块链中共识节点动态增加方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链中共识节点动态增加方法及装置。
背景技术
大部分的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 Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,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任一项所述的方法。
PCT/CN2020/090656 2019-12-03 2020-05-15 一种区块链中共识节点动态增加方法及装置 Ceased WO2021109471A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022529735A JP2023503120A (ja) 2019-12-03 2020-05-15 ブロックチェーンにおけるコンセンサスノードの動的増加方法及び装置
EP20897236.4A EP4072097A4 (en) 2019-12-03 2020-05-15 METHOD AND DEVICE FOR DYNAMICALLY ADDING A CONSENSUS NODE INTO A BLOCKCHAIN
US17/780,907 US12206555B2 (en) 2019-12-03 2020-05-15 Method and apparatus for dynamically adding consensus node in blockchain

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2021109471A1 true WO2021109471A1 (zh) 2021-06-10

Family

ID=70497251

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/090656 Ceased WO2021109471A1 (zh) 2019-12-03 2020-05-15 一种区块链中共识节点动态增加方法及装置

Country Status (5)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024012121A (ja) * 2022-07-14 2024-01-25 ノキア ソリューションズ アンド ネットワークス オサケユキチュア プルーフ・オブ・オリジンブロックチェーンの新しいバリデータの登録と検証

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131399B (zh) 2019-12-03 2021-11-26 北京海益同展信息科技有限公司 一种区块链中共识节点动态增加方法及装置
CN111708833B (zh) * 2020-05-18 2023-06-06 杜晓楠 Dbft共识网络中数据同步的方法、计算机可读存储介质和dbft共识网络
CN111541789A (zh) 2020-07-08 2020-08-14 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的数据同步方法及装置
CN112241436A (zh) * 2020-10-26 2021-01-19 云账户技术(天津)有限公司 一种区块链网络的切换方法及装置
CN112436962B (zh) * 2020-11-12 2023-04-18 迅鳐成都科技有限公司 区块链共识网络动态扩展方法、电子设备、系统及介质
CN113141388B (zh) * 2020-12-16 2022-08-02 国网河北省电力有限公司建设公司 一种基于区块链技术的工程检测管理方法
CN112822267B (zh) * 2021-01-05 2022-08-26 支付宝(杭州)信息技术有限公司 基于区块链的数据处理方法和装置
CN114356892A (zh) * 2022-01-05 2022-04-15 联想(北京)有限公司 数据迁移方法和电子设备
CN115314374B (zh) * 2022-07-06 2024-02-06 京东科技信息技术有限公司 区块链节点的部署方法、设备、存储介质及程序产品
CN116248694A (zh) * 2023-03-06 2023-06-09 中钞信用卡产业发展有限公司 一种区块链网络中分区数据同步方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579848A (zh) * 2017-08-30 2018-01-12 上海保险交易所股份有限公司 实用拜占庭容错共识机制中动态更改共识节点的方法
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
CN109829724A (zh) * 2018-12-27 2019-05-31 链极智能科技(上海)有限公司 一种基于区块链的溯源系统
CN109831425A (zh) * 2019-01-25 2019-05-31 中国联合网络通信集团有限公司 区块链共识方法、装置、设备及计算机可读存储介质
CN111131399A (zh) * 2019-12-03 2020-05-08 北京海益同展信息科技有限公司 一种区块链中共识节点动态增加方法及装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170137388A (ko) * 2016-06-03 2017-12-13 (주) 블록체인오에스 블록체인 기술을 이용한 무결성 보장 방법
US10049017B2 (en) * 2016-10-04 2018-08-14 Nec Corporation Method and system for byzantine fault-tolerance replicating of data on a plurality of servers
TWI629883B (zh) * 2016-12-23 2018-07-11 現代財富控股有限公司 基於區塊鏈的節點清單維護系統及其方法
CN107040594B (zh) * 2017-04-12 2020-04-10 山大地纬软件股份有限公司 基于pbft的许可区块链节点准入的方法及装置
CN107171829B (zh) * 2017-04-24 2019-12-24 杭州趣链科技有限公司 一种基于bft共识算法实现的动态节点管理方法
US10671733B2 (en) * 2017-05-19 2020-06-02 International Business Machines Corporation Policy enforcement via peer devices using a blockchain
US10740733B2 (en) 2017-05-25 2020-08-11 Oracle International Corporaton Sharded permissioned distributed ledgers
CN107592292B (zh) * 2017-07-26 2019-08-09 阿里巴巴集团控股有限公司 一种区块链节点间通信方法及装置
CN107590738A (zh) * 2017-08-24 2018-01-16 阿里巴巴集团控股有限公司 选择共识节点的处理方法、装置及服务器
CN108243253B (zh) * 2018-01-11 2020-05-12 杭州复杂美科技有限公司 一种区块链节点同步方法
KR102128476B1 (ko) * 2018-03-19 2020-06-30 상명대학교 천안산학협력단 블록체인 스마트 컨트랙트 기반의 전력 거래 시스템 및 그 방법
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
US20190386995A1 (en) * 2018-06-14 2019-12-19 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 박기업 시스템에 포함되는 노드들에 대하여 그룹을 운영하는 분산 네트워크 시스템
CN109309723B (zh) * 2018-08-18 2021-05-04 上海分布信息科技有限公司 一种共识节点变更方法及其实现系统
US11126698B2 (en) * 2018-10-26 2021-09-21 Microsoft Technology Licensing, Llc Distributed ledger system that facilitates device management
CN109474584B (zh) * 2018-10-29 2021-12-07 中化能源科技有限公司 一种基于规则的区块链网络自动许可加入方法
JP6727630B2 (ja) * 2018-11-07 2020-07-22 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 実用的ビザンチンフォールトトレランスブロックチェーンのコンセンサスおよびノード同期の促進
CN109493063A (zh) * 2018-12-29 2019-03-19 杭州趣链科技有限公司 一种联盟区块链中进行权限控制的方法
CN109981305B (zh) * 2019-03-19 2021-01-01 全链通有限公司 群组通信方法、设备及计算机可读存储介质
CN110086856B (zh) * 2019-04-01 2022-02-01 达闼机器人有限公司 区块链节点的控制方法、装置、存储介质及电子设备
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN107579848A (zh) * 2017-08-30 2018-01-12 上海保险交易所股份有限公司 实用拜占庭容错共识机制中动态更改共识节点的方法
CN109829724A (zh) * 2018-12-27 2019-05-31 链极智能科技(上海)有限公司 一种基于区块链的溯源系统
CN109831425A (zh) * 2019-01-25 2019-05-31 中国联合网络通信集团有限公司 区块链共识方法、装置、设备及计算机可读存储介质
CN111131399A (zh) * 2019-12-03 2020-05-08 北京海益同展信息科技有限公司 一种区块链中共识节点动态增加方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4072097A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024012121A (ja) * 2022-07-14 2024-01-25 ノキア ソリューションズ アンド ネットワークス オサケユキチュア プルーフ・オブ・オリジンブロックチェーンの新しいバリデータの登録と検証
JP7646746B2 (ja) 2022-07-14 2025-03-17 ノキア ソリューションズ アンド ネットワークス オサケユキチュア プルーフ・オブ・オリジンブロックチェーンの新しいバリデータの登録と検証

Also Published As

Publication number Publication date
CN111131399A (zh) 2020-05-08
EP4072097A1 (en) 2022-10-12
US20230025449A1 (en) 2023-01-26
US12206555B2 (en) 2025-01-21
JP2023503120A (ja) 2023-01-26
CN111131399B (zh) 2021-11-26
EP4072097A4 (en) 2023-10-11

Similar Documents

Publication Publication Date Title
CN111131399B (zh) 一种区块链中共识节点动态增加方法及装置
CN112148798B (zh) 应用于分布式系统的数据处理方法及装置
US9483541B2 (en) Initialization protocol for a peer-to-peer replication environment
CN102098342B (zh) 一种基于事务级的数据同步方法、装置及系统
CN102142008B (zh) 分布式内存数据库的实现方法、系统、令牌控制器及内存数据库
CN110018884B (zh) 分布式事务处理方法、协调装置、数据库及电子设备
CN105493474B (zh) 用于支持用于同步分布式数据网格中的数据的分区级别日志的系统及方法
CN108280080B (zh) 一种数据同步方法、装置以及电子设备
CN110858194A (zh) 一种数据库扩容的方法和装置
WO2020134895A1 (zh) 基于区块链的记账方法及装置、电子设备
CN105930498A (zh) 一种分布式数据库的管理方法及系统
JP2016521427A (ja) ピアツーピアデータ複製用の方法、デバイス、およびシステム、ならびにマスタノード切替え用の方法、デバイス、およびシステム
CN110196680A (zh) 数据处理方法、装置及存储介质
CN110502373A (zh) 一种主从节点数据同步的方法、设备及可读介质
CN105550306A (zh) 多副本数据的读写方法及系统
CN113905054A (zh) 基于RDMA的Kudu集群数据同步方法、装置、系统
WO2017008506A1 (zh) 一种命令处理的方法以及服务器
CN113377763A (zh) 数据库表格切换方法、装置、电子设备及计算机存储介质
CN115146002A (zh) 跨数据中心的数据同步方法及装置
CN116186165A (zh) 数据复制方法、装置、系统及存储介质
CN121387628A (zh) 一种基于分组复制的数据库容灾同步方法及数据库系统
CN115955504A (zh) 一种用于有状态服务的状态同步中间件实现方法和装置
WO2025246835A1 (zh) 基于快速同步机制的数据管理
CN111522688A (zh) 分布式系统的数据备份方法及装置
CN115712683A (zh) 数据库的同步方法、装置、计算机设备以及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20897236

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022529735

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020897236

Country of ref document: EP

Effective date: 20220704