Block chain atom broadcasting method and device for large-scale deployment scene

By judging node committee members, determining leaders and sending proposals and confirmation messages in the blockchain system, performance problems in large-scale deployment scenarios are solved, efficient consensus protocols are achieved, and node scale and performance are improved.

CN120378103APending Publication Date: 2025-07-25TSINGHUA UNIVERSITY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410091959.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-23
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

In the large-scale deployment scenarios of existing technology, blockchain broadcasting solutions have performance problems, resulting in unavailability of consensus protocols and lack of effective improvement solutions.

Method used

The blockchain atomic broadcast method for large-scale deployment scenarios is adopted to achieve digital signature consistency and reach consensus by judging node committee members, determining leader nodes, sending proposals and confirming messages.

Benefits of technology

It improves the blockchain performance of large-scale deployment scenarios, improves the node scale that consensus can be deployed, and realizes a strongly ductile atomic broadcast protocol.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120378103A_ABST
    Figure CN120378103A_ABST
Patent Text Reader

Abstract

The invention discloses a block chain atom broadcasting method and device for a large-scale deployment scene, and the method comprises the steps: judging whether each node is a member of each committee or not at the beginning of each broadcasting stage; determining a leader node from all the nodes; the leader node sends proposal messages to all the nodes; for each node belonging to the members of the second committee, if the node receives the proposal message and meets a preparation condition, broadcasting a preparation message to all nodes; for each node belonging to the members of the third committee, according to a preparation message received by the node, judging whether the node meets the condition that the first digital signature is consistent, and if so, broadcasting a confirmation message to all the nodes; and for each node, according to a confirmation message received by the node, judging whether the node meets the consistency of the second digital signature, if so, obtaining a proposal, and reaching a consensus for the proposal. The performance of large-scale scene deployment can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of blockchain technology, and in particular, to a blockchain atomic broadcast method and device for large-scale deployment scenarios. Background Art

[0002] This section aims to provide background or context for the embodiments of the present invention described in the claims. The description herein is not admitted to be prior art merely because it is included in this section.

[0003] In the current blockchain, especially the classic Byzantine consensus protocol BFT (broadcast protocol) used in consortium blockchains, usually can be extended to hundreds of nodes, and obvious performance problems often occur in large-scale deployment scenarios, resulting in unavailability. The consensus protocols such as Proof-of-Stake used in public blockchains can be extended to hundreds of thousands of nodes, but various attacks have been successively discovered and their security needs to be verified.

[0004] Currently, there is a lack of a blockchain broadcast scheme for large-scale deployment scenarios to improve the performance of large-scale deployment scenarios, thereby increasing the scale of nodes that blockchain consensus can deploy. Summary of the Invention

[0005] Embodiments of the present invention provide a blockchain atomic broadcast method for large-scale deployment scenarios, which is applied to a distributed system on a blockchain. Each broadcast stage corresponds to multiple nodes in the distributed system to improve the performance of large-scale deployment scenarios, thereby increasing the scale of nodes that blockchain consensus can deploy. The method includes:

[0006] At the beginning of each broadcast stage, determine whether each node is a member of each committee, where the committee includes a first committee, a second committee, and a third committee;

[0007] Determine a leader node from all nodes;

[0008] The leader node sends a proposal message to all nodes;

[0009] For each node that is a member of the second committee, if the node receives the proposal message sent by the leader node and the proposal message meets the preparation condition, broadcast a preparation message to all nodes;

[0010] For each node that is a member of the third committee, according to the preparation message received by the node, determine whether the node meets the first digital signature consistency. If so, update the locked certificate stored locally by the node and broadcast a confirmation message to all nodes;

[0011] For each node, based on the confirmation message received by the node, determine whether the node satisfies the consistency of the second digital signature. If so, obtain the proposal according to the second digital signature and reach a consensus on the proposal.

[0012] An embodiment of the present invention further provides a blockchain atomic broadcast device for a large-scale deployment scenario, which is applied to a distributed system on a blockchain. Each broadcast stage corresponds to multiple nodes in the distributed system to improve the performance of the large-scale deployment scenario, thereby enhancing the scale of nodes that can be deployed by the blockchain consensus. The device includes:

[0013] A committee member judgment module, configured to determine whether each node is a member of each committee at the beginning of each broadcast stage, where the committees include a first committee, a second committee, and a third committee;

[0014] A leader node determination module, configured to determine a leader node from all nodes;

[0015] A proposal message sending module, configured to send a proposal message from the leader node to all nodes;

[0016] A prepare message sending module, configured to, for each node belonging to the second committee, if the node receives the proposal message sent by the leader node and the proposal message meets the prepare condition, broadcast a prepare message to all nodes;

[0017] A confirmation message sending module, configured to, for each node belonging to the third committee, based on the prepare message received by the node, determine whether the node satisfies the consistency of the first digital signature. If so, update the locked certificate stored locally by the node and broadcast a confirmation message to all nodes;

[0018] A consensus module, configured to, for each node, based on the confirmation message received by the node, determine whether the node satisfies the consistency of the second digital signature. If so, obtain the proposal according to the second digital signature and reach a consensus on the proposal.

[0019] An embodiment of the present invention further provides a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, the above-mentioned blockchain atomic broadcast method for a large-scale deployment scenario is implemented.

[0020] An embodiment of the present invention further provides a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, the above-mentioned blockchain atomic broadcast method for a large-scale deployment scenario is implemented.

[0021] An embodiment of the present invention also provides a computer program product, which includes a computer program. When the computer program is executed by a processor, it implements the above-mentioned blockchain atomic broadcast method for large-scale deployment scenarios.

[0022] In an embodiment of the present invention, at the beginning of each broadcast stage, it is determined whether each node is a member of each committee. The committees include the first committee, the second committee, and the third committee; a leader node is determined from all nodes; the leader node sends a proposal message to all nodes; for each node that is a member of the second committee, if the node receives the proposal message sent by the leader node and the proposal message meets the preparation condition, it broadcasts a preparation message to all nodes; for each node that is a member of the third committee, according to the preparation message received by the node, it is determined whether the node meets the first digital signature consistency. If so, the locked certificate stored locally by the node is updated, and at the same time, an acknowledgment message is broadcast to all nodes; for each node, according to the acknowledgment message received by the node, it is determined whether the node meets the second digital signature consistency. If so, according to the second digital signature, the proposal is obtained and consensus is reached on the proposal. Through the above steps, in an embodiment of the present invention, there is a leader node in each broadcast stage, the leader broadcasts the proposal, and the nodes reach consensus on at most one proposal in each broadcast stage. The implemented blockchain atomic broadcast protocol is an atomic broadcast protocol with strong scalability, which can greatly improve the scale of nodes that the blockchain consensus can deploy. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings. In the drawings:

[0024] Figure 1 It is a flowchart of the blockchain atomic broadcast method for large-scale deployment scenarios in an embodiment of the present invention;

[0025] Figure 2 It is a schematic diagram of the blockchain atomic broadcast for large-scale deployment scenarios in an embodiment of the present invention;

[0026] Figure 3 It is a flowchart of determining whether each node is a member of each committee in an embodiment of the present invention;

[0027] Figure 4 It is a flowchart of the leader node sending a proposal message to all nodes in an embodiment of the present invention;

[0028] Figure 5Pseudocode for blockchain atomic broadcast for large-scale deployment scenarios in the embodiments of the present invention;

[0029] Figure 6 Schematic diagram of a blockchain atomic broadcast device for large-scale deployment scenarios in the embodiments of the present invention;

[0030] Figure 7 Schematic diagram of a computer device in the embodiments of the present invention. Detailed implementation manners

[0031] To make the objectives, technical solutions and advantages of the embodiments of the present invention clearer and more understandable, the embodiments of the present invention will be further described in detail below with reference to the accompanying drawings. Herein, the illustrative embodiments of the present invention and their descriptions are used to explain the present invention, but not to limit the present invention.

[0032] First, the definitions involved in this application are explained.

[0033] Atomic broadcast:

[0034] Each blockchain node will atomically broadcast a message. Assuming a synchronous environment, each time a blockchain node atomically broadcasts a message m. All correct blockchain nodes may atomically receive a certain message. A correct atomic broadcast protocol should comply with the following definitions.

[0035] Security: If a correct blockchain node receives message m and then receives message m', then it is impossible for any correct blockchain node to first atomically receive message m' and then atomically receive message m.

[0036] Liveness: If a correct blockchain node atomically broadcasts message m, then eventually all correct nodes will atomically receive m.

[0037] VRF: A pseudorandom function. Each blockchain node can generate a VRF signature for a certain message and consider the value output by this signature as a pseudorandom number.

[0038] First digital signature: Sign the message, with non-forgeability.

[0039] Hash function: Calculate the hash digest of the message, with non-collision property.

[0040] Figure 1 Flowchart of a blockchain atomic broadcast method for large-scale deployment scenarios in the embodiments of the present invention, including:

[0041] Step 101, at the start of each broadcast phase, determine whether each node is a member of each committee, where the committee includes a first committee, a second committee, and a third committee;

[0042] Step 102: Determine a leader node from all nodes;

[0043] Step 103: The leader node sends a proposal message to all nodes;

[0044] Step 104: For each node belonging to the members of the second committee, if the node receives the proposal message sent by the leader node and the proposal message meets the preparation condition, broadcast a preparation message to all nodes;

[0045] Step 105: For each node belonging to the members of the third committee, according to the preparation message received by the node, determine whether the node meets the first digital signature consistency. If so, update the locked certificate stored locally by the node and broadcast a confirmation message to all nodes at the same time;

[0046] Step 106: For each node, according to the confirmation message received by the node, determine whether the node meets the second digital signature consistency. If so, obtain the proposal according to the second digital signature and reach a consensus on the proposal.

[0047] Figure 2 This is the schematic diagram of blockchain atomic broadcast for large-scale deployment scenarios in the embodiments of the present invention. The following will introduce each step in detail.

[0048] In step 101, at the beginning of each broadcast phase epoch, determine whether each node is a member of each committee. The committee includes the first committee the second committee and the third committee

[0049] Among them, each node maintains the following variables stored locally:

[0050] le: The number of the current broadcast phase;

[0051] ce: The maximum broadcast phase number for which consensus has been completed;

[0052] lockedQC: Locked certificate.

[0053] See Figure 3 , to determine whether each node is a member of each committee, including:

[0054] Step 301: For each node, call the VRF function to sign the first content (ce, le, 1) to obtain a first signature value. When the first signature value is less than the preset threshold, determine that the node is a member of the first committee and store the first signature value locally at the node. The first content (c, le, 1) includes the number of the current broadcast phase le, the maximum broadcast phase number ce for which consensus has been completed, and the first committee identifier 1;

[0055] Step 302: For each node, call the VRF function to sign the second content (ce, le, 2) to obtain a second signature value. When the second signature value is less than a preset threshold, determine that the node is a member of the first committee and locally store the second signature value at the node. The second content (ce, le, 2) includes the number le of the current broadcast phase, the maximum broadcast phase number ce for which consensus has been completed, and the second committee identifier 2.

[0056] Step 303: For each node, call the VRF function to sign the third content (ce, le, 3) to obtain a third signature value. When the third signature value is less than a preset threshold, determine that the node is a member of the first committee and locally store the third signature value at the node. The third content (ce, le, 3) includes the number le of the current broadcast phase, the maximum broadcast phase number ce for which consensus has been completed, and the third committee identifier 3.

[0057] Among them, each committee has k nodes, and the number of faulty nodes is t. The scheme proposed in the embodiments of the present invention assumes that the VRF function ensures that the relationship k > 3t holds.

[0058] In step 102, a leader node is determined from all nodes, and the leader node is judged through the CheckLeader function. The CheckLeader function has multiple implementation methods, such as judging the current leader node Pl in the form of node id mod n for each epoch according to the node polling order.

[0059] In step 103, the leader node sends a proposal message to all nodes;

[0060] Participate Figure 4 , the leader node sends a proposal message to all nodes, corresponding to Figure 2 In the initial stage, it includes:

[0061] Step 401: Each node Pi that is a member of the first committee sends a status message to the leader node Pl; for the nodes that are members of the first committee send a status message to the leader node Pl, including information such as lockedQC.

[0062] Step 402: The leader node Pi determines the phase value qc_high according to the received status message and sends a proposal message (Propose, b, le, qc_high) to all nodes. The proposal message includes the phase value qc_high.

[0063] The proposal message also includes the number le of the current broadcast phase and the proposal b; the proposal message can be written as (Propose, b, le, qc_high), where Propose is an identifier; the proposal b is the proposal of the leader node Pl in the current broadcast phase e for atomic broadcast.

[0064] In one embodiment, the status message includes the number of the current broadcast phase stored locally by the node and the locked certificate, and the status message can be written as (new - view, le, lockedQC), where new - view is the identifier of the status message;

[0065] The method further includes:

[0066] When each node belonging to the members of the first committee sends a status message to the leader node, it simultaneously sends the first signature value stored locally by the node;

[0067] The leader node determines the phase value according to the received status message, including:

[0068] After the leader node receives status messages sent by the first preset number (t + 1) of nodes (the nodes sending status messages are all from the first committee ), for each status message, it verifies the legality of the locked certificate and the first signature value in the status message. After the legality verification passes, it determines that the status message is legal;

[0069] Determine the phase value qc_high as the highest value of the numbers of the broadcast phases in the locked certificates among all the legal status messages.

[0070] In step 104, for each node belonging to the members of the second committee , if the node receives the proposal message sent by the leader node and the proposal message meets the preparation condition, it broadcasts a prepare message to all nodes; this is the preparation phase;

[0071] The preparation condition is that the phase value qc_high in the proposal message is greater than the highest value of the numbers of the broadcast phases in the locked certificate lockedQC stored locally by the node;

[0072] The prepare message (Prepare, hash(b), le, σ i , i) of node Pi includes the number le of the current broadcast phase, the hash value hash(b) of the proposal b, the first digital signature σ i and the number i of the node; σ i is a digital signature of (1, hash(b), le).

[0073] In step 105, for each node belonging to the members of the third committee For each node of the members, according to the prepare messages received by the node Pi, determine whether the node satisfies the first digital signature consistency. If so, update the locked certificate stored locally by the node, and at the same time broadcast an acknowledgment message to all nodes; this is the acknowledgment phase;

[0074] The acknowledgment message (Commit, hash(b), le, σ i , i) includes the number le of the current broadcast phase, the hash value hash(b) of the proposal, the second digital signature m i and the number i of the node; m i is a digital signature of (2, hash(b), le), with Commit as the identifier;

[0075] Determining whether the node satisfies the first digital signature consistency according to the prepare messages received by the node includes:

[0076] If there are at least a second preset number (2t + 1) of prepare messages in the prepare messages received by the node that satisfy the first digital signature consistency, determine that the node satisfies the first digital signature consistency;

[0077] Among them, updating the locked certificate stored locally by the node includes:

[0078] Update the locked certificate stored locally by the node to the first digital signature that is consistent in at least a second preset number of prepare messages.

[0079] In step 106, for each node, according to the acknowledgment message received by the node, determine whether the node satisfies the second digital signature consistency. If so, obtain the proposal b according to the second digital signature and reach a consensus on the proposal b.

[0080] Determining whether the node satisfies the second digital signature consistency according to the acknowledgment message received by the node includes:

[0081] If there are at least a second preset number (2t + 1) of prepare messages in the acknowledgment message received by the node that satisfy the second digital signature consistency, determine that the node satisfies the second digital signature consistency.

[0082] In one embodiment, the method further includes:

[0083] At the beginning of each broadcast phase, each node starts a timer. If a consensus on the proposal is not reached before the timer times out, enter the next broadcast phase.

[0084] Figure 5 This is the pseudocode of the blockchain atomic broadcast for large-scale deployment scenarios in the embodiments of the present invention, corresponding to the foregoing steps.

[0085] An embodiment of the present invention also provides a blockchain atomic broadcast device for large-scale deployment scenarios, which is applied to a distributed system on a blockchain. Here, each broadcast stage corresponds to multiple nodes in the distributed system, and its principle is similar to the blockchain atomic broadcast method for large-scale deployment scenarios, which will not be elaborated here.

[0086] Figure 6 FIG. 4 is a schematic diagram of the blockchain atomic broadcast device for large-scale deployment scenarios in an embodiment of the present invention, including:

[0087] The committee member judgment module 601 is configured to, at the beginning of each broadcast stage, judge whether each node is a member of each committee, where the committee includes a first committee, a second committee, and a third committee;

[0088] The leader node determination module 602 is configured to determine a leader node from all nodes;

[0089] The proposal message sending module 603 is configured to send a proposal message from the leader node to all nodes;

[0090] The prepare message sending module 604 is configured to, for each node belonging to the second committee, if the node receives the proposal message sent by the leader node and the proposal message meets the prepare condition, broadcast a prepare message to all nodes;

[0091] The confirm message sending module 605 is configured to, for each node belonging to the third committee, judge whether the node meets the first digital signature consistency according to the prepare message received by the node. If so, update the locked certificate stored locally by the node, and at the same time broadcast a confirm message to all nodes;

[0092] The consensus module 606 is configured to, for each node, judge whether the node meets the second digital signature consistency according to the confirm message received by the node. If so, obtain a proposal according to the second digital signature and reach a consensus on the proposal.

[0093] In an embodiment, the committee member judgment module is specifically configured to:

[0094] For each node, call the VRF function to sign the first content to obtain a first signature value. When the first signature value is less than a preset threshold, determine that the node is a member of the first committee, and store the first signature value locally at the node. The first content includes the number of the current broadcast stage, the maximum broadcast stage number for which consensus has been completed, and the first committee identifier;

[0095] For each node, call the VRF function to sign the second content to obtain a second signature value. When the second signature value is less than a preset threshold, determine that the node is a member of the first committee and locally store the second signature value at the node. The second content includes the number of the current broadcast phase, the maximum broadcast phase number for which consensus has been completed, and the second committee identifier;

[0096] For each node, call the VRF function to sign the third content to obtain a third signature value. When the third signature value is less than a preset threshold, determine that the node is a member of the first committee and locally store the third signature value at the node. The third content includes the number of the current broadcast phase, the maximum broadcast phase number for which consensus has been completed, and the third committee identifier.

[0097] In one embodiment, the proposal message sending module is specifically configured to:

[0098] Each node belonging to the members of the first committee sends a status message to the leader node;

[0099] The leader node determines a phase value based on the received status messages and sends a proposal message to all nodes. The proposal message includes the phase value.

[0100] In one embodiment, the status message includes the number of the current broadcast phase stored locally at the node and the locked certificate;

[0101] The proposal message sending module is further configured to:

[0102] When each node belonging to the members of the first committee sends a status message to the leader node, it also sends the first signature value stored locally at the node;

[0103] After the leader node receives status messages sent by a first preset number of nodes, for each status message, it verifies the legality of the locked certificate and the first signature value in the status message. After the legality verification passes, it determines that the status message is legal;

[0104] Determine the phase value as the highest value of the numbers of the broadcast phases in the locked certificates in all the legal status messages.

[0105] In one embodiment, the proposal message further includes the number of the current broadcast phase and the proposal;

[0106] The preparation condition is that the phase value in the proposal message is greater than the highest value of the numbers of the broadcast phases in the locked certificates stored locally at the node;

[0107] The preparation message includes the number of the current broadcast phase, the hash value of the proposal, the first digital signature, and the number of the node;

[0108] The confirmation message includes the number of the current broadcast phase, the hash value of the proposal, the second digital signature, and the number of the node;

[0109] The confirmation message sending module is specifically configured to:

[0110] If there are at least a second preset number of prepare messages in the prepare messages received by the node that satisfy the same first digital signature, determine that the node satisfies the same first digital signature;

[0111] The consensus module is specifically configured to:

[0112] If there are at least a second preset number of prepare messages in the confirmation messages received by the node that satisfy the same second digital signature, determine that the node satisfies the same second digital signature.

[0113] In an embodiment, the device further includes a timing module, configured to:

[0114] At the beginning of each broadcast phase, each node starts a timer. If consensus on the proposal is not reached before the timer times out, enter the next broadcast phase.

[0115] In summary, in the method and device provided by the embodiments of the present invention, at the beginning of each broadcast phase, it is determined whether each node is a member of each committee, where the committee includes a first committee, a second committee, and a third committee; a leader node is determined from all nodes; the leader node sends a proposal message to all nodes; for each node belonging to the second committee, if the node receives the proposal message sent by the leader node and the proposal message meets the prepare condition, broadcast a prepare message to all nodes; for each node belonging to the third committee, according to the prepare messages received by the node, determine whether the node satisfies the same first digital signature. If so, update the locked certificate stored locally by the node and broadcast a confirmation message to all nodes at the same time; for each node, according to the confirmation message received by the node, determine whether the node satisfies the same second digital signature. If so, obtain the proposal according to the second digital signature and reach a consensus on the proposal. Through the above steps, in the embodiments of the present invention, there is a leader node in each broadcast phase, the leader broadcasts the proposal, and the nodes reach a consensus on at most one proposal in each broadcast phase, implementing a blockchain atomic broadcast protocol, an atomic broadcast protocol with strong scalability, which can greatly increase the scale of nodes that can be deployed for blockchain consensus.

[0116] The embodiments of the present invention also provide a computer device, Figure 7Schematic diagram of a computer device in an embodiment of the present invention. The computer device 700 includes a memory 710, a processor 720, and a computer program 730 stored on the memory 710 and executable on the processor 720. When the processor 720 executes the computer program 730, the above-mentioned blockchain atomic broadcast method for large-scale deployment scenarios is implemented.

[0117] An embodiment of the present invention also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the above-mentioned blockchain atomic broadcast method for large-scale deployment scenarios is implemented.

[0118] An embodiment of the present invention also provides a computer program product. The computer program product includes a computer program, and when the computer program is executed by a processor, the above-mentioned blockchain atomic broadcast method for large-scale deployment scenarios is implemented.

[0119] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a system, or a computer program product. Therefore, the present invention can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) containing computer-usable program code.

[0120] The present invention is described with reference to the flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of the present invention. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of flows and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate a device for implementing the specified functions in Figure 1 one or more flows and / or blocks Figure 1 or multiple flows and / or blocks.

[0121] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate a manufactured product including an instruction device, and the instruction device implements the specified functions in Figure 1 one or more flows and / or blocks Figure 1 or multiple flows and / or blocks.

[0122] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus, so that a series of operation steps are executed on the computer or other programmable apparatus to produce a computer-implemented process, thereby providing instructions for implementing the steps of the process Figure 1 one process or a plurality of processes and / or blocks Figure 1 in one block or a plurality of blocks.

[0123] In the foregoing specific embodiments, the objectives, technical solutions and beneficial effects of the present invention have been further described in detail. It should be understood that the foregoing are only specific embodiments of the present invention and are not intended to limit the protection scope of the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A blockchain atomic broadcast method for large-scale deployment scenarios, characterized in that, A distributed system applied to a blockchain, where each broadcast phase corresponds to multiple nodes in the distributed system, and the method includes: At the beginning of each broadcast phase, determine whether each node is a member of each committee, where the committees include a first committee, a second committee, and a third committee; Determine a leader node from all the nodes; The leader node sends a proposal message to all the nodes; For each node that is a member of the second committee, if the node receives the proposal message sent by the leader node and the proposal message meets the preparation condition, broadcast a preparation message to all the nodes; For each node that is a member of the third committee, based on the preparation message received by the node, determine whether the node meets the first digital signature consistency. If so, update the locked certificate stored locally by the node and broadcast a confirmation message to all the nodes; For each node, based on the confirmation message received by the node, determine whether the node meets the second digital signature consistency. If so, obtain the proposal according to the second digital signature and reach a consensus on the proposal.

2. The method according to claim 1, wherein Determining whether each node is a member of each committee includes: For each node, call the VRF function to sign the first content to obtain a first signature value. When the first signature value is less than a preset threshold, determine that the node is a member of the first committee and store the first signature value locally at the node. The first content includes the number of the current broadcast phase, the maximum broadcast phase number for which consensus has been completed, and the first committee identifier; For each node, call the VRF function to sign the second content to obtain a second signature value. When the second signature value is less than a preset threshold, determine that the node is a member of the first committee and store the second signature value locally at the node. The second content includes the number of the current broadcast phase, the maximum broadcast phase number for which consensus has been completed, and the second committee identifier; For each node, call the VRF function to sign the third content to obtain a third signature value. When the third signature value is less than a preset threshold, determine that the node is a member of the first committee and store the third signature value locally at the node. The third content includes the number of the current broadcast phase, the maximum broadcast phase number for which consensus has been completed, and the third committee identifier.

3. The method according to claim 1, characterized in that, The leader node sending a proposal message to all the nodes includes: Each node that is a member of the first committee sends a status message to the leader node; The leader node determines a phase value based on the received status messages and sends a proposal message to all the nodes. The proposal message includes the phase value.

4. The method according to claim 3, characterized in that, The status message includes the number of the current broadcast phase and the locked certificate stored locally by the node; The method further includes: When each node that is a member of the first committee sends a status message to the leader node, it also sends the first signature value stored locally by the node; The leader node determining a phase value based on the received status messages includes: After the leader node receives status messages sent by the first preset number of nodes, for each status message, it performs a legality verification on the locked certificate and the first signature value in the status message. After the legality verification passes, it determines that the status message is legal; Determine that the phase value is the highest value among the numbers of the broadcast phases in the locked certificates in all legal status messages.

5. The method according to claim 1, characterized in that, The proposal message further includes the number of the current broadcast phase and the proposal; The preparation condition is that the phase value in the proposal message is greater than the highest value of the numbers of the broadcast phases in the locked certificates locally stored by the node; The preparation message includes the number of the current broadcast phase, the hash value of the proposal, the first digital signature, and the number of the node; The confirmation message includes the number of the current broadcast phase, the hash value of the proposal, the second digital signature, and the number of the node; According to the preparation messages received by the node, determine whether the node satisfies the consistency of the first digital signature, including: If there are at least a second preset number of preparation messages in the preparation messages received by the node that satisfy the consistency of the first digital signature, determine that the node satisfies the consistency of the first digital signature; According to the confirmation messages received by the node, determine whether the node satisfies the consistency of the second digital signature, including: If there are at least a second preset number of preparation messages in the confirmation messages received by the node that satisfy the consistency of the second digital signature, determine that the node satisfies the consistency of the second digital signature.

6. The method according to claim 1, wherein It further includes: At the beginning of each broadcast phase, each node starts a timer. If no consensus is reached on the proposal before the timer times out, it enters the next broadcast phase.

7. A blockchain atomic broadcast device for large-scale deployment scenarios, characterized in that, Applied to a distributed system on a blockchain, where each broadcast phase corresponds to multiple nodes in the distributed system, the device includes: The committee member judgment module is used to judge whether each node is a member of each committee at the beginning of each broadcast phase. The committees include the first committee, the second committee, and the third committee; The leader node determination module is used to determine a leader node from all nodes; The proposal message sending module is used for the leader node to send a proposal message to all nodes; The preparation message sending module is used for each node belonging to the second committee. If the node receives the proposal message sent by the leader node and the proposal message meets the preparation condition, it broadcasts the preparation message to all nodes; The confirmation message sending module is used for each node belonging to the third committee. According to the preparation messages received by the node, determine whether the node satisfies the consistency of the first digital signature. If so, update the locked certificate locally stored by the node and at the same time broadcast the confirmation message to all nodes; The consensus module is used for each node. According to the confirmation messages received by the node, determine whether the node satisfies the consistency of the second digital signature. If so, obtain the proposal according to the second digital signature and reach a consensus on the proposal.

8. A computer device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that When the processor executes the computer program, it implements the method according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, and when the computer program is executed by the processor, it implements the method according to any one of claims 1 to 6.

10. A computer program product, characterized in that, The computer program product includes a computer program which, when executed by a processor, implements the method according to any one of claims 1 to 6.