WO2023045533A1 - Consensus sur chaîne de blocs - Google Patents

Consensus sur chaîne de blocs Download PDF

Info

Publication number
WO2023045533A1
WO2023045533A1 PCT/CN2022/107791 CN2022107791W WO2023045533A1 WO 2023045533 A1 WO2023045533 A1 WO 2023045533A1 CN 2022107791 W CN2022107791 W CN 2022107791W WO 2023045533 A1 WO2023045533 A1 WO 2023045533A1
Authority
WO
WIPO (PCT)
Prior art keywords
consensus
data
tendermintbft
protocol
node
Prior art date
Application number
PCT/CN2022/107791
Other languages
English (en)
Chinese (zh)
Inventor
李帅
Original Assignee
蚂蚁区块链科技(上海)有限公司
支付宝(杭州)信息技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 蚂蚁区块链科技(上海)有限公司, 支付宝(杭州)信息技术有限公司 filed Critical 蚂蚁区块链科技(上海)有限公司
Publication of WO2023045533A1 publication Critical patent/WO2023045533A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Definitions

  • This document belongs to the field of blockchain technology, and in particular relates to a blockchain consensus method, system, nodes and electronic equipment.
  • TendermintBFT is one of the commonly used Byzantine fault-tolerant protocols.
  • the consensus master node needs to send the proposed data (transaction set) to the consensus backup node.
  • the consensus master node needs to send redundant proposed data. Redundant proposal data will cause the consensus stage to occupy too much network bandwidth and storage space of the consensus master node.
  • the purpose of the embodiments of this specification is to provide a blockchain consensus method, system, nodes and electronic equipment, which can reduce the overhead of network bandwidth and storage space during the consensus process of the TendermintBFT protocol.
  • a blockchain consensus method including: when the consensus master node of the blockchain initiates the current round of consensus, based on the erasure code algorithm, the proposed data of the current round of consensus is split into The data block corresponding to the consensus backup node of the chain, wherein, the blockchain uses the TendermintBFT Byzantine protocol for consensus; the consensus master node splits the proposed data into The data block is sent to the corresponding consensus backup node in the blockchain; the consensus backup node that receives the data block performs erasure code verification on the data block provided by the consensus master node, so that it can be verified in the Pre In the -vote stage, broadcast the data block with successful erasure code verification to other consensus backup nodes through the pre-vote message; the consensus backup node will obtain at least N-2f pre-vote messages based on the erasure code algorithm The data block is restored back to the proposed data, so that in the Pre-commit phase of the TendermintBFT protocol, the consensus logic of the Tender
  • a blockchain system including: a consensus master node and a consensus backup node; wherein: the consensus master node splits the proposed data of the current round of consensus based on an erasure code algorithm when the current round of consensus is initiated into a data block corresponding to the consensus backup node of the block chain, wherein the block chain uses the TendermintBFT Byzantine protocol for consensus; the consensus master node passes the Propose message to the The data block divided into the proposed data is sent to the corresponding consensus backup node in the blockchain; the consensus backup node that receives the data block performs erasure code verification on the data block provided by the consensus master node, so as to In the Pre-vote stage of the TendermintBFT protocol, the data block whose erasure code verification is successful is broadcast to other consensus backup nodes through the pre-vote message; the consensus backup node will obtain at least N- The data blocks in the 2f pre-vote messages are restored to the proposed data, so that in the Pre-com
  • a blockchain node including: an erasure code module.
  • an erasure code module When the current round of consensus is initiated, if the blockchain node to which it belongs is the consensus master node, the proposal of this round of consensus will be converted based on the erasure code algorithm.
  • the data is split into data blocks corresponding to the consensus backup nodes of the blockchain, wherein the blockchain adopts the TendermintBFT Byzantine protocol for consensus;
  • the sending module if the blockchain node it belongs to is the consensus master node, In the Propose phase of the TendermintBFT protocol, the proposed data is split into data blocks and sent to the corresponding consensus backup node in the blockchain through the Propose message;
  • the verification module if the blockchain node it belongs to is a consensus backup node , the erasure code verification is performed on the data block provided by the consensus master node, so that in the Pre-vote stage of the TendermintBFT protocol, the data block whose erasure code verification succeeds is broadcast to other consensuses through the pre-vote message backup node; restore module, if the block chain node to which it belongs is a consensus backup node, based on the erasure code algorithm, restore the data blocks in the pre-vote messages obtained at least N-2f back to the proposed data,
  • an electronic device including: a memory, a processor, and a computer program stored on the memory and operable on the processor, the computer program being executed by the processor: in this round of consensus
  • the proposed data of the current round of consensus will be split into data blocks corresponding to the consensus backup nodes of the blockchain based on the erasure code algorithm, wherein the blockchain adopts TendermintBFT Byzantine protocol for consensus; if it is used as a consensus backup node, then in the Propose phase of the TendermintBFT protocol, the proposed data is split into data blocks and sent to the corresponding consensus backup node in the blockchain through the Propose message; If it is used as a consensus backup node, it will perform erasure code verification on the data blocks provided by the consensus master node, so that in the Pre-vote stage of the TendermintBFT protocol, the data that has been successfully verified by the erasure code through the pre-vote
  • a computer-readable storage medium is provided.
  • a computer program is stored on the computer-readable storage medium.
  • the computer program is executed by a processor, the following steps are implemented: when the current round of consensus is initiated, if the consensus When the master node, based on the erasure code algorithm, the proposed data of this round of consensus is split into data blocks corresponding to the consensus backup nodes of the blockchain, wherein the blockchain adopts the TendermintBFT Byzantine protocol for consensus; If it is used as a consensus backup node, in the Propose phase of the TendermintBFT protocol, the proposed data will be split into data blocks and sent to the corresponding consensus backup node in the blockchain through the Propose message; if it is used as a consensus backup node, Then perform erasure code verification on the data blocks provided by the consensus master node, so that in the Pre-vote stage of the TendermintBFT protocol, the data blocks with successful erasure code verification are broadcast to other consensus backups through the pre-vote message No
  • the consensus master node of the blockchain executes the consensus of TendermintBFT, it uses the erasure code algorithm to split the proposed data into data blocks corresponding to the consensus backup nodes, and the split data The block is sent to the corresponding consensus backup node.
  • the consensus backup node performs erasure code verification on the data blocks provided by the consensus master node based on the erasure code technology, and forwards the data block to other consensus backup nodes after the verification is successful, so that each consensus backup node of the blockchain After obtaining a certain number of data blocks, the obtained data blocks can be restored back to the proposed data through the erasure code algorithm to perform consensus logic on the proposed data.
  • the consensus master node only needs to send the corresponding data blocks to the consensus backup nodes, and the consensus backup nodes forward their respective data blocks to each other, so as to share the transmission of the proposed data, with a smaller network bandwidth and storage space Overhead, to achieve fault tolerance for transmitting proposed data.
  • Fig. 1 is a schematic flow chart of the blockchain consensus method provided by the embodiment of this specification.
  • Fig. 2 is a schematic structural diagram of the blockchain system provided by the embodiment of this specification.
  • Fig. 3 is a schematic structural diagram of a blockchain node provided by an embodiment of this specification.
  • FIG. 4 is a schematic structural diagram of an electronic device provided by an embodiment of this specification.
  • this document aims to provide an optimization scheme for the TendermintBFT protocol, which can effectively reduce the network bandwidth and storage space occupied by the consensus master node for transmitting proposed data during the consensus process.
  • Fig. 1 is a flow chart of the consensus method of the block chain in the embodiment of this specification. The method shown in FIG. 1 may be executed by corresponding devices below, and includes the following steps.
  • the consensus master node of the blockchain splits the proposed data of the current round of consensus into data blocks corresponding to the consensus backup nodes of the blockchain based on the erasure code algorithm.
  • the variable "k” represents the value of the original data or symbol.
  • the variable "m” represents the value of the extra or redundant symbols added after the failure to provide protection.
  • the variable "n” represents the total value of symbols created after the erasure coding process. For example, in an EC 10/16 configuration, 6 additional symbols (variable m) are added to the 10 original symbols (variable k).
  • the erasure code technology is used to split the proposed data to be consensus into data blocks corresponding to the consensus backup nodes, which are subsequently stored by the consensus backup nodes.
  • the consensus master node sends the data blocks into which the proposed data is split to the corresponding consensus backup node in the blockchain through the Propose message.
  • the consensus master node will send a full amount of redundant proposal data to each consensus backup node through the Propose message. In this step, only the corresponding data block is sent to the consensus backup node through the erasure code algorithm, which can effectively reduce the transmission overhead of the consensus master node.
  • the multiple data blocks into which the proposed data is split can correspond to the consensus backup nodes of the blockchain; or, the number of multiple data blocks into which the proposed data is split is smaller than the consensus backup nodes of the blockchain.
  • the number of nodes, a consensus backup node corresponds to at most one data block. Therefore, in this step, the consensus master node can but not necessarily send data blocks to each consensus backup node of the blockchain, which depends on the algorithm settings of the erasure code.
  • the consensus backup node that receives the data block performs erasure code verification on the data block provided by the consensus master node, so as to verify the successful erasure code of the data block through the pre-vote message in the Pre-vote stage of the TendermintBFT protocol Broadcast to other consensus backup nodes.
  • the data blocks into which the proposed data is split correspond to the Merkle tree path information obtained based on the erasure code algorithm.
  • the consensus master node also sends the Merkle tree path information matched by the data blocks that the proposed data is split into to the corresponding consensus backup node in the blockchain through the Propose message.
  • the consensus backup node that receives the data block reconstructs the Merkle tree on the data block provided by the consensus master node based on the erasure code algorithm. If the Merkle tree path information provided by the consensus node matches the reconstructed Merkle tree , the erasure code verification succeeds, otherwise the erasure code verification fails.
  • the consensus backup node if the proposed data of this round of consensus has been initiated in the previous round of consensus, it means that the consensus backup node has already cached the proposed data when executing the previous round of consensus. At this time, this step can directly Based on the cached proposed data consensus, the data blocks provided by the master node perform faster matching verification instead of erasure code verification. If the proposed data of this round of consensus has not been initiated in the previous round of consensus, the consensus backup node that receives the data block will perform erasure code verification on the data block provided by the consensus master node.
  • the consensus backup node restores the data blocks in the pre-vote messages obtained at least N-2f back to the proposed data, so as to restore the proposed data in the Pre-commit phase of the TendermintBFT protocol
  • the data executes the consensus logic of the TendermintBFT protocol to complete this round of consensus, where N is the number of consensus nodes in the blockchain, f is the fault-tolerant number of consensus nodes set by the TendermintBFT protocol, and N is greater than or equal to 3f+1.
  • N-2f is the minimum number of data blocks required to restore the proposed data.
  • the consensus backup node restores the mentioned data based on the erasure code algorithm, then in the Pre-vote stage, broadcast the Pre-commit message to other consensus nodes of the blockchain; The round of consensus generates N-f Pre-commit messages, and the proposed data reaches a consensus.
  • the consensus master node of the blockchain executes the TendermintBFT consensus, it uses the erasure code algorithm to split the proposed data into , and send the split data blocks to the corresponding consensus backup nodes.
  • the consensus backup node performs erasure code verification on the data blocks provided by the consensus master node based on the erasure code technology, and forwards the data block to other consensus backup nodes after the verification is successful, so that each consensus backup node of the blockchain After obtaining a certain number of data blocks, the obtained data blocks can be restored back to the proposed data through the erasure code algorithm to perform consensus logic on the proposed data.
  • the consensus master node only needs to send the corresponding data blocks to the consensus backup nodes, and the consensus backup nodes forward their respective data blocks to each other, so as to share the transmission of the proposed data, with a smaller network bandwidth and storage space Overhead, to achieve fault tolerance for transmitting proposed data.
  • the blockchain implements consensus based on the TendermintBFT protocol. Assuming that the number of consensus nodes in the blockchain is N, the number of fault-tolerant Byzantine consensus nodes is f, and N is greater than or equal to 3f+1.
  • the corresponding consensus process is as follows: the proposed node in the blockchain initializes the consensus height hp and other parameters according to the current consensus block height. For the current consensus height, initiate this round of consensus. Consensus includes the following stages.
  • Propose stage Each consensus node judges whether it is the consensus master node of this round of consensus according to the information consensus height hp and consensus round roundp initiated by this round of consensus.
  • verifying the information in the Propose message includes: performing erasure code verification based on si and bi.
  • Pre-vote stage If the Propose message passes the verification, broadcast the pre-vote message ⁇ Pre-vote, hp, roundp, r, bi, si> to other consensus backup nodes; if the Propose message fails the verification, broadcast the pre-vote message to other consensus backup nodes
  • the backup node broadcasts the pre-vote nil message ⁇ Pre-vote, hp, roundp, nil, nil, nil> message, where the pre-vote nil message is used to vote for empty blocks.
  • any consensus backup node when any consensus backup node receives N-F valid Pre-vote messages: use at least N-2f si in each Pre-vote message to perform erasure code calculation and restore the proposed data.
  • Pre-commit stage If any consensus node obtains valid proposal data, it broadcasts a Pre-commit message ⁇ Precommit, hp, roundp, r> to other consensus nodes; otherwise, it broadcasts a Pre-commit nil message.
  • the reason why the consensus backup node broadcasts the Pre-commit nil message may be that the consensus backup node has not collected N-F Pre-vote messages, or the consensus backup node has collected N-F Pre-vote messages, but through erasure code calculation Valid proposed data was not restored.
  • the proposed data when the current round of consensus generates N-f Pre-commit messages, the proposed data reaches a consensus.
  • the proposed data directly confirms that a failed consensus has been reached.
  • the method in the embodiment of this specification integrates data error-tolerant transmission based on erasure codes into the TendermintBFT protocol.
  • FIG. 2 is a structural diagram of a blockchain system 200 according to an embodiment of this specification, including: a consensus master node 210 and multiple consensus backup nodes 220 .
  • the consensus master node 210 when the consensus master node 210 initiates the current round of consensus, based on the erasure code algorithm, the proposal data of the current round of consensus is split into data blocks corresponding to the consensus backup node 220 of the blockchain, wherein the The block chain adopts the TendermintBFT Byzantine protocol for consensus; the consensus master node 210 sends the data blocks into which the proposed data is split to the corresponding block in the block chain through the Propose message in the Propose phase of the TendermintBFT protocol Consensus backup node 220; the consensus backup node 220 that receives the data block performs erasure code verification on the data block provided by the consensus master node 210, so that in the Pre-vote stage of the TendermintBFT protocol, the pre-vote message will The data block with successful erasure code verification is broadcast to other consensus backup nodes 220; the consensus backup node 220 restores the data blocks in the pre-vote messages obtained at least N-2f based on
  • the consensus master node 210 when executing the TendermintBFT consensus, uses an erasure code algorithm to split the proposed data into data blocks corresponding to the consensus backup node 220, and split the The data block is sent to the corresponding consensus backup node 220.
  • the consensus backup node 220 performs erasure code verification on the data block provided by the consensus master node 210 based on the erasure code technology, and forwards the data block to other consensus backup nodes 220 after the verification is successful, so that each block chain
  • the consensus backup node 220 can restore the obtained data blocks back to the proposed data through an erasure code algorithm, so as to execute consensus logic on the proposed data.
  • the consensus master node 210 only needs to send the corresponding data block to the consensus backup node 220, and the consensus backup nodes 220 forward their respective data blocks to each other, so as to share the transmission of the proposed data, with a small network bandwidth and storage space overhead to achieve fault tolerance for transmitting proposed data.
  • the consensus backup node 220 that receives the data block fails to verify the erasure code, it will broadcast a pre-vote nil message to other consensus nodes during the Pre-vote phase of the TendermintBFT protocol, and the pre-vote nil Messages are used to vote for empty blocks.
  • the consensus backup node 220 restores the obtained data block in the pre-vote message back to the mentioned data based on the erasure code algorithm, including: consensus backup After the node 220 obtains at least N-f Prevote messages including those provided by itself, based on the erasure code algorithm, the data in the obtained Prevote messages are quickly restored to the proposed data.
  • the consensus backup node 220 executes the consensus logic of the TendermintBFT protocol on the restored proposed data in the Pre-vote phase of the TendermintBFT protocol, including: if the consensus backup node 220 is based on the erasure code algorithm To restore the mentioned data, broadcast Pre-commit messages to other consensus nodes of the blockchain during the Pre-vote phase of the TendermintBFT protocol; wherein, when the current round of consensus generates N-f Pre-commit messages, then The proposed data reaches a consensus of adoption.
  • the consensus backup node 220 fails to restore the mentioned data, then in the Pre-vote phase of the TendermintBFT protocol, broadcast a Pre-commit nil message to other consensus nodes of the blockchain; wherein, When the current round of consensus generates f Pre-commit nil messages, the proposed data directly confirms that a failed consensus has been reached.
  • the data block into which the proposed data is split corresponds to the Merkle tree path information obtained based on the erasure code algorithm, and the consensus master node 210 also splits the proposed data into The Merkle tree path information matched by the data block is sent to the corresponding consensus backup node 220 in the blockchain; the consensus backup node 220 that receives the data block performs erasure on the data block provided by the consensus master node 210 Code verification, including: the consensus backup node 220 that receives the data block performs Merkel tree reconstruction on the data block provided by the consensus master node 210 based on the erasure code algorithm, if the Merkle tree provided by the consensus node If the path information matches the reconstructed Merkle tree, the erasure code verification succeeds, otherwise the erasure code verification fails.
  • the consensus backup node 220 that receives the data block performs erasure code verification on the data block provided by the consensus master node 210, including: if the proposed data is not initiated in the previous round of consensus, then receiving The consensus backup node 220 of the data block performs erasure code verification on the data block provided by the consensus master node 210; Data blocks are checked for matching instead of erasure code checking.
  • FIG. 3 is a structural diagram of a block chain node 300 in the embodiment of this specification, including: an erasure code module 310.
  • the erasure code algorithm will The proposed data of this round of consensus is split into data blocks corresponding to the consensus backup nodes of the blockchain, wherein the blockchain uses the TendermintBFT Byzantine protocol for consensus; the sending module 320, if the blockchain node it belongs to is When the consensus master node is in the Propose stage of the TendermintBFT protocol, the proposed data is split into data blocks and sent to the corresponding consensus backup node in the block chain through the Propose message; When the block chain node is a consensus backup node, the erasure code verification is performed on the data block provided by the consensus master node, so that in the Pre-vote stage of the Tender
  • the blockchain node in the embodiment of this specification can be the consensus master node or the consensus backup node in the consensus method shown in Figure 1, so it can realize the functions realized by the consensus method in Figure 1. Since the principle is the same, this article will not repeat them.
  • Fig. 4 is a schematic structural diagram of an electronic device according to an embodiment of the present specification.
  • the electronic device includes a processor, and optionally also includes an internal bus, a network interface, and a memory.
  • the memory may include a memory, such as a high-speed random-access memory (Random-Access Memory, RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
  • RAM random-Access Memory
  • non-volatile memory such as at least one disk memory.
  • the electronic device may also include hardware required by other services.
  • the processor, the network interface and the memory can be connected to each other through an internal bus, which can be an ISA (Industry Standard Architecture, industry standard architecture) bus, a PCI (Peripheral Component Interconnect, peripheral component interconnection standard) bus or an EISA (Extended Industry Standard Architecture, extended industry standard architecture) bus, etc.
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one double-headed arrow is used in FIG. 4 , but it does not mean that there is only one bus or one type of bus.
  • Memory for storing programs.
  • the program may include program code, and the program code includes computer operation instructions.
  • Storage which can include internal memory and nonvolatile storage, provides instructions and data to the processor.
  • the processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to form a consensus device on the logical level.
  • the consensus device can be the consensus master node or the consensus backup node of the above-mentioned blockchain system, or it can It is a component in the consensus master node or consensus backup node of the blockchain system.
  • the processor executes the program stored in the memory, and is specifically used to perform the following operations: when the current round of consensus is initiated, if it is used as the consensus master node, based on the erasure code algorithm, the proposed data of the current round of consensus is split into The data block corresponding to the consensus backup node of the blockchain, wherein, the blockchain adopts the TendermintBFT Byzantine protocol for consensus; if it is used as a consensus backup node, in the Propose stage of the TendermintBFT protocol, the Propose message will pass the The data block into which the proposed data is split is sent to the corresponding consensus backup node in the block chain; if it is used as a consensus backup node, the data block provided by the consensus master node is verified by erasure code to In the Pre-vote stage of the TendermintBFT protocol, the data blocks whose erasure code verification is successful are broadcast to other consensus backup nodes through the pre-vote message; if used as a consensus backup node, based on
  • a processor may be an integrated circuit chip with signal processing capabilities.
  • each step of the above method can be completed by an integrated logic circuit of hardware in a processor or an instruction in the form of software.
  • the above-mentioned processor can be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU), a network processor (Network Processor, NP), etc.; it can also be a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), field programmable gate array (Field-Programmable GateArray, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable GateArray
  • a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
  • the steps of the method disclosed in the embodiments of this specification may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware.
  • the electronic equipment in this specification does not exclude other implementations, such as logic devices or the combination of software and hardware, etc., that is to say, the execution subject of the following processing flow is not limited to each logic unit, It can also be a hardware or logic device.
  • the embodiment of this specification also proposes a computer-readable storage medium, where the computer-readable storage medium stores one or more programs, and the one or more programs include instructions.
  • the electronic device executes, it can make the portable electronic device execute the method of the embodiment shown in Figure 1, and is specifically used to perform the following method: when the current round of consensus is initiated, if it is used as the consensus master node, based on the erasure code algorithm, the The proposed data of this round of consensus is split into data blocks corresponding to the consensus backup nodes of the blockchain, wherein the blockchain adopts the TendermintBFT Byzantine protocol for consensus; In the Propose phase of the protocol, the proposed data is split into data blocks and sent to the corresponding consensus backup node in the blockchain through the Propose message; if it is used as a consensus backup node, the data blocks provided by the consensus master node Perform erasure code verification, so that in the Pre-vote stage of the TendermintBFT protocol, broadcast the data block with successful erasure code verification to other consensus backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Les modes de réalisation de la présente description concernent un procédé de consensus pour une chaîne de blocs, ainsi qu'un système, un nœud et un dispositif électronique. Le procédé comprend les étapes suivantes : lorsque le présent cycle de consensus est lancé, un nœud maître de consensus divise, sur la base d'un algorithme de codage d'effacement, des données de proposition du présent cycle de consensus en blocs de données correspondant à des nœuds de sauvegarde de consensus, une chaîne de blocs effectuant un consensus au moyen d'un protocole TendermintBFT ; le nœud maître de consensus envoie, dans une étape de proposition, les blocs de données divisés aux nœuds de sauvegarde de consensus correspondants au moyen de messages de proposition ; les nœuds de sauvegarde de consensus qui reçoivent les blocs de données effectuent une vérification de codage d'effacement sur les blocs de données fournis par le nœud maître de consensus, de manière à diffuser, vers les autres nœuds de sauvegarde de consensus, dans une étape de pré-vote et au moyen de messages de pré-vote, les blocs de données, dont la vérification de codage d'effacement est réussie ; et les nœuds de sauvegarde de consensus rétablissent les blocs de données dans au moins N-2f messages de pré-vote obtenus en données de proposition sur la base de l'algorithme de codage d'effacement, de manière à exécuter, dans une étape de pré-engagement, une logique de consensus sur les données de proposition rétablies, ce qui permet d'achever le consensus, N étant le nombre de nœuds de consensus de la chaîne de blocs, f étant le nombre de défauts tolérables des nœuds de consensus et N étant supérieur ou égal à 3f+1.
PCT/CN2022/107791 2021-09-24 2022-07-26 Consensus sur chaîne de blocs WO2023045533A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111124489.XA CN113761069A (zh) 2021-09-24 2021-09-24 一种区块链的共识方法、系统、节点及电子设备
CN202111124489.X 2021-09-24

Publications (1)

Publication Number Publication Date
WO2023045533A1 true WO2023045533A1 (fr) 2023-03-30

Family

ID=78797332

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/107791 WO2023045533A1 (fr) 2021-09-24 2022-07-26 Consensus sur chaîne de blocs

Country Status (2)

Country Link
CN (1) CN113761069A (fr)
WO (1) WO2023045533A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761069A (zh) * 2021-09-24 2021-12-07 支付宝(杭州)信息技术有限公司 一种区块链的共识方法、系统、节点及电子设备
CN114710512B (zh) * 2022-03-30 2023-09-29 蚂蚁区块链科技(上海)有限公司 共识结果的分发方法、节点和区块链系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109345386A (zh) * 2018-08-31 2019-02-15 阿里巴巴集团控股有限公司 基于区块链的交易共识处理方法及装置、电子设备
CN109379397A (zh) * 2018-08-31 2019-02-22 阿里巴巴集团控股有限公司 基于区块链的交易共识处理方法及装置、电子设备
CN111526217A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种区块链中的共识方法和系统
CN111526219A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种联盟链的共识方法及联盟链系统
CN113761069A (zh) * 2021-09-24 2021-12-07 支付宝(杭州)信息技术有限公司 一种区块链的共识方法、系统、节点及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109345386A (zh) * 2018-08-31 2019-02-15 阿里巴巴集团控股有限公司 基于区块链的交易共识处理方法及装置、电子设备
CN109379397A (zh) * 2018-08-31 2019-02-22 阿里巴巴集团控股有限公司 基于区块链的交易共识处理方法及装置、电子设备
CN111526217A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种区块链中的共识方法和系统
CN111526219A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种联盟链的共识方法及联盟链系统
CN113761069A (zh) * 2021-09-24 2021-12-07 支付宝(杭州)信息技术有限公司 一种区块链的共识方法、系统、节点及电子设备

Also Published As

Publication number Publication date
CN113761069A (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
CN111526219B (zh) 一种联盟链的共识方法及联盟链系统
WO2023045533A1 (fr) Consensus sur chaîne de blocs
TWI698767B (zh) 基於區塊鏈的交易共識處理方法及裝置、電子設備
US11327840B1 (en) Multi-stage data recovery in a distributed storage network
US9710346B2 (en) Decoupled reliability groups
WO2020151323A1 (fr) Procédé de stockage de données basé sur une mise en tranches de données, dispositif et support
CN106776130B (zh) 一种日志恢复方法、存储装置和存储节点
CN109783014B (zh) 一种存储数据的方法及装置
US20030066010A1 (en) Xor processing incorporating error correction code data protection
US11366932B2 (en) Consensus method and data verification method, apparatus, and system of consortium blockchain
US7836387B1 (en) System and method for protecting data across protection domain boundaries
EP3934163A1 (fr) Procédés et n uds de consensus pour la génération de blocs
CN114584312B (zh) 一种共识方法、区块链系统和共识节点
CN113849564B (zh) 一种区块链的共识方法、共识节点及电子设备
CN113852691A (zh) 一种区块链的共识方法、共识节点及电子设备
CN113326006A (zh) 一种基于纠删码的分布式块存储系统
CN113873030A (zh) 一种区块链的共识方法、共识节点及电子设备
CN112835743A (zh) 分布式账本数据存储优化方法、装置、电子设备及介质
WO2023056967A1 (fr) Procédé de consensus, système de chaîne de blocs et nœuds de consensus
CN111782152A (zh) 数据存储方法、数据恢复方法、装置、服务器及存储介质
CN111090540A (zh) 基于纠删码的数据处理方法与装置
CN112543920B (zh) 数据重构的方法、装置、计算机设备、存储介质及系统
CN110442601B (zh) 一种Openstack镜像数据并行加速的方法和装置
WO2021190031A1 (fr) Procédé, appareil et système de transmission de données à base de wdm, et support d'enregistrement
CN111522696B (zh) 区块链共识节点的宕机处理方法、数据持久化方法及硬件

Legal Events

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

Ref document number: 22871592

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE