CN113849564B - Block chain consensus method, consensus node and electronic equipment - Google Patents
Block chain consensus method, consensus node and electronic equipment Download PDFInfo
- Publication number
- CN113849564B CN113849564B CN202111124498.9A CN202111124498A CN113849564B CN 113849564 B CN113849564 B CN 113849564B CN 202111124498 A CN202111124498 A CN 202111124498A CN 113849564 B CN113849564 B CN 113849564B
- Authority
- CN
- China
- Prior art keywords
- consensus
- data blocks
- transaction set
- transaction
- master 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000005540 biological transmission Effects 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 17
- 230000002085 persistent effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000002360 explosive Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 108091035707 Consensus sequence Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Hardware Redundancy (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
The embodiment of the specification provides a block chain consensus method, a consensus node and electronic equipment. The method comprises the following steps: the consensus master node executes RBC protocol on a first transaction set in a self transaction pool, splits the first transaction set into N data blocks corresponding to the consensus nodes of the blockchain by using an erasure coding algorithm, and sends the corresponding data blocks to each consensus backup node based on Rval information. The consensus backup node executes RBC protocol, forwards the data blocks received from the Rval message to other consensus backup nodes through the Echo message, and restores the received data blocks to the first transaction set based on the erasure code algorithm after receiving N-2f Echo messages. The consensus master node initiates a consensus proposal for the merck tree certification of all data blocks of the first transaction set based on the PBFT protocol. The consensus master node and the consensus backup node match the corresponding transactions of the agreed merck tree evidence from the respective first transaction sets so as to execute the block writing operation on the corresponding transactions.
Description
Technical Field
The present document relates to the field of data processing technologies, and in particular, to a block chain consensus method, a consensus node, and an electronic device.
Background
Based on the characteristics of the blockchain, in the consensus protocol of the working mode of the master and slave nodes, the proposal data of each round of consensus proposal is packaged by the consensus master node and synchronously transmitted to each consensus backup node of the blockchain. Assuming that the number of consensus nodes of the blockchain is N, for a round of consensus proposal, the consensus master node needs to send N-1 proposal data, which creates a significant overhead for the network bandwidth of the consensus master node.
With the explosive growth of future blockchain services, to obtain higher throughput, more data consensus needs to be achieved in unit time, and the burden for the consensus master node is greater, so that the consensus efficiency is reduced. For this reason, there is a need for a technical solution that can reduce the bandwidth overhead of the consensus master node for initiating the consensus proposal.
Disclosure of Invention
The embodiment of the specification aims to provide a block chain consensus method, a consensus node and electronic equipment, which can complete block chain consensus with smaller bandwidth overhead of a consensus master node side.
In order to achieve the above object, the embodiments of the present specification are implemented as follows:
In a first aspect, a method of consensus of a blockchain is provided, comprising:
A consensus master node of a blockchain executes a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node to split the first transaction set into N data blocks corresponding to the consensus nodes of the blockchain by using an erasure coding algorithm, and sends corresponding data blocks to each consensus backup node of the blockchain based on Rval information, wherein the data blocks split by the first transaction set correspond to merck tree evidence calculated based on the erasure coding algorithm, and N is the number of the consensus nodes of the blockchain;
The consensus backup node executes the RBC protocol to forward corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, and after receiving N-2f Echo messages, restores the received data blocks into the first transaction set based on the erasure coding algorithm, wherein f is the fault tolerance number of the consensus nodes of the blockchain;
the consensus master node, after performing the RBC protocol on the first transaction set, performs a practical bayer-tree proof-of-b-c PBFT protocol on the merck-tree proof of all data blocks of the first transaction set to initiate a consensus proposal for the merck-tree proof of all data blocks of the first transaction set;
The consensus backup node responding to the consensus proposal based on the PBFT protocol to complete a consensus of merck tree certificates for all data blocks of the first transaction set;
After the merck tree evidence of all the data blocks of the first transaction set completes the consensus, the consensus master node and the consensus backup node match the corresponding transactions of the merck tree evidence achieving the consensus from the respective first transaction set so as to execute the block writing operation on the matched transactions.
In a second aspect, a method of consensus of a blockchain is provided, comprising:
The method comprises the steps that a consensus master node executes a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node, so that the first transaction set is split into N data blocks corresponding to the consensus nodes of the blockchain by using an erasure coding algorithm, and corresponding data blocks are sent to all the consensus backup nodes of the blockchain based on Rval messages, so that the consensus backup nodes execute the RBC protocol, the corresponding data blocks received from Rval messages are forwarded to other consensus backup nodes through Echo messages, and after receiving N-f Echo messages, ready messages are broadcast to the blockchain, and after 2f+1 Ready messages are received, the received data blocks are restored to the first transaction set based on the erasure coding algorithm, wherein the data blocks split by the first transaction set correspond to merck certificates calculated based on the erasure coding algorithm, N is the number of the consensus nodes of the blockchain, and F is the fault-tolerant node number of the consensus nodes of the blockchain;
The consensus master node, after executing the RBC protocol on the first transaction set, executing a practical bayer pattern PBFT protocol on the merck tree certificates of all data blocks of the first transaction set to initiate a consensus proposal for the merck tree certificates of all data blocks of the first transaction set, such that the consensus backup node responds to the consensus proposal based on the PBFT protocol to complete a consensus for the merck tree certificates of all data blocks of the first transaction set;
after the merck tree evidence of all the data blocks of the first transaction set completes the consensus, the consensus master node matches the transaction corresponding to the merck tree evidence achieving the consensus from the first transaction set so as to execute the block writing operation on the matched transaction.
In a third aspect, a method of consensus of a blockchain is provided, comprising:
A consensus backup node of a blockchain receives a data block corresponding to a consensus backup node transmitted when a consensus master node of the blockchain executes a RBC protocol, wherein the data block corresponding to the consensus backup node is formed by the consensus master node executing reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node so as to split the first transaction set into N data blocks corresponding to the consensus node of the blockchain by using an erasure coding algorithm and transmitting the N data blocks to the consensus backup node based on an Rval message;
the consensus backup node executes the RBC protocol, forwards corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, and restores the received data blocks to the first transaction set based on the erasure coding algorithm after receiving N-2f Echo messages, wherein f is the fault tolerance number of the consensus nodes of the blockchain;
After the consensus master node performs a utility bye-court PBFT protocol on the merck tree certificates for all data blocks of the first transaction set to initiate a consensus proposal for the merck tree certificates for all data blocks of the first transaction set, the consensus backup node responds to the consensus proposal based on the PBFT protocol to complete a consensus for the merck tree certificates for all data blocks of the first transaction set;
After the merck tree evidence of all the data blocks of the first transaction set completes the consensus, the consensus backup node matches the transaction corresponding to the merck tree evidence achieving the consensus from the restored first transaction set so as to execute the block writing operation on the matched transaction.
In a fourth aspect, there is provided a consensus node for a blockchain, comprising:
The first RBC executing module is used for executing a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node by using an erasure coding algorithm to split the first transaction set into N data blocks corresponding to the consensus nodes of the block chain, sending corresponding data blocks to each consensus backup node of the block chain based on Rval information, enabling the consensus backup node to execute the RBC protocol, forwarding the corresponding data blocks received from the Rval information to other consensus backup nodes through Echo information, and restoring the received data blocks into the first transaction set based on the erasure coding algorithm after receiving N-2f Echo information, wherein the data blocks split by the first transaction set correspond to the number of the consensus nodes of the block chain based on the merck tree evidence calculated by the erasure coding algorithm, and f is the fault-tolerant number of the consensus nodes of the block chain;
A first PBFT execution module, the consensus master node, after executing the RBC protocol on the first transaction set, executing a practical bayer pattern PBFT protocol on merck tree proofs of all data blocks of the first transaction set to initiate a consensus proposal for merck tree proofs of all data blocks of the first transaction set, such that the consensus backup node responds to the consensus proposal based on the PBFT protocol to complete a consensus for merck tree proofs of all data blocks of the first transaction set;
And the first writing block module is used for matching the transaction corresponding to the merck tree evidence achieving the consensus from the first transaction set after the merck tree evidence of all the data blocks of the first transaction set completes the consensus, so as to execute writing block operation on the matched transaction.
In a fifth aspect, there is provided an electronic device comprising: a memory, a processor, and a computer program stored on the memory and executable on the processor, the computer program being executed by the processor:
Executing a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of a consensus master node to split the first transaction set into N data blocks corresponding to the consensus nodes of the blockchain by using an erasure coding algorithm, transmitting corresponding data blocks to each consensus backup node of the blockchain based on Rval messages, enabling the consensus backup nodes to execute the RBC protocol, forwarding the corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, and restoring the received data blocks into the first transaction set based on the erasure coding algorithm after receiving N-2f Echo messages, wherein the data blocks split by the first transaction set correspond to the merck tree evidence calculated based on the erasure coding algorithm, and N is the number of the consensus nodes of the blockchain;
After the RBC protocol is performed on the first transaction set, performing a practical bayer pattern PBFT protocol on the merck tree evidence of all data blocks of the first transaction set to initiate a consensus proposal for the merck tree evidence of all data blocks of the first transaction set, such that the consensus backup node responds to the consensus proposal based on the PBFT protocol to complete a consensus of the merck tree evidence of all data blocks of the first transaction set;
After the merck tree evidence of all the data blocks of the first transaction set completes consensus, matching the transaction corresponding to the merck tree evidence achieving the consensus from the first transaction set so as to execute block writing operation on the matched transaction.
In a sixth aspect, there is provided a computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
Executing a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of a consensus master node to split the first transaction set into N data blocks corresponding to the consensus nodes of the blockchain by using an erasure coding algorithm, transmitting corresponding data blocks to each consensus backup node of the blockchain based on Rval messages, enabling the consensus backup nodes to execute the RBC protocol, forwarding the corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, and restoring the received data blocks into the first transaction set based on the erasure coding algorithm after receiving N-2f Echo messages, wherein the data blocks split by the first transaction set correspond to the merck tree evidence calculated based on the erasure coding algorithm, and N is the number of the consensus nodes of the blockchain;
After the RBC protocol is performed on the first transaction set, performing a practical bayer pattern PBFT protocol on the merck tree evidence of all data blocks of the first transaction set to initiate a consensus proposal for the merck tree evidence of all data blocks of the first transaction set, such that the consensus backup node responds to the consensus proposal based on the PBFT protocol to complete a consensus of the merck tree evidence of all data blocks of the first transaction set;
After the merck tree evidence of all the data blocks of the first transaction set completes consensus, matching the transaction corresponding to the merck tree evidence achieving the consensus from the first transaction set so as to execute block writing operation on the matched transaction.
In a seventh aspect, there is provided a consensus node for a blockchain, comprising:
the receiving module is used for receiving data blocks corresponding to the consensus backup node transmitted when the consensus master node of the blockchain executes the RBC protocol, wherein the data blocks corresponding to the consensus backup node are obtained by the consensus master node executing reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node so as to split the first transaction set into N data blocks corresponding to the consensus node of the blockchain by using an erasure code algorithm and transmitting the N data blocks to the consensus backup node based on an Rval message;
The second RBC executing module executes the RBC protocol, forwards corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, restores the received data blocks to the first transaction set based on an erasure coding algorithm after receiving N-2f Echo messages, and restores the received data blocks to the first transaction set based on the erasure coding algorithm, wherein f is the fault tolerance number of the consensus nodes of the blockchain;
A second PBFT execution module that, after the consensus master node performs a utility bayer pattern PBFT protocol on the merck tree certificates for all data blocks of the first transaction set to initiate a consensus proposal for the merck tree certificates for all data blocks of the first transaction set, responds to the consensus proposal based on the PBFT protocol to complete a consensus for the merck tree certificates for all data blocks of the first transaction set;
and the second writing block module is used for matching the transaction corresponding to the merck tree evidence achieving the consensus from the restored first transaction set after the merck tree evidence of all the data blocks of the first transaction set completes the consensus, so as to execute writing block operation on the matched transaction.
In an eighth aspect, there is provided an electronic apparatus comprising: a memory, a processor, and a computer program stored on the memory and executable on the processor, the computer program being executed by the processor:
Receiving a data block corresponding to a consensus backup node transmitted when a consensus master node of the blockchain executes a RBC protocol, wherein the data block corresponding to the consensus backup node is obtained by the consensus master node executing a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node, splitting the first transaction set into N data blocks corresponding to the consensus node of the blockchain by using an erasure code algorithm, and transmitting the N data blocks to the consensus backup node based on an Rval message;
executing the RBC protocol, forwarding corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, broadcasting Ready messages to the blockchain after receiving N-f Echo messages, and restoring the received data blocks into the first transaction set based on the erasure coding algorithm after receiving 2f+1 Ready messages, wherein f is the fault tolerance number of the consensus nodes of the blockchain;
After the consensus master node performs a utility bye-salon PBFT protocol on the merck tree certificates for all data blocks of the first transaction set to initiate a consensus proposal for the merck tree certificates for all data blocks of the first transaction set, responding to the consensus proposal based on the PBFT protocol to complete a consensus for the merck tree certificates for all data blocks of the first transaction set;
After the merck tree evidence of all the data blocks of the first transaction set completes the consensus, matching the transaction corresponding to the merck tree evidence achieving the consensus from the restored first transaction set so as to execute the block writing operation on the matched transaction.
In a ninth aspect, there is provided a computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
Receiving a data block corresponding to a consensus backup node transmitted when a consensus master node of the blockchain executes a RBC protocol, wherein the data block corresponding to the consensus backup node is obtained by the consensus master node executing a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node, splitting the first transaction set into N data blocks corresponding to the consensus node of the blockchain by using an erasure code algorithm, and transmitting the N data blocks to the consensus backup node based on an Rval message;
executing the RBC protocol, forwarding corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, broadcasting Ready messages to the blockchain after receiving N-f Echo messages, and restoring the received data blocks into the first transaction set based on the erasure coding algorithm after receiving 2f+1 Ready messages, wherein f is the fault tolerance number of the consensus nodes of the blockchain;
After the consensus master node performs a utility bye-salon PBFT protocol on the merck tree certificates for all data blocks of the first transaction set to initiate a consensus proposal for the merck tree certificates for all data blocks of the first transaction set, responding to the consensus proposal based on the PBFT protocol to complete a consensus for the merck tree certificates for all data blocks of the first transaction set;
After the merck tree evidence of all the data blocks of the first transaction set completes the consensus, matching the transaction corresponding to the merck tree evidence achieving the consensus from the restored first transaction set so as to execute the block writing operation on the matched transaction.
The schemes of the embodiments of the present description achieve consensus through RBC protocol and PBFT protocol. In the RBC protocol stage, the consensus master node splits a transaction set serving as proposal data into data blocks corresponding to the consensus backup nodes by using an erasure code transmission mechanism of the RBC protocol, and sends the split data blocks to the corresponding consensus backup nodes, and the consensus backup nodes forward the split data blocks to each other so as to allocate the transmission of the proposal data, so that the transmission fault tolerance is realized by using smaller network bandwidth and storage space overhead of the consensus master node. In the PBFT protocol stage, the consensus master node initiates a consensus proposal by taking the merck tree evidence of the data block of the RBC protocol result as a consensus object, so that the merck tree evidence achieving the consensus is matched back to the corresponding transaction completion writing block operation, and the execution time of the PBFT protocol can be effectively reduced due to the relatively smaller data volume of the merck tree evidence, thereby improving the consensus efficiency.
Drawings
In order to more clearly illustrate the embodiments of the present description or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described below, it being obvious that the drawings in the following description are only some of the embodiments described in the embodiments of the present description, and that other drawings may be obtained according to these drawings without inventive effort to a person skilled in the art.
Fig. 1 is a flowchart of a block chain consensus method according to an embodiment of the present disclosure.
Fig. 2 is a schematic diagram of a first structure of a common node according to an embodiment of the present disclosure.
Fig. 3 is a schematic diagram of a second structure of a common node according to an embodiment of the present disclosure.
Fig. 4 is a schematic structural diagram of an electronic device according to an embodiment of the present disclosure.
Detailed Description
In order to make the technical solutions in the present specification better understood by those skilled in the art, the technical solutions in the embodiments of the present specification will be clearly and completely described below with reference to the drawings in the embodiments of the present specification, and it is obvious that the described embodiments are only some embodiments of the present specification, not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are intended to be within the scope of the present disclosure.
As previously described, in the blockchain consensus protocol for the current primary-standby mode of operation, the proposal data for each round of consensus proposal is packaged by the consensus primary node and synchronously transmitted to the consensus backup nodes of the blockchain. Assuming that the number of consensus nodes of the blockchain is N, for a round of consensus proposal, the consensus master node needs to send N-1 proposal data, which creates a significant overhead for the network bandwidth of the consensus master node. With the explosive growth of future blockchain services, to obtain higher throughput, more data consensus needs to be achieved in unit time, and the burden for the consensus master node is greater, so that the consensus efficiency is reduced. In view of this, this document aims to propose a technical solution that can implement blockchain consensus with a small bandwidth overhead of the consensus master node, so as to adapt to the requirement of future blockchain service growth.
FIG. 1 is a flow chart of a method of consensus of blockchains in an embodiment of the present description. The method shown in fig. 1 may be performed by a corresponding apparatus, comprising the steps of:
S102, a consensus master node of a blockchain executes a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node to split the first transaction set into N data blocks corresponding to the consensus nodes of the blockchain by using an erasure coding algorithm, and sends corresponding data blocks to all consensus backup nodes of the blockchain based on Rval messages, wherein the data blocks split by the first transaction set correspond to the merck tree evidence calculated based on the erasure coding algorithm, and N is the number of the consensus nodes of the blockchain.
Erasure Coding (EC) is a method of fault-tolerant protection of data by dividing the data into segments, expanding, encoding, and storing redundant data blocks in different locations, such as disks, storage nodes, or other geographical locations. From a data function perspective, the protection provided by erasure codes can be represented by the following formula: x=k+y. The variable x "represents the value of the original data or symbol. The variable "y" represents the value of the extra or redundant symbol added after a fault that provides protection. The variable "x" represents the total value of the symbols created after the erasure coding process. For example, in one EC 10/16 configuration, there are 6 additional symbols (variable m) added to 10 original symbols (variable k). The 16 data segments (variable n) may be spread over 16 drives, nodes or geographic locations, and the original file may be reconstructed from 10 verification segments. That is, even if 6 drives, nodes, or geographic locations are lost or unavailable, the original file may be restored. It can be seen that erasure codes require only a small amount of redundancy to achieve data recovery.
In the embodiment of the present specification, the RBC protocol is executed by the consensus master node to synchronize the first transaction set (subsequently, the proposal data) in the own transaction pool that needs to be consensus to the consensus backup node of the blockchain summary using erasure coding technology. Based on erasure code technology, after splitting the transaction set in the own transaction pool into data blocks corresponding to all the consensus nodes, the consensus master node only needs to send the data block corresponding to the consensus backup node to each consensus backup node. That is, in the synchronization process, the data volume sent by the consensus master node is only the data volume of one first transaction set.
S104, the consensus backup node executes RBC protocol to forward the corresponding data blocks received from the Rval message to other consensus backup nodes through the Echo message, and after receiving N-2f Echo messages, the received data blocks are restored into a first transaction set based on an erasure code algorithm, wherein f is the fault tolerance number of the consensus nodes of the blockchain.
It should be understood that, when executing the RBC protocol, the common master node in the embodiments of the present disclosure provides the data block corresponding to the common backup node only through Rval messages. In order to make the consensus backup node obtain the complete first transaction set, in this step, each consensus backup node of the blockchain needs to forward the corresponding data block to other consensus backup nodes through Echo message of RBC protocol. When any consensus backup node receives N-2f Echo messages (indicating that enough data blocks based on erasure coding algorithm are collected to restore the first transaction set), the first intersection is attempted to be restored to realize the data synchronization of the first intersection.
It can be seen that, in the process of transmitting the first transaction set by using the erasure coding algorithm based on the RBC protocol, the consensus backup node also consumes network bandwidth to assist the consensus master node to forward the data block corresponding to the consensus master node, so that the transmission pressure of the consensus master node side is shared.
S106, after executing the RBC protocol on the first transaction set, the consensus master node executes the practical bayer pattern PBFT protocol on the merck tree evidence of all the data blocks of the first transaction set to initiate a consensus proposal for the merck tree evidence of all the data blocks of the first transaction set.
It should be appreciated that the merck tree justifies the consensus proposal for all data blocks of the first transaction set. Is generated by the common master node executing the RBC protocol and belongs to the executing result of the RBC protocol. Since the data blocks can be represented by the merck tree evidence with smaller data volume, when the common knowledge master node executes PBFT protocol on the merck tree evidence of all the data blocks of the first transaction set, the data volume transmitted by PBFT protocol can be saved.
S108, the consensus backup node responds to the above consensus proposal based on PBFT protocol to complete the consensus of the merck tree evidence for all data blocks of the first transaction set.
It should be appreciated that in the present embodiment, the consensus object of PBFT protocol is demonstrated by the replacement of the traditional transaction set data with the merck tree, but the consensus principle is not changed, so the consensus can be accomplished using the traditional PBFT protocol logic.
S110, after the merck tree certification of all the data blocks of the first transaction set completes the consensus, the consensus master node and the consensus backup node match the corresponding transaction of the merck tree certification achieving the consensus from the respective first transaction set so as to execute the block writing operation on the matched transaction.
Compared with the traditional PBFT protocol, since the consensus object is replaced by the merck tree evidence by the transaction set data, what is determined by the PBFT protocol result is the merck tree evidence for achieving consensus, and the consensus master node and the consensus backup node are required to match corresponding transactions from the respective determined transaction sets, and then perform a block writing operation on the matched transactions (also understood as the transactions for achieving consensus).
It should be understood here that the first transaction set on the side of the consensus backup node is synchronized by the consensus master node executing the RBC protocol, whereas the first transaction set on the side of the consensus master node is itself derived from the transaction pool of the target consensus node.
The methods of the embodiments of the present description achieve consensus through RBC protocol and PBFT protocol. In the RBC protocol stage, the consensus master node splits a transaction set serving as proposal data into data blocks corresponding to the consensus backup nodes by using an erasure code transmission mechanism of the RBC protocol, and sends the split data blocks to the corresponding consensus backup nodes, and the consensus backup nodes forward the split data blocks to each other so as to allocate the transmission of the proposal data, so that the transmission fault tolerance is realized by using smaller network bandwidth and storage space overhead of the consensus master node. In the PBFT protocol stage, the consensus master node initiates a consensus proposal by taking the merck tree evidence of the data block of the RBC protocol result as a consensus object, so that the merck tree evidence achieving the consensus is matched back to the corresponding transaction completion writing block operation, and the execution time of the PBFT protocol can be effectively reduced due to the relatively smaller data volume of the merck tree evidence, thereby improving the consensus efficiency.
The following describes the consensus method of the embodiments of the present specification in detail.
In the method of the embodiment of the specification, the consensus node of the blockchain realizes the consensus uplink of the transaction based on the RBC protocol+ PBFT protocol. Here, the number of consensus nodes of the blockchain is set to N, and the fault-tolerant number of consensus nodes of the bayer is set to f, N > =3f+1. The corresponding consensus flow is as follows:
RBC protocol phase:
The consensus master node selects a plurality of transactions to be consensus from a transaction pool of the consensus master node to form a first transaction set.
The consensus master node splits the first transaction set into N ordered data blocks corresponding to the consensus nodes of the blockchain one to one according to the consensus sequence by using an erasure code algorithm. Here, each data block includes at least one transaction in the first transaction set, the data block split based on the erasure coding algorithm corresponds to a hash value, and root hashes of all the data blocks construct a merkle tree.
For ease of understanding, assuming that the blockchain is provided with 6 consensus nodes (the rest are all consensus backup nodes) including a consensus master node, the first transaction set may be split into 6 data blocks, namely blocks 1 through 6, with 20 transactions in the first transaction set, namely tx1 through tx 20. Correspondingly, the correspondence between the data blocks and the transactions is as follows:
consensus node 1: block 1{ tx1, tx2, tx3, tx4}
Consensus node 2: block 2{ tx5, tx6, tx7}
Consensus node 3: block 3{ tx8, tx9, tx10}
Consensus node 4: block 4{ tx11, tx12, tx13}
Consensus node 5: block 5{ tx14, tx15, tx16}
Consensus node 6: block 6{ tx17, tx18, tx19, tx20}
And then, the consensus master node Rval message sends corresponding data blocks to the consensus backup nodes of the blockchain.
Here, the consensus node 1 is referred to as a consensus master node. The Rval message sent by the consensus node 1 to the consensus node 2 carries root hash, block2 and merck tree evidence corresponding to the block 2; the Rval message sent by the consensus node 1 to the consensus node 3 carries root hash, block3 and merck tree evidence corresponding to the block 3; … … the Rval message sent by the consensus node 1 to the consensus node 6 carries the root hash, block6 and the merck tree evidence corresponding to block 6.
And after receiving the Rval message of the consensus master node, the consensus backup node forwards root hash, data block and merck tree evidence corresponding to the data block in the Rval message to other consensus backup nodes through Echo messages.
For example, the consensus node 2 sends the merck tree evidence carrying the root hash, block2 and corresponding block2 to the consensus nodes 1, 3, 4, 5 and 6; the consensus node 3 sends merck tree certificates carrying root hashes, blocks 3 and corresponding blocks 3 to the consensus nodes 1, 2, 4, 5 and 6; … … consensus node 6 sends merck tree certificates carrying root hashes, blocks 6 and corresponding blocks 6 to consensus nodes 1, 2, 3, 4, 5.
After receiving the N-2f Echo messages, any consensus backup node attempts to restore the received data blocks (the data blocks in the Rval messages sent by the consensus master node and the data blocks in Echo messages sent by other consensus backup nodes) back to the first transaction set by using an erasure coding algorithm, and reconstructs the merck tree of the first transaction set to check whether the reconstructed merck tree is consistent with the received merck tree. If so, a Ready message is broadcast to the blockchain.
In addition, on the basis of the above, if any consensus backup node obtains data blocks from Echo messages and Rval messages, the data blocks in Rval messages received by other consensus backup nodes may be obtained from other consensus backup nodes to attempt to restore the first transaction set.
Then, for each consensus node, when f+1 identical Ready messages from different nodes are received, judging whether the Ready messages are broadcast by the consensus node or not, and if not, broadcasting the Ready messages; when 2f+1 Ready messages from different consensus nodes are received, this means that the correct first transaction set is received, i.e. the consensus master node correctly synchronizes the first transaction set in its own transaction pool to the consensus backup node.
Here, the consensus master node locally maintains a consensus execution queue for storing merck tree certificates to be consensus. After splitting the first transaction set into N data blocks, the consensus master node sequentially adds the N data blocks split by the first transaction set into a consensus execution queue of the consensus master node.
After the RBC protocol phase is finished, the consensus master node sequentially selects the merck tree evidence from the consensus execution queue as a consensus object to initiate PBFT protocol consensus proposal. It should be appreciated that if the merck tree evidence in the consensus execution queue exceeds the maximum number of merck tree evidence supported by one consensus proposal, the consensus master node may choose to initiate at least two rounds of consensus proposals to consensus the merck tree evidence in the consensus execution queue.
PBFT protocol stage:
The consensus master node initiates a consensus proposal using the merck tree evidence of each data block of the first transaction set as proposal data.
The consensus process includes:
The consensus master node broadcasts a pre-preparation message to each consensus backup node, the pre-preparation message mainly comprising a view of the current consensus and a digest of the consensus master node, and further comprising a merck tree proof of each data block of the first transaction set.
After receiving the pre-preparation message, the consensus backup node participating in consensus checks whether the pre-preparation message is legal or not. For example, check view, digest, and merck tree prove correct.
If the pre-preparation message is legal, the state of the consensus proposal on each consensus node is determined to be prepared, and the consensus backup node adds the received pre-preparation message to the local Log and sends the preparation message to other consensus backup nodes.
When all consensus nodes enter prepared, the self check signature is sent to other consensus nodes through a commit message, and the commit message sent by the self is added to the local Log (representing the self approval).
When any consensus node discovers quorum (quorum is a set of a number of consensus nodes needed to ensure all data consistency requirements and fault tolerance requirements) agrees with the number assignment, it broadcasts a commit message to all other consensus nodes. At the same time, commit messages from other consensus nodes are also received successively.
If any consensus node receives 2f+1 commit messages, it indicates that the consensus node has a certificate named committed certificate, and the consensus proposes to achieve a commit state on the consensus node. At this point, it can be concluded by only the one consensus node that the request has reached a committed state throughout quorum. When the consensus proposal reaches commited state, it is stated that the full network consensus has been reached.
After all the merck tree certificates in the consensus execution queue of the consensus master node complete the consensus, the consensus master node and the consensus backup node match the corresponding transactions of the merck tree certificates achieving the consensus from the respective first transaction sets so as to execute the writing block operation on the matched transactions.
For ease of understanding, assuming that the merck tree of root hash 1 and root hash 5 prove to agree, the consensus master node and the consensus backup node perform a write block operation on the transactions { tx1, tx2, tx3, tx4} corresponding to root hash 1 and the transactions { tx14, tx15, tx16} corresponding to root hsh, that is, the transactions { tx1, tx2, tx3, tx4 tx14, tx15, tx16} complete the uplink.
The above is an introduction to a round of RBC protocol + PBFT protocol. It should be understood that, after the merck tree of all the data blocks of the first transaction set proves that the co-identification is completed, if the blockchain does not switch the view (i.e. the co-identification master node is not replaced), the co-identification master node may further continue to execute a new round of RBC protocol on the second transaction set in the transaction pool of the co-identification master node (the second transaction set is a transaction set in the transaction pool of the co-identification master node, which has not been executed by the co-identification master node yet), and then initiate a common suggestion of PBFT protocol for the merck tree proof of each data block split by the second transaction set to complete the uplink of the second transaction set.
In addition, on the basis of the above, the consensus master node can perform data persistence on the local consensus execution queue of the consensus master node, and if the consensus master node is down, the consensus execution queue of the consensus master node can be restored to a state before restarting based on the persistence data of the consensus master node after restarting.
The above is an introduction to the method of the embodiments of the present specification. It will be appreciated that suitable modifications may be made without departing from the principles set forth herein above, and such modifications are intended to be considered within the scope of the embodiments of the present disclosure.
Corresponding to the above-described consensus method shown in fig. 1, the present embodiment further provides a consensus node of a blockchain. Fig. 2 is a block diagram of a consensus node 200 according to an embodiment of the present disclosure, comprising:
A first RBC executing module 210, where a consensus master node executes a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node, so as to split the first transaction set into N data blocks corresponding to the consensus nodes of the blockchain by using an erasure coding algorithm, and send corresponding data blocks to each consensus backup node of the blockchain based on Rval messages, so that the consensus backup node executes the RBC protocol, forwards the corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, and restores the received data blocks to the first transaction set based on the erasure coding algorithm after receiving N-2f Echo messages, where N is the number of consensus nodes of the blockchain and f is the fault-tolerant number of the consensus nodes of the blockchain, where the data blocks split by the first transaction set correspond to the merck tree evidence calculated based on the erasure coding algorithm;
A first PBFT execution module 220, the consensus master node, after executing the RBC protocol on the first transaction set, executes a practical bayer pattern PBFT protocol on the merck tree evidence of all data blocks of the first transaction set to initiate a consensus proposal for the merck tree evidence of all data blocks of the first transaction set, such that the consensus backup node responds to the consensus proposal based on the PBFT protocol to complete a consensus for the merck tree evidence of all data blocks of the first transaction set;
The first writing block module 230 matches the transaction corresponding to the merck tree evidence reaching the consensus from the first transaction set after the merck tree evidence of all the data blocks of the first transaction set completes the consensus, so as to execute writing block operation on the matched transaction.
The consensus node of the embodiment of the present specification realizes consensus through RBC protocol and PBFT protocol. In the RBC protocol stage, the transaction set serving as the proposal data is split into data blocks corresponding to the consensus backup nodes by utilizing an erasure code transmission mechanism of the RBC protocol, the split data blocks are sent to the corresponding consensus backup nodes, and the consensus backup nodes forward the data blocks to each other so as to allocate the transmission of the proposal data, so that the transmission fault tolerance is realized by the network bandwidth and the storage space overhead of the smaller consensus master node. In the PBFT protocol stage, the consensus master node initiates a consensus proposal by taking the merck tree evidence of the data block of the RBC protocol result as a consensus object, so that the merck tree evidence achieving the consensus is matched back to the corresponding transaction completion writing block operation, and the execution time of the PBFT protocol can be effectively reduced due to the relatively smaller data volume of the merck tree evidence, thereby improving the consensus efficiency.
Optionally, the consensus node of the embodiments of the present specification further includes:
The queue maintenance module is used for sequentially adding the N data blocks split by the first transaction set into the consensus execution queue of the consensus master node after the first RBC execution module 210 splits the first transaction set into N data blocks corresponding to the consensus node of the blockchain by using an erasure coding algorithm; correspondingly, the first PBFT execution module 220 may sequentially select the merck tree certificates of the data blocks of the first transaction set from the consensus execution queue to initiate at least one round of consensus proposal until the merck tree certificates of all the data blocks of the first transaction set complete consensus.
Optionally, the first RBC execution module 210 and the first PBFT execution module 220 are in serial relationship.
After the merkel tree of all the data blocks of the first transaction set proves that the consensus is completed, if the blockchain does not switch the view, the first RBC executing module 210 executes a new round of RBC protocol on a second transaction set in the transaction pool of the consensus master node, wherein the second transaction set is a transaction set in the transaction pool of the consensus master node, which has not been executed by the consensus master node.
Optionally, the consensus execution queue of the consensus master node is used as persistent data of the consensus master node. If the common master node is restarted, the queue maintenance module may restore the common execution queue of the common master node to a state before restarting based on the persistent data of the common master node.
Optionally, when executing the PBFT protocol on the merck tree certificates of all data blocks of the first transaction set, the consensus master node sends the merck tree certificates as the current round consensus object to other consensus nodes based on the Pre-preparation message of the PBFT protocol.
Obviously, the common node in the embodiment of the present disclosure may be used as an execution body of the common master node in the method shown in fig. 1, and may implement a function corresponding to the common master node in the method shown in fig. 1. Since the principle is the same, the description is not repeated here.
Corresponding to the above-described consensus method shown in fig. 1, the present embodiment further provides a consensus node of a blockchain. Fig. 3 is a block diagram of a consensus node 300 according to an embodiment of the present disclosure, comprising:
a receiving module 310, configured to receive a data block corresponding to a consensus backup node sent when a consensus master node of the blockchain executes a RBC protocol, where the data block corresponding to the consensus backup node is that the consensus master node executes a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node, so as to split the first transaction set into N data blocks corresponding to the consensus node of the blockchain by using an erasure coding algorithm, and send the N data blocks to the consensus backup node based on Rval messages;
a second RBC executing module 320, configured to execute the RBC protocol, forward, through Echo messages, corresponding data blocks received from Rval messages to other consensus backup nodes, and restore, after receiving N-2f Echo messages, the received data blocks to the first transaction set based on an erasure coding algorithm, and restore, based on the erasure coding algorithm, the received data blocks to the first transaction set, where f is a fault tolerance number of the consensus nodes of the blockchain;
A second PBFT execution module 330, after the consensus master node performs a utility bayer pattern PBFT protocol on the merck tree certificates for all data blocks of the first transaction set to initiate a consensus proposal for the merck tree certificates for all data blocks of the first transaction set, responds to the consensus proposal based on the PBFT protocol to complete a consensus for the merck tree certificates for all data blocks of the first transaction set;
the second writing block module 340 matches the transaction corresponding to the merck tree evidence reaching the consensus from the restored first transaction set after the merck tree evidence of all the data blocks of the first transaction set completes the consensus, so as to execute the writing block operation on the matched transaction.
The consensus node of the embodiment of the present specification realizes consensus through RBC protocol and PBFT protocol. In the RBC protocol stage, the consensus master node splits a transaction set serving as proposal data into data blocks corresponding to the consensus backup nodes by using an erasure code transmission mechanism of the RBC protocol, and sends the split data blocks to the corresponding consensus backup nodes, and the consensus backup nodes forward the split data blocks to each other so as to allocate the transmission of the proposal data, so that the transmission fault tolerance is realized by using smaller network bandwidth and storage space overhead of the consensus master node. In the PBFT protocol stage, the consensus master node initiates a consensus proposal by taking the merck tree evidence of the data block of the RBC protocol result as a consensus object, so that the merck tree evidence achieving the consensus is matched back to the corresponding transaction completion writing block operation, and the execution time of the PBFT protocol can be effectively reduced due to the relatively smaller data volume of the merck tree evidence, thereby improving the consensus efficiency.
Obviously, the common node in the embodiment of the present disclosure may be used as an execution body of the common backup node in the method shown in fig. 1, so that the corresponding function of the common backup node in the method shown in fig. 1 can be implemented. Since the principle is the same, the description is not repeated here.
Fig. 4 is a schematic structural view of an electronic device according to an embodiment of the present specification. Referring to fig. 4, at the hardware level, the electronic device includes a processor, and optionally an internal bus, a network interface, and a memory. The Memory may include a Memory, such as a Random-Access Memory (RAM), and may further include a non-volatile Memory (non-volatile Memory), such as at least 1 disk Memory. Of course, the electronic device may also include hardware required for other services.
The processor, network interface, and memory may be interconnected by an internal bus, which may be an ISA (Industry Standard Architecture ) bus, a PCI (PERIPHERAL COMPONENT INTERCONNECT, peripheral component interconnect standard) bus, or EISA (Extended Industry Standard Architecture ) bus, among others. The buses may be classified as address buses, data buses, control buses, etc. For ease of illustration, only one bi-directional arrow is shown in FIG. 4, but not only one bus or type of bus.
And the memory is used for storing programs. In particular, the program may include program code including computer-operating instructions. The memory may include memory and non-volatile storage and provide instructions and data to the processor.
The processor reads the corresponding computer program from the nonvolatile memory to the memory and then runs the computer program, and a block chain consensus device is formed on a logic level, wherein the consensus device can be used as a consensus master node of the block chain and can also belong to a component in the consensus master node. The processor is used for executing the programs stored in the memory and is specifically used for executing the following operations:
Executing a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of a consensus master node to split the first transaction set into N data blocks corresponding to the consensus nodes of the blockchain by using an erasure coding algorithm, transmitting corresponding data blocks to each consensus backup node of the blockchain based on Rval messages, enabling the consensus backup nodes to execute the RBC protocol, forwarding the corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, and restoring the received data blocks into the first transaction set based on the erasure coding algorithm after receiving N-2f Echo messages, wherein the data blocks split by the first transaction set correspond to the merck tree evidence calculated based on the erasure coding algorithm, and N is the number of the consensus nodes of the blockchain;
After the RBC protocol is performed on the first transaction set, performing a practical bayer pattern PBFT protocol on the merck tree evidence of all data blocks of the first transaction set to initiate a consensus proposal for the merck tree evidence of all data blocks of the first transaction set, such that the consensus backup node responds to the consensus proposal based on the PBFT protocol to complete a consensus of the merck tree evidence of all data blocks of the first transaction set;
After the merck tree evidence of all the data blocks of the first transaction set completes consensus, matching the transaction corresponding to the merck tree evidence achieving the consensus from the first transaction set so as to execute block writing operation on the matched transaction.
Or the processor reads the corresponding computer program from the nonvolatile memory to the memory and then runs, and a block chain consensus device is formed on a logic level, wherein the consensus device can be used as a consensus backup node of the block chain or can be a component in the consensus backup node. The processor is used for executing the programs stored in the memory and is specifically used for executing the following operations:
And receiving a data block corresponding to a consensus backup node transmitted when the consensus master node of the blockchain executes the RBC protocol, wherein the data block corresponding to the consensus backup node is obtained by the consensus master node executing a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node so as to split the first transaction set into N data blocks corresponding to the consensus node of the blockchain by using an erasure code algorithm, and transmitting the N data blocks to the consensus backup node based on an Rval message.
Executing the RBC protocol, forwarding corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, broadcasting Ready messages to the blockchain after receiving N-f Echo messages, and restoring the received data blocks into the first transaction set based on the erasure coding algorithm after receiving 2f+1 Ready messages, wherein f is the fault tolerance number of the consensus nodes of the blockchain.
After the consensus master node performs a utility bye-court PBFT protocol on the merck tree certificates for all data blocks of the first transaction set to initiate a consensus proposal for the merck tree certificates for all data blocks of the first transaction set, responding to the consensus proposal based on the PBFT protocol to complete a consensus for the merck tree certificates for all data blocks of the first transaction set.
After the merck tree evidence of all the data blocks of the first transaction set completes the consensus, matching the transaction corresponding to the merck tree evidence achieving the consensus from the restored first transaction set so as to execute the block writing operation on the matched transaction.
The consensus method disclosed in the embodiment shown in fig. 1 of the present specification can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware in a processor or by instructions in the form of software. The processor may be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU), a network processor (Network Processor, NP), etc.; but may also be a digital signal Processor (DIGITAL SIGNAL Processor, DSP), application SPECIFIC INTEGRATED Circuit (ASIC), field-Programmable gate array (Field-Programmable GATE ARRAY, FPGA) or other Programmable logic device, discrete gate or transistor logic device, discrete hardware components. The various methods, steps and logic blocks disclosed in the embodiments of this specification may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of a method disclosed in connection with the embodiments of the present specification may be embodied directly in hardware, in a decoded processor, or in a combination of hardware and software modules in a decoded processor. The software modules may be located in a random access memory, flash memory, read only memory, programmable read only memory, or electrically erasable programmable memory, registers, etc. as well known in the art. The storage medium is located in a memory, and the processor reads the information in the memory and, in combination with its hardware, performs the steps of the above method.
It should be understood that the electronic device in the embodiments of the present disclosure may implement the functions of the embodiment shown in fig. 1 of the common-knowledge master node or the common-knowledge backup node, which is not described herein.
Of course, in addition to the software implementation, the electronic device in this specification does not exclude other implementations, such as a logic device or a combination of software and hardware, that is, the execution subject of the following process is not limited to each logic unit, but may also be hardware or a logic device.
Furthermore, the present specification embodiment also proposes a computer-readable storage medium storing one or more programs including instructions.
The above instructions, when executed by a portable electronic device including a plurality of application programs, enable the portable electronic device to perform the method of the embodiment shown in fig. 1, and are specifically configured to perform the following steps corresponding to the common master node:
executing a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of a consensus master node to split the first transaction set into N data blocks corresponding to the consensus nodes of the blockchain by using an erasure coding algorithm, sending corresponding data blocks to each consensus backup node of the blockchain based on Rval messages, enabling the consensus backup nodes to execute the RBC protocol, forwarding the corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, and restoring the received data blocks into the first transaction set based on the erasure coding algorithm after receiving N-2f Echo messages, wherein the data blocks split by the first transaction set correspond to the merck tree evidence calculated based on the erasure coding algorithm, and N is the number of the consensus nodes of the blockchain and f is the fault tolerance number of the consensus nodes of the blockchain.
After the RBC protocol is performed on the first transaction set, a utility bye-court PBFT protocol is performed on the merck tree evidence for all data blocks of the first transaction set to initiate a consensus proposal for the merck tree evidence for all data blocks of the first transaction set, such that the consensus backup node responds to the consensus proposal based on the PBFT protocol to complete a consensus for the merck tree evidence for all data blocks of the first transaction set.
After the merck tree evidence of all the data blocks of the first transaction set completes consensus, matching the transaction corresponding to the merck tree evidence achieving the consensus from the first transaction set so as to execute block writing operation on the matched transaction.
Or the above instructions, when executed by a portable electronic device comprising a plurality of application programs, enable the portable electronic device to perform the method of the embodiment shown in fig. 1, and specifically for performing the following steps corresponding to the consensus backup node:
And receiving a data block corresponding to a consensus backup node transmitted when the consensus master node of the blockchain executes the RBC protocol, wherein the data block corresponding to the consensus backup node is obtained by the consensus master node executing a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node so as to split the first transaction set into N data blocks corresponding to the consensus node of the blockchain by using an erasure code algorithm, and transmitting the N data blocks to the consensus backup node based on an Rval message.
Executing the RBC protocol, forwarding corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, broadcasting Ready messages to the blockchain after receiving N-f Echo messages, and restoring the received data blocks into the first transaction set based on the erasure coding algorithm after receiving 2f+1 Ready messages, wherein f is the fault tolerance number of the consensus nodes of the blockchain.
After the consensus master node performs a utility bye-court PBFT protocol on the merck tree certificates for all data blocks of the first transaction set to initiate a consensus proposal for the merck tree certificates for all data blocks of the first transaction set, responding to the consensus proposal based on the PBFT protocol to complete a consensus for the merck tree certificates for all data blocks of the first transaction set.
After the merck tree evidence of all the data blocks of the first transaction set completes the consensus, matching the transaction corresponding to the merck tree evidence achieving the consensus from the restored first transaction set so as to execute the block writing operation on the matched transaction.
It should be appreciated that the above-described instructions, when executed by a portable electronic device comprising a plurality of applications, enable the above-described consensus master node or consensus backup node to perform the functions of the embodiment shown in fig. 1, and are not repeated herein.
It will be appreciated by those skilled in the art that embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, the present specification may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present description can take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
The foregoing describes specific embodiments of the present disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims can be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
The foregoing is merely an example of the present specification and is not intended to limit the present specification. Various modifications and alterations to this specification will become apparent to those skilled in the art. Any modifications, equivalent substitutions, improvements, or the like, which are within the spirit and principles of the present description, are intended to be included within the scope of the claims of the present description. Moreover, all other embodiments obtained by those skilled in the art without making any inventive effort shall fall within the scope of protection of this document.
Claims (12)
1. A method of consensus of a blockchain, comprising:
The method comprises the steps that a consensus master node of a blockchain executes a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node, so that after the first transaction set is split into N data blocks corresponding to the consensus nodes of the blockchain by using an erasure coding algorithm, the N data blocks split into the first transaction set are sequentially added into a consensus execution queue of the consensus master node, and corresponding data blocks are sent to all consensus backup nodes of the blockchain based on Rval information, wherein the data blocks split into the first transaction set correspond to merck tree evidence calculated based on the erasure coding algorithm, and N is the number of the consensus nodes of the blockchain;
The consensus backup node executes the RBC protocol to forward corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, and after receiving N-2f Echo messages, restores the received data blocks into the first transaction set based on the erasure coding algorithm, wherein f is the fault tolerance number of the consensus nodes of the blockchain;
the consensus master node, after performing the RBC protocol on the first transaction set, performs a practical bayer-tree proof-of-b-c PBFT protocol on the merck-tree proof of all data blocks of the first transaction set to initiate a consensus proposal for the merck-tree proof of all data blocks of the first transaction set;
The consensus backup node responding to the consensus proposal based on the PBFT protocol to complete a consensus of merck tree certificates for all data blocks of the first transaction set;
After the merck tree evidence of all the data blocks of the first transaction set completes the consensus, the consensus master node and the consensus backup node match the corresponding transactions of the merck tree evidence reaching the consensus from the respective first transaction sets so as to execute the block writing operation on the matched transactions, and if the blockchain does not switch the view, the consensus master node executes the RBC protocol on a second transaction set in a transaction pool of the consensus master node, wherein the second transaction set refers to the transaction set in the transaction pool of the consensus master node, the RBC protocol has not been executed by the consensus master node, and the consensus master node serially executes the RBC protocol and the PBFT protocol.
2. The method of claim 1, further comprising:
The consensus master node, after performing the RBC protocol on the first transaction set, performs a practical bayer-barthold PBFT protocol on the merck tree evidence for all data blocks of the first transaction set to initiate a consensus proposal for the merck tree evidence for all data blocks of the first transaction set, comprising:
the consensus master node sequentially selects the merck tree evidence of the data blocks of the first transaction set from the consensus execution queue of the consensus master node to initiate at least one round of consensus proposal until the merck tree evidence of all the data blocks of the first transaction set completes consensus.
3. The method according to claim 2,
The consensus execution queue of the consensus master node acts as persistent data for the consensus master node, the method further comprising:
And if the consensus master node is restarted, recovering the consensus execution queue of the consensus master node to a state before restarting based on the persistent data of the consensus master node.
4. The method according to claim 2,
When executing the PBFT protocol on the merck tree certificates of all the data blocks of the first transaction set, the consensus master node sends the merck tree certificates which are the current round of consensus objects to other consensus nodes based on the Pre-preparation message of the PBFT protocol.
5. A method of consensus of a blockchain, comprising:
The method comprises the steps that a consensus master node executes a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node, after splitting the first transaction set into N data blocks corresponding to the consensus nodes of the blockchain by using an erasure code algorithm, sequentially adding the N data blocks split into the first transaction set into a consensus execution queue of the consensus master node, sending corresponding data blocks to each consensus backup node of the blockchain based on Rval messages, enabling the consensus backup node to execute the RBC protocol, forwarding the corresponding data blocks received from the Rval messages to other consensus backup nodes through Echo messages, broadcasting Ready messages to the blockchain after receiving N-f Echo messages, and restoring the received data blocks into the first transaction set based on the erasure code algorithm after receiving 2f+1 Ready messages, wherein the first transaction set is split into the corresponding data blocks corresponding to the erasure code tree of the blockchain, and the error-tolerant node is calculated to obtain the error-tolerant number of the blockchain;
The consensus master node, after executing the RBC protocol on the first transaction set, executing a practical bayer pattern PBFT protocol on the merck tree certificates of all data blocks of the first transaction set to initiate a consensus proposal for the merck tree certificates of all data blocks of the first transaction set, such that the consensus backup node responds to the consensus proposal based on the PBFT protocol to complete a consensus for the merck tree certificates of all data blocks of the first transaction set;
after the merck tree evidence of all the data blocks of the first transaction set completes the consensus, the consensus master node matches the transaction corresponding to the merck tree evidence reaching the consensus from the first transaction set to execute a block writing operation on the matched transaction, and if the blockchain does not switch the view, the consensus master node executes the RBC protocol on a second transaction set in a transaction pool of the consensus master node, wherein the second transaction set refers to the transaction set which has not been executed by the consensus master node in the transaction pool of the consensus master node, and the consensus master node serially executes the RBC protocol and the PBFT protocol.
6. A method of consensus of a blockchain, comprising:
A consensus backup node of a blockchain receives a data block corresponding to a consensus backup node transmitted when a consensus master node of the blockchain executes a RBC protocol, wherein the data block corresponding to the consensus backup node is formed by the consensus master node executing reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node, so that the first transaction set is split into N data blocks corresponding to the consensus node of the blockchain by using an erasure coding algorithm, and then the N data blocks split into the first transaction set are sequentially added into a consensus execution queue of the consensus master node and transmitted to the consensus backup node based on an Rval message;
the consensus backup node executes the RBC protocol, forwards corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, and restores the received data blocks to the first transaction set based on the erasure coding algorithm after receiving N-2f Echo messages, wherein f is the fault tolerance number of the consensus nodes of the blockchain;
After the consensus master node performs a utility bye-court PBFT protocol on the merck tree certificates for all data blocks of the first transaction set to initiate a consensus proposal for the merck tree certificates for all data blocks of the first transaction set, the consensus backup node responds to the consensus proposal based on the PBFT protocol to complete a consensus for the merck tree certificates for all data blocks of the first transaction set;
After the merck tree evidence of all the data blocks of the first transaction set completes the consensus, the consensus backup node matches the transaction corresponding to the merck tree evidence reaching the consensus from the restored first transaction set so as to execute the block writing operation on the matched transaction; after the merck tree of all the data blocks of the first transaction set proves that the consensus is completed, if the block chain does not switch the view, the consensus master node executes the RBC protocol on a second transaction set in a transaction pool of the consensus master node, wherein the second transaction set refers to a transaction set in the transaction pool of the consensus master node, which has not been executed by the consensus master node, and the consensus master node serially executes the RBC protocol and the PBFT protocol.
7. A consensus node of a blockchain, comprising:
The first RBC executing module executes a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of a consensus master node, so that after the first transaction set is split into N data blocks corresponding to the consensus nodes of the blockchain by using an erasure coding algorithm, the N data blocks split by the first transaction set are sequentially added into a consensus executing queue of the consensus master node, corresponding data blocks are sent to each consensus backup node of the blockchain based on an Rval message, the consensus backup node executes the RBC protocol, the corresponding data blocks received from the Rval message are forwarded to other consensus backup nodes through an Echo message, after N-2f Echo messages are received, the received data blocks are restored to the first transaction set based on the erasure coding algorithm, wherein the data blocks split by the first transaction set correspond to the merck tree evidence calculated based on the erasure coding algorithm, and N is the number f of the consensus nodes of the blockchain;
A first PBFT execution module that, after the RBC protocol is executed on the first transaction set, executes a practical bye-court PBFT protocol on the merck tree certificates of all data blocks of the first transaction set to initiate a proposal for the consensus of the merck tree certificates of all data blocks of the first transaction set, such that the consensus backup node responds to the proposal for the consensus based on the PBFT protocol to complete the consensus of the merck tree certificates of all data blocks of the first transaction set, and after the merck tree certificates of all data blocks of the first transaction set complete the consensus, executes the RBC protocol on a second transaction set in a transaction pool of the consensus master node if the blockchain does not switch view, wherein the second transaction set refers to a transaction set in the transaction pool of the consensus master node that has not been executed the RBC protocol by the consensus master node, the consensus master node executing the RBC protocol and the PBFT protocol in series;
And the first writing block module is used for matching the transaction corresponding to the merck tree evidence reaching the consensus from the first transaction set after the merck tree evidence of all the data blocks of the first transaction set is completely consensus, so as to execute writing block operation on the matched transaction.
8. An electronic device includes: a memory, a processor, and a computer program stored on the memory and executable on the processor, the computer program being executed by the processor:
Executing a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of a consensus master node, splitting the first transaction set into N data blocks corresponding to the consensus nodes of a blockchain by using an erasure coding algorithm, sequentially adding the N data blocks split by the first transaction set into the consensus execution queue of the consensus master node, transmitting corresponding data blocks to each consensus backup node of the blockchain based on an Rval message, enabling the consensus backup node to execute the RBC protocol, forwarding the corresponding data blocks received from the Rval message to other consensus backup nodes through an Echo message, and restoring the received data blocks to the first transaction set based on the erasure coding algorithm after receiving N-2f Echo messages, wherein the data blocks split by the first transaction set correspond to the merck certificates calculated based on the erasure coding algorithm, N is the number of the consensus nodes of the blockchain and f is the fault-tolerant node number of the consensus nodes of the blockchain;
After the RBC protocol is performed on the first transaction set, performing a practical bayer pattern PBFT protocol on the merck tree evidence of all data blocks of the first transaction set to initiate a consensus proposal for the merck tree evidence of all data blocks of the first transaction set, such that the consensus backup node responds to the consensus proposal based on the PBFT protocol to complete a consensus of the merck tree evidence of all data blocks of the first transaction set;
After the merkel tree evidence of all the data blocks of the first transaction set completes the consensus, matching the transaction corresponding to the merkel tree evidence reaching the consensus from the first transaction set to execute a block writing operation on the matched transaction, and if the blockchain does not switch the view, executing the RBC protocol on a second transaction set in a transaction pool of the consensus master node, wherein the second transaction set refers to the transaction set in the transaction pool of the consensus master node, which has not been executed by the consensus master node, and the consensus master node serially executes the RBC protocol and PBFT protocols.
9. A computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
Executing a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of a consensus master node, splitting the first transaction set into N data blocks corresponding to the consensus nodes of a blockchain by using an erasure coding algorithm, sequentially adding the N data blocks split by the first transaction set into the consensus execution queue of the consensus master node, transmitting corresponding data blocks to each consensus backup node of the blockchain based on an Rval message, enabling the consensus backup node to execute the RBC protocol, forwarding the corresponding data blocks received from the Rval message to other consensus backup nodes through an Echo message, and restoring the received data blocks to the first transaction set based on the erasure coding algorithm after receiving N-2f Echo messages, wherein the data blocks split by the first transaction set correspond to the merck certificates calculated based on the erasure coding algorithm, N is the number of the consensus nodes of the blockchain and f is the fault-tolerant node number of the consensus nodes of the blockchain;
After the RBC protocol is performed on the first transaction set, performing a practical bayer pattern PBFT protocol on the merck tree evidence of all data blocks of the first transaction set to initiate a consensus proposal for the merck tree evidence of all data blocks of the first transaction set, such that the consensus backup node responds to the consensus proposal based on the PBFT protocol to complete a consensus of the merck tree evidence of all data blocks of the first transaction set;
After the merkel tree evidence of all the data blocks of the first transaction set completes the consensus, matching the transaction corresponding to the merkel tree evidence reaching the consensus from the first transaction set to execute a block writing operation on the matched transaction, and if the blockchain does not switch the view, executing the RBC protocol on a second transaction set in a transaction pool of the consensus master node, wherein the second transaction set refers to the transaction set in the transaction pool of the consensus master node, which has not been executed by the consensus master node, and the consensus master node serially executes the RBC protocol and PBFT protocols.
10. A consensus node of a blockchain, comprising:
The receiving module is used for receiving data blocks corresponding to the consensus backup node transmitted when the consensus master node of the blockchain executes the RBC protocol, wherein the data blocks corresponding to the consensus backup node are obtained by the consensus master node executing reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node, splitting the first transaction set into N data blocks corresponding to the consensus node of the blockchain by using an erasure code algorithm, and then sequentially adding the N data blocks split into the N data blocks of the first transaction set into a consensus execution queue of the consensus master node and transmitting the N data blocks to the consensus backup node based on an Rval message;
The second RBC executing module executes the RBC protocol, forwards corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, restores the received data blocks to the first transaction set based on an erasure coding algorithm after receiving N-2f Echo messages, and restores the received data blocks to the first transaction set based on the erasure coding algorithm, wherein f is the fault tolerance number of the consensus nodes of the blockchain;
A second PBFT execution module that, after the consensus master node performs a utility bayer pattern PBFT protocol on the merck tree certificates for all data blocks of the first transaction set to initiate a consensus proposal for the merck tree certificates for all data blocks of the first transaction set, responds to the consensus proposal based on the PBFT protocol to complete a consensus for the merck tree certificates for all data blocks of the first transaction set;
The second writing block module is used for matching the transaction corresponding to the merck tree evidence achieving the consensus from the restored first transaction set after the merck tree evidence of all the data blocks of the first transaction set completes the consensus, so as to execute writing block operation on the matched transaction; after the merck tree of all the data blocks of the first transaction set proves that the consensus is completed, if the block chain does not switch the view, the consensus master node executes the RBC protocol on a second transaction set in a transaction pool of the consensus master node, wherein the second transaction set refers to a transaction set in the transaction pool of the consensus master node, which has not been executed by the consensus master node, and the consensus master node serially executes the RBC protocol and the PBFT protocol.
11. An electronic device includes: a memory, a processor, and a computer program stored on the memory and executable on the processor, the computer program being executed by the processor:
Receiving data blocks corresponding to a consensus backup node sent by a consensus master node of a blockchain when executing an RBC protocol, wherein the data blocks corresponding to the consensus backup node are obtained by the consensus master node executing a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node, splitting the first transaction set into N data blocks corresponding to the consensus node of the blockchain by using an erasure coding algorithm, adding the N data blocks split by the first transaction set into a consensus execution queue of the consensus master node in sequence, and sending the N data blocks to the consensus backup node based on an Rval message;
executing the RBC protocol, forwarding corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, broadcasting Ready messages to the blockchain after receiving N-f Echo messages, and restoring the received data blocks into the first transaction set based on the erasure coding algorithm after receiving 2f+1 Ready messages, wherein f is the fault tolerance number of the consensus nodes of the blockchain;
After the consensus master node performs a utility bye-salon PBFT protocol on the merck tree certificates for all data blocks of the first transaction set to initiate a consensus proposal for the merck tree certificates for all data blocks of the first transaction set, responding to the consensus proposal based on the PBFT protocol to complete a consensus for the merck tree certificates for all data blocks of the first transaction set;
After the merck tree evidence of all the data blocks of the first transaction set completes consensus, matching the transaction corresponding to the merck tree evidence achieving the consensus from the restored first transaction set so as to execute block writing operation on the matched transaction; after the merck tree of all the data blocks of the first transaction set proves that the consensus is completed, if the block chain does not switch the view, the consensus master node executes the RBC protocol on a second transaction set in a transaction pool of the consensus master node, wherein the second transaction set refers to a transaction set in the transaction pool of the consensus master node, which has not been executed by the consensus master node, and the consensus master node serially executes the RBC protocol and the PBFT protocol.
12. A computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
Receiving data blocks corresponding to a consensus backup node sent by a consensus master node of a blockchain when executing an RBC protocol, wherein the data blocks corresponding to the consensus backup node are obtained by the consensus master node executing a reliable broadcast transmission RBC protocol on a first transaction set in a transaction pool of the consensus master node, splitting the first transaction set into N data blocks corresponding to the consensus node of the blockchain by using an erasure coding algorithm, adding the N data blocks split by the first transaction set into a consensus execution queue of the consensus master node in sequence, and sending the N data blocks to the consensus backup node based on an Rval message;
executing the RBC protocol, forwarding corresponding data blocks received from Rval messages to other consensus backup nodes through Echo messages, broadcasting Ready messages to the blockchain after receiving N-f Echo messages, and restoring the received data blocks into the first transaction set based on the erasure coding algorithm after receiving 2f+1 Ready messages, wherein f is the fault tolerance number of the consensus nodes of the blockchain;
After the consensus master node performs a utility bye-salon PBFT protocol on the merck tree certificates for all data blocks of the first transaction set to initiate a consensus proposal for the merck tree certificates for all data blocks of the first transaction set, responding to the consensus proposal based on the PBFT protocol to complete a consensus for the merck tree certificates for all data blocks of the first transaction set;
After the merck tree evidence of all the data blocks of the first transaction set completes consensus, matching the transaction corresponding to the merck tree evidence achieving the consensus from the restored first transaction set so as to execute block writing operation on the matched transaction; after the merck tree of all the data blocks of the first transaction set proves that the consensus is completed, if the block chain does not switch the view, the consensus master node executes the RBC protocol on a second transaction set in a transaction pool of the consensus master node, wherein the second transaction set refers to a transaction set in the transaction pool of the consensus master node, which has not been executed by the consensus master node, and the consensus master node serially executes the RBC protocol and the PBFT protocol.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111124498.9A CN113849564B (en) | 2021-09-24 | 2021-09-24 | Block chain consensus method, consensus node and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111124498.9A CN113849564B (en) | 2021-09-24 | 2021-09-24 | Block chain consensus method, consensus node and electronic equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113849564A CN113849564A (en) | 2021-12-28 |
CN113849564B true CN113849564B (en) | 2024-05-28 |
Family
ID=78979764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111124498.9A Active CN113849564B (en) | 2021-09-24 | 2021-09-24 | Block chain consensus method, consensus node and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113849564B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115208881B (en) * | 2022-06-02 | 2024-03-26 | 哈尔滨工业大学(深圳) | Block chain consensus method, equipment and storage medium |
CN117478304B (en) * | 2023-12-28 | 2024-03-01 | 湖南天河国云科技有限公司 | Block chain management method, system and computer equipment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109379397A (en) * | 2018-08-31 | 2019-02-22 | 阿里巴巴集团控股有限公司 | Transaction common recognition processing method and processing device, electronic equipment based on block chain |
KR20190068799A (en) * | 2017-12-11 | 2019-06-19 | 한국전자통신연구원 | Method and apparatus for performing hierarchically agreement based on service zone |
CN111526217A (en) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | Consensus method and system in block chain |
US10873456B1 (en) * | 2019-05-07 | 2020-12-22 | LedgerDomain, LLC | Neural network classifiers for block chain data structures |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10204341B2 (en) * | 2016-05-24 | 2019-02-12 | Mastercard International Incorporated | Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees |
AU2018430192A1 (en) * | 2018-06-25 | 2021-01-07 | Redbelly Blockchain Holdings Pty Ltd | Blockchain system and method |
-
2021
- 2021-09-24 CN CN202111124498.9A patent/CN113849564B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190068799A (en) * | 2017-12-11 | 2019-06-19 | 한국전자통신연구원 | Method and apparatus for performing hierarchically agreement based on service zone |
CN109379397A (en) * | 2018-08-31 | 2019-02-22 | 阿里巴巴集团控股有限公司 | Transaction common recognition processing method and processing device, electronic equipment based on block chain |
US10873456B1 (en) * | 2019-05-07 | 2020-12-22 | LedgerDomain, LLC | Neural network classifiers for block chain data structures |
CN111526217A (en) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | Consensus method and system in block chain |
Also Published As
Publication number | Publication date |
---|---|
CN113849564A (en) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111526219B (en) | Alliance chain consensus method and alliance chain system | |
EP3934162B1 (en) | Blockchain consensus method and device and electronic equipment | |
CN113849564B (en) | Block chain consensus method, consensus node and electronic equipment | |
CN113852691B (en) | Block chain consensus method, consensus node and electronic equipment | |
CN111475576A (en) | Block chain based distributed database storage method and system | |
CN109783014B (en) | Data storage method and device | |
CN111130879B (en) | PBFT algorithm-based cluster exception recovery method | |
CN113873030A (en) | Block chain consensus method, consensus node and electronic equipment | |
CN112835743A (en) | Distributed account book data storage optimization method and device, electronic equipment and medium | |
CN114900532B (en) | Power data disaster recovery method, system, device, computer equipment and storage medium | |
CN111522696B (en) | Downtime processing method, data persistence method and hardware of block chain common identification node | |
WO2023045533A1 (en) | Consensus on blockchain | |
CN112182113B (en) | Block chain consensus method, system, electronic equipment and storage medium | |
CN113157450A (en) | Method and apparatus for performing blocks in a blockchain system | |
CN113872961B (en) | Block chain consensus method, consensus node and electronic equipment | |
CN116232893A (en) | Consensus method and device of distributed system, electronic equipment and storage medium | |
CN113760519B (en) | Distributed transaction processing method, device, system and electronic equipment | |
CN109144773A (en) | The method, device and equipment of data backup | |
CN114385761B (en) | Consensus data storage and acquisition method and device based on consensus system | |
CN118445354A (en) | Block chain consensus method, device, computer equipment, medium and product | |
WO2023221772A1 (en) | Data processing method based on block chain network and related product | |
CN114564335B (en) | Local repairable code redundancy conversion method based on stripe combination and storage medium | |
CN112988461B (en) | Data backup method, edge node, data center and computer storage medium | |
CN112860488B (en) | Object recovery method and device, electronic equipment and storage medium | |
CN118012960A (en) | Data synchronization method and device |
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 |