CN116318842A - Asynchronous constant time multielement verifiable consensus method and device - Google Patents
Asynchronous constant time multielement verifiable consensus method and device Download PDFInfo
- Publication number
- CN116318842A CN116318842A CN202310086323.6A CN202310086323A CN116318842A CN 116318842 A CN116318842 A CN 116318842A CN 202310086323 A CN202310086323 A CN 202310086323A CN 116318842 A CN116318842 A CN 116318842A
- Authority
- CN
- China
- Prior art keywords
- node
- consensus
- value
- voted
- nodes
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004590 computer program Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 10
- 238000003491 array Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 241000116710 Ferula foetidissima Species 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
The invention discloses an asynchronous constant time multiple verifiable consensus method and device, wherein the method comprises the following steps: each node proposes a value; the node executes the corresponding reliable broadcast instance; after the node waits for n-f reliable broadcast instances to end, the node performs a first cycle as follows: determining a public random number k; operating a re-voted binary consensus example according to the reliable broadcast example corresponding to the executed node k, and determining a consensus value in the re-voted binary consensus example; if the node reaches consensus value 0 in the re-voted binary consensus example, entering the next round of the current first cycle; if the node agrees with a 1 in the re-voted binary consensus instance, the node waits for the output of the kth reliable broadcast instance for which the asynchronous constant time multivariate verifiable consensus protocol agrees. The invention provides an information theory safe and constant time protocol.
Description
Technical Field
The invention relates to the technical field of blockchains, in particular to an asynchronous constant time multi-element verifiable consensus method and device.
Background
This section is intended to provide a background or context to the embodiments of the invention that are recited in the claims. The description herein is not admitted to be prior art by inclusion in this section.
The Bayesian consensus protocol is the basis for privacy calculations such as blockchain, multiparty security calculations, etc. Based on network assumptions, the bayer protocol can be classified into synchronous, asynchronous, and semi-synchronous protocols.
Asynchronous protocols are a model of the blockchain of privacy calculations that are the most secure. Asynchronous Bayesian multiple verifiable consensus (MVBA) is one of the asynchronous protocols, and currently lacks an information-theory-safe, constant-time MVBA protocol.
Disclosure of Invention
The embodiment of the invention provides an asynchronous constant time multi-element verifiable consensus method for describing an asynchronous Bayesian multi-element verifiable consensus (MVBA), and provides an information theory safe and constant time MVBA protocol, which comprises the following steps:
asynchronous constant time multivariate verifiable consensus protocol each node proposes a value;
the node executing a corresponding reliable broadcast instance, wherein the reliable broadcast instance is a value that the node proposed for transmitting with reliable broadcast;
after waiting for n-f reliable broadcast instances to end, the node performs a first cycle in which the number of rounds in the first cycle is initialized to 0:
determining a public random number k;
running a re-voted binary consensus example according to the reliable broadcast example corresponding to the executed node k, if the reliable broadcast example is finished, the voting value is 1, otherwise, the voting value is 0, and determining a consensus value in the re-voted binary consensus example according to the voting values of all re-voted binary consensus examples;
if the node reaches consensus value of 0 in the re-voted binary consensus example, entering the next round of the current first cycle, and adding 1 to the number of rounds;
if the node achieves consensus value of 1 in the re-voted binary consensus example, the node waits for the output of the kth reliable broadcast example for which the asynchronous constant time multivariate verifiable consensus protocol achieves consensus;
in the asynchronous constant time multi-element verifiable consensus protocol, the total number of nodes is n, the number of error nodes is f, and n is more than or equal to 3f+1.
The embodiment of the invention also provides an asynchronous constant time multi-element verifiable consensus device for describing an asynchronous Bayesian multi-element verifiable consensus (MVBA), and provides an information theory safe and constant time MVBA protocol, which comprises the following steps:
a proposal module for proposing a value v_i for each node in an asynchronous constant time-multiple verifiable consensus protocol;
a reliable broadcast instance execution module, configured to execute a corresponding reliable broadcast instance by the node, where the reliable broadcast instance is a value proposed by the node to transmit with reliable broadcast;
the loop module is used for executing a first loop after the node waits for n-f reliable broadcast examples to finish, wherein the number of the rounds in the first loop is initialized to 0:
determining a public random number k;
running a re-voted binary consensus example according to the reliable broadcast example corresponding to the executed node k, if the reliable broadcast example is finished, the voting value is 1, otherwise, the voting value is 0, and determining a consensus value in the re-voted binary consensus example according to the voting values of all re-voted binary consensus examples;
if the node reaches consensus value of 0 in the re-voted binary consensus example, entering the next round of the current first cycle, and adding 1 to the number of rounds;
if the node achieves consensus value of 1 in the re-voted binary consensus example, the node waits for the output of the kth reliable broadcast example for which the asynchronous constant time multivariate verifiable consensus protocol achieves consensus;
in the asynchronous constant time multi-element verifiable consensus protocol, the total number of nodes is n, the number of error nodes is f, and n is more than or equal to 3f+1.
The embodiment of the invention also provides computer equipment, which comprises a memory, a processor and a computer program stored on the memory and capable of running on the processor, wherein the processor realizes the asynchronous constant time multiple verifiable consensus method when executing the computer program.
The embodiment of the invention also provides a computer readable storage medium, wherein the computer readable storage medium stores a computer program, and the computer program realizes the asynchronous constant time multi-element verifiable consensus method when being executed by a processor.
Embodiments of the present invention also provide a computer program product comprising a computer program which, when executed by a processor, implements the above-described asynchronous constant time multivariate verifiable consensus method.
In the embodiment of the invention, each node p_i in the asynchronous constant time multiple verifiable consensus protocol proposes a value v_i; the node p_i executes a corresponding reliable broadcast instance RBC_i, wherein the reliable broadcast instance is that the node p_i transmits a proposed value v_i by utilizing reliable broadcast; after the node p_i waits for n-f reliable broadcast instances to end, executing the following first loop, wherein the number of rounds in the first loop is initialized to 0: determining a public random number k; running a re-voted binary consensus example according to the reliable broadcast example corresponding to the executed node k, if the reliable broadcast example is finished, the voting value is 1, otherwise, the voting value is 0, and determining a consensus value in the re-voted binary consensus example according to the voting values of all re-voted binary consensus examples; if the node achieves consensus value of 0, entering the next round of the current first cycle, and adding 1 to the number of rounds; if the node achieves consensus value of 1 in the re-voted binary consensus example, the node waits for the output of the kth reliable broadcast example in the re-voted binary consensus example, and the asynchronous constant time multivariate verifiable consensus protocol achieves consensus on the output; in the asynchronous constant time multi-element verifiable consensus protocol, the total number of nodes is n, the number of error nodes is f, and n is more than or equal to 3f+1. Through the above process, an information theory safe and constant time MVBA protocol is provided. In the MVBA protocol, each node proposes an array, and in the presence of 1/3 Bayesian nodes, the final correct node can agree on the values proposed by the n-f nodes.
Drawings
In order to more clearly illustrate the embodiments of the invention 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, it being obvious that the drawings in the following description are only some embodiments of the invention, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art. In the drawings:
FIG. 1 is a flow chart of an asynchronous constant time multiple verifiable consensus method in an embodiment of the present invention;
FIG. 2 is a flow chart of obtaining consensus values for the nodes in an embodiment of the present invention;
FIG. 3 is a pseudo code of MVBA-1 in an embodiment of the present invention;
FIG. 4 shows the steps of the difference between MVBA-2 and MVBA-1 in the example of the present invention;
FIG. 5 is a flow chart illustrating the generation of a reply message from a node according to an embodiment of the present invention;
FIG. 6 is a pseudo code of MVBA-2 in an embodiment of the present invention;
FIG. 7 is a schematic diagram of an asynchronous constant time multivariate verifiable consensus device in accordance with an embodiment of the present invention;
FIG. 8 is a schematic diagram of an asynchronous constant time multiple verifiable consensus device in accordance with an embodiment of the present invention;
fig. 9 is a schematic diagram of a computer device in an embodiment of the invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the embodiments of the present invention will be described in further detail with reference to the accompanying drawings. The exemplary embodiments of the present invention and their descriptions herein are for the purpose of explaining the present invention, but are not to be construed as limiting the invention.
First, concepts related to the embodiments of the present invention are explained.
(1) Multiple verifiable consensus (Multi-valued Validated Byzantine agreement, MVBA)
In the multivariate verifiable consensus identification, each node presents a value v epsilon {0,1}, the input of each node needs to be added with a predicate (global predictor) Q which can be verified by all nodes, and the value v presented by each node needs to satisfy Q (v) to be accepted by other nodes. MVBA allows all correct nodes to agree on the same value. MVBA has the following properties:
external verifiability: if the correct node agrees with a certain value v, the predicate Q (v) may be verified.
Consensus: if a correct node agrees with v, any correct node eventually agrees with v.
Ending property: all correct nodes eventually reach consensus.
Integrity: all nodes agree on only one value v, and v is proposed by a certain node.
Besides, the effectiveness is defined more strongly
Quality: the probability that a correct node has agreed upon the value v proposed by a certain correct node is 1/2.
The invention describes an MVBA for realizing external verifiability, consensus, ending property and integrity, extends the protocol on the basis of the MVBA for realizing quality, names the protocol which does not realize quality as MVBA-1 for distinguishing, and names the protocol which realizes quality as MVBA-2.
(2) Reliable broadcast (reliable broadcast, RBC)
In reliable broadcasting, a certain node sends a message m e {0,1}, and eventually the correct node will deliver a certain value, if the sending node is correct, the correct node will deliver m, otherwise, it may not deliver.
The reliable broadcast is specifically defined as follows:
effectiveness is as follows: if the correct node sends message m, all correct nodes will eventually deliver m.
Consensus: if one correct node delivers message m, any correct node ultimately delivers m.
Integrity: all nodes deliver the message only once. If a correct node delivers message m, the sender sends m.
(3) Binary asynchronous re-voted consensus (repsoposable asynchronous binary agreement, RABA)
In the binary asynchronous re-voted consensus, each node presents a binary value v e {0,1} and all correct nodes agree on the same value. RABA is biased to a certain value, and if it defaults to 1, the correct node votes for 0, then re-voting for 1 is allowed, and if the correct node votes for 1, then re-voting for 0 is not allowed.
The definition of the binary asynchronous re-voted consensus is specifically as follows:
effectiveness is as follows: if all correct nodes set forth the same value v and 1-v is not re-voted, then all correct nodes agree on v.
Consistency ending: if all correct nodes propose the same value v and 1-v is not re-voted, then all correct nodes can agree.
Consensus: if a correct node agrees with v, any correct node ultimately agrees with v
Biased ending: defining Q as the set of all correct nodes, Q1 as the set of correct nodes that voted for 1, Q2 as the set of correct nodes that voted for 0 and then re-voted for 1, if the union of Q1 and Q2 is equal to Q, all correct nodes can eventually agree.
Integrity: all nodes agree on only one value.
FIG. 1 is a flow chart of an asynchronous constant time multiple verifiable consensus method in an embodiment of the present invention, comprising:
in the asynchronous constant time multi-element verifiable consensus protocol, the total number of nodes is n, the number of error nodes is f, and n is more than or equal to 3f+1.
In the embodiment of the invention, an MVBA protocol with safe information theory and constant time is provided. In the MVBA protocol, each node proposes an array, and in the presence of 1/3 Bayesian nodes, the final correct node can agree on the values proposed by the n-f nodes.
In an embodiment, the method further comprises:
in each reliable broadcast instance, when receiving the value v_j proposed by the other node p_i, each node p_i checks whether the predicate Q (v_j) corresponding to the value v_j proposed by the other node p_i is valid, if not, the value v_j proposed by the other node p_i is cached, and the reliable broadcast is not continued until the predicate Q (v_j) is valid.
In one embodiment, determining a common random number k includes:
after f+1 nodes in the asynchronous constant time multivariate verifiable consensus protocol carry out random selection of the leader node function call, the random selection of the leader node function returns a public random number k.
FIG. 2 is a flowchart of obtaining a consensus value for the node, in an embodiment, according to a reliable broadcast instance corresponding to an executed node k, a re-voted binary consensus instance is run, if the reliable broadcast instance is completed, the vote value is 1, otherwise, the vote value is 0, and according to vote values of all re-voted binary consensus instances, determining a consensus value in the re-voted binary consensus instance includes:
in step 203, when the vote value of the preset number of re-voted binary consensus instances is 1, it is determined that the node achieves consensus value is 1, otherwise it is 0.
The above procedure gives the MVBA protocol for the first constant time constructed with reliable broadcast, electric (), binary asynchronous re-voteable consensus, i.e. the protocol that does not achieve quality, which can be called MVBA-1, the pseudocode of which is shown in FIG. 3.
The embodiment of the present invention further proposes a protocol for realizing quality, that is, MVBA-2, wherein most of the steps of MVBA-2 and MVBA-1 are similar, and the difference is that after determining whether the predicate Q (v_j) is valid, the first cycle is executed after different judging steps, specifically, fig. 4 shows the distinguishing steps of MVBA-2 and MVBA-1 in the embodiment of the present invention, including:
Fig. 5 is a flow chart of generating a reply message of a node according to an embodiment of the present invention, including:
in step 502, for the reliable broadcast instance corresponding to each value of 1 (e.g., w_j [ l ] =1) in the array w_j of the other node p_j, after the node completes the reliable broadcast instance (e.g., rbc_l), the node p_i sends a reply message to the other node p_j.
Based on all the steps, a flow chart of MVBA-2 is provided, and FIG. 6 is a pseudo code of MVBA-2 in the embodiment of the invention, thereby realizing asynchronous constant time multiple verifiable consensus of realizing quality of constant time under the first information theory security assumption.
In summary, in the method proposed by the embodiment of the present invention, the asynchronous constant time multiple can verify that each node p_i in the consensus protocol proposes a value v_i; the node p_i executes a corresponding reliable broadcast instance RBC_i, wherein the reliable broadcast instance is that the node p_i transmits a proposed value v_i by utilizing reliable broadcast; after the node p_i waits for n-f reliable broadcast instances to end, executing the following first loop, wherein the number of rounds in the first loop is initialized to 0: determining a public random number k; running a re-voted binary consensus example according to the reliable broadcast example corresponding to the executed node k, if the reliable broadcast example is finished, the voting value is 1, otherwise, the voting value is 0, and determining a consensus value in the re-voted binary consensus example according to the voting values of all re-voted binary consensus examples; if the node reaches consensus value 0 in the re-voted binary consensus example, entering the next round of the current first cycle, and adding 1 to the number of rounds; if the node achieves consensus value of 1 in the re-voted binary consensus example, the node waits for the output of the kth reliable broadcast example, and the asynchronous constant time multivariate verifiable consensus protocol achieves consensus on the output; in the asynchronous constant time multi-element verifiable consensus protocol, the total number of nodes is n, the number of error nodes is f, and n is more than or equal to 3f+1. Through the above process, an information theory safe and constant time MVBA protocol is provided. In the MVBA protocol, each node proposes an array, and in the presence of 1/3 Bayesian nodes, the final correct node can agree on the values proposed by the n-f nodes.
In addition, the embodiment of the invention provides MVBA-2 based on MVBA-1, thereby realizing asynchronous constant time multielement verifiable consensus of realizing quality of constant time under the first information theory security assumption.
The embodiment of the invention also provides an asynchronous constant time multi-element verifiable consensus device, the principle of which is similar to that of an asynchronous constant time multi-element verifiable consensus method, and the description is omitted here.
FIG. 7 is a schematic diagram of an asynchronous constant time multivariate verifiable consensus device according to an embodiment of the present invention, comprising:
a proposal module 701 for proposing a value v_i for each node p_i in the asynchronous constant time-multiple verifiable consensus protocol;
a reliable broadcast instance execution module 702, configured to execute, by the node p_i, a corresponding reliable broadcast instance rbc_i, where the reliable broadcast instance is a value v_i proposed by the node p_i for transmitting with reliable broadcast;
a loop module 703, configured to perform a first loop after the node p_i waits for n-f reliable broadcast instances to end, where the number of rounds in the first loop is initialized to 0:
determining a public random number k;
running a re-voted binary consensus example according to the reliable broadcast example corresponding to the executed node k, if the reliable broadcast example is finished, the voting value is 1, otherwise, the voting value is 0, and determining a consensus value in the re-voted binary consensus example according to the voting values of all re-voted binary consensus examples;
if the node reaches consensus value of 0 in the re-voted binary consensus example, entering the next round of the current first cycle, and adding 1 to the number of rounds;
if the node achieves consensus value of 1 in the re-voted binary consensus example, the node waits for the output of the kth reliable broadcast example for which the asynchronous constant time multivariate verifiable consensus protocol achieves consensus;
in the asynchronous constant time multi-element verifiable consensus protocol, the total number of nodes is n, the number of error nodes is f, and n is more than or equal to 3f+1.
In an embodiment, the reliable broadcast instance execution module is further to:
in each reliable broadcast instance, when receiving the value v_j proposed by the other node p_i, each node p_i checks whether the predicate Q (v_j) corresponding to the value v_j proposed by the other node p_i is valid, if not, the value v_j proposed by the other node p_i is cached, and the reliable broadcast is not continued until the predicate Q (v_j) is valid.
In one embodiment, the circulation module is specifically configured to:
after f+1 nodes in the asynchronous constant time multivariate verifiable consensus protocol carry out random selection of the leader node function call, the random selection of the leader node function returns a public random number k.
In one embodiment, the circulation module is specifically configured to:
if the reliable broadcasting instance corresponding to the node k is finished, running the re-voted binary consensus instance, determining the vote value as 1, otherwise, determining the vote value as 0;
if the reliable broadcasting instance corresponding to the node k is not finished, waiting for the reliable broadcasting instance corresponding to the node k to finish, and running the re-voted binary consensus instance after the reliable broadcasting instance corresponding to the node k is finished, determining the voting value as 1, otherwise determining the voting value as 0;
when the vote value of the preset number of re-voted binary consensus examples is 1, determining that the node achieves consensus value to be 1, otherwise, 0.
FIG. 8 is a further schematic diagram of an asynchronous constant time multivariate verifiable consensus device according to an embodiment of the present invention, wherein the device further comprises a reply message processing module 704 for:
after determining whether predicate Q (v_j) is valid, the node p_i records the finished reliable broadcast instance;
if the reliable broadcast instance RBC_j of the other node p_j is ended, setting the value corresponding to the other node p_j in the array W_i [ j ] of the node p_i to be 1; wherein the array of the node p_i comprises a set of values corresponding to other nodes;
after the node p_i finishes n-f reliable broadcast examples, transmitting an array W_i of the node p_i to other nodes;
the node p_i waits for reply messages of n-f other nodes, which are generated based on the array of nodes, and then performs a first cycle.
In an embodiment, the reply message processing module is further configured to:
generating a reply message of the node by adopting the following steps:
after the node receives the array W_j from the other nodes p_j, checking the value of the array W_j of the other nodes p_j to be 1;
for the reliable broadcast instance corresponding to each value of 1 in the array w_j of the other node p_j, after the node completes the reliable broadcast instance rbc_i, the node p_i sends a reply message to the other node p_j.
In summary, in the apparatus according to the embodiment of the present invention, the asynchronous constant time-multiple can verify that each node p_i in the consensus protocol proposes a value v_i; the node p_i executes a corresponding reliable broadcast instance RBC_i, wherein the reliable broadcast instance is that the node p_i transmits a proposed value v_i by utilizing reliable broadcast; after the node p_i waits for n-f reliable broadcast instances to end, executing the following first loop, wherein the number of rounds in the first loop is initialized to 0: determining a public random number k; running a re-voted binary consensus example according to the reliable broadcast example corresponding to the executed node k, if the reliable broadcast example is finished, the voting value is 1, otherwise, the voting value is 0, and determining a consensus value in the re-voted binary consensus example according to the voting values of all re-voted binary consensus examples; if the node reaches consensus value of 0 in the re-voted binary consensus example, entering the next round of the current first cycle, and adding 1 to the number of rounds; if the node achieves consensus value of 1 in the re-voted binary consensus example, the node waits for the output of the kth reliable broadcast example for which the asynchronous constant time multivariate verifiable consensus protocol achieves consensus; in the asynchronous constant time multi-element verifiable consensus protocol, the total number of nodes is n, the number of error nodes is f, and n is more than or equal to 3f+1. Through the above process, an information theory safe and constant time MVBA protocol is provided. In the MVBA protocol, each node proposes an array, and in the presence of 1/3 Bayesian nodes, the final correct node can agree on the values proposed by the n-f nodes.
In addition, the embodiment of the invention provides MVBA-2 based on MVBA-1, thereby realizing asynchronous constant time multielement verifiable consensus of realizing quality of constant time under the first information theory security assumption.
An embodiment of the present invention further provides a computer device, and fig. 9 is a schematic diagram of a computer device in the embodiment of the present invention, where the computer device 900 includes a memory 910, a processor 920, and a computer program 930 stored in the memory 910 and capable of running on the processor 920, and the processor 920 implements the asynchronous constant time multiple verifiable consensus method described above when executing the computer program 930.
The embodiment of the invention also provides a computer readable storage medium, wherein the computer readable storage medium stores a computer program, and the computer program realizes the asynchronous constant time multi-element verifiable consensus method when being executed by a processor.
Embodiments of the present invention also provide a computer program product comprising a computer program which, when executed by a processor, implements the above-described asynchronous constant time multivariate verifiable consensus method.
It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The foregoing description of the embodiments has been provided for the purpose of illustrating the general principles of the invention, and is not meant to limit the scope of the invention, but to limit the invention to the particular embodiments, and any modifications, equivalents, improvements, etc. that fall within the spirit and principles of the invention are intended to be included within the scope of the invention.
Claims (10)
1. An asynchronous constant time multivariate verifiable consensus method, comprising:
asynchronous constant time multivariate verifiable consensus protocol each node proposes a value;
the node executing a corresponding reliable broadcast instance, wherein the reliable broadcast instance is a value that the node proposed for transmitting with reliable broadcast;
after waiting for n-f reliable broadcast instances to end, the node performs a first cycle in which the number of rounds in the first cycle is initialized to 0:
determining a public random number k;
running a re-voted binary consensus example according to the reliable broadcast example corresponding to the executed node k, if the reliable broadcast example is finished, the voting value is 1, otherwise, the voting value is 0, and determining a consensus value in the re-voted binary consensus example according to the voting values of all re-voted binary consensus examples;
if the node reaches consensus value 0 in the re-voted binary consensus example, entering the next round of the current first cycle, and adding 1 to the number of rounds;
if the node achieves consensus value of 1 in the re-voted binary consensus example, the node waits for the output of the kth reliable broadcast example, and the asynchronous constant time multivariate verifiable consensus protocol achieves consensus on the output;
in the asynchronous constant time multi-element verifiable consensus protocol, the total number of nodes is n, the number of error nodes is f, and n is more than or equal to 3f+1.
2. The method as recited in claim 1, further comprising:
in each reliable broadcasting instance, when each node receives the value proposed by other nodes, checking whether predicates corresponding to the value proposed by other nodes are valid or not, if not, caching the value proposed by other nodes, and continuing to participate in the reliable broadcasting until the predicate is valid.
3. The method of claim 1, wherein determining a common random number k comprises:
after f+1 nodes in the asynchronous constant time multivariate verifiable consensus protocol carry out random selection of the leader node function call, the random selection of the leader node function returns a public random number k.
4. The method of claim 1, wherein running the re-voted binary consensus instance based on the reliable broadcast instance corresponding to the executing node k, the vote value being 1 if the reliable broadcast instance is complete, and the vote value being 0 otherwise, determining the consensus value among the re-voted binary consensus instances based on the vote values of all re-voted binary consensus instances, comprises:
if the reliable broadcasting instance corresponding to the node k is finished, running the re-voted binary consensus instance, determining the vote value as 1, otherwise, determining the vote value as 0;
if the reliable broadcasting instance corresponding to the node k is not finished, waiting for the reliable broadcasting instance corresponding to the node k to finish, and running the re-voted binary consensus instance after the reliable broadcasting instance corresponding to the node k is finished, determining the voting value as 1, otherwise determining the voting value as 0;
when the vote value of the preset number of re-voted binary consensus examples is 1, determining that the node achieves consensus value to be 1, otherwise, 0.
5. The method as recited in claim 2, further comprising:
after determining whether the predicate is valid, the node records the finished reliable broadcast instance;
if the reliable broadcast instance of other nodes is finished, setting the value corresponding to other nodes in the array of the node to be 1; wherein the array of the node comprises a set of values corresponding to other nodes;
after the n-f reliable broadcast examples are finished, the node sends the array of the node to other nodes;
the node waits for reply messages from n-f other nodes, which are generated based on the array of nodes, and then performs a first cycle.
6. The method of claim 5, wherein the reply message for the node is generated by:
after the node receives the arrays from other nodes, checking the value of 1 in the arrays of other nodes;
for the reliable broadcast instance corresponding to each value of 1 in the array of other nodes, after the node completes the reliable broadcast instance, the node sends a reply message to the other nodes.
7. An asynchronous constant time multivariate verifiable consensus device comprising:
a proposal module for proposing a value for each node in an asynchronous constant time-multiple verifiable consensus protocol;
a reliable broadcast instance execution module, configured to execute a corresponding reliable broadcast instance by the node, where the reliable broadcast instance is a value proposed by the node to transmit with reliable broadcast;
the loop module is used for executing a first loop after the node waits for n-f reliable broadcast examples to finish, wherein the number of the rounds in the first loop is initialized to 0:
determining a public random number k;
running a re-voted binary consensus example according to the reliable broadcast example corresponding to the executed node k, if the reliable broadcast example is finished, the voting value is 1, otherwise, the voting value is 0, and determining a consensus value in the re-voted binary consensus example according to the voting values of all re-voted binary consensus examples;
if the node reaches consensus value 0 in the re-voted binary consensus example, entering the next round of the current first cycle, and adding 1 to the number of rounds;
if the node achieves consensus value of 1 in the re-voted binary consensus example, the node waits for the output of the kth reliable broadcast example, and the asynchronous constant time multivariate verifiable consensus protocol achieves consensus on the output;
in the asynchronous constant time multi-element verifiable consensus protocol, the total number of nodes is n, the number of error nodes is f, and n is more than or equal to 3f+1.
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 the processor implements the method of any of claims 1 to 6 when executing the computer program.
9. A computer readable storage medium, characterized in that the computer readable storage medium stores a computer program which, when executed by a processor, implements the method of any of claims 1 to 6.
10. A computer program product, characterized in that the computer program product comprises a computer program which, when executed by a processor, implements the method of any of claims 1 to 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310086323.6A CN116318842A (en) | 2023-01-19 | 2023-01-19 | Asynchronous constant time multielement verifiable consensus method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310086323.6A CN116318842A (en) | 2023-01-19 | 2023-01-19 | Asynchronous constant time multielement verifiable consensus method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116318842A true CN116318842A (en) | 2023-06-23 |
Family
ID=86780574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310086323.6A Pending CN116318842A (en) | 2023-01-19 | 2023-01-19 | Asynchronous constant time multielement verifiable consensus method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116318842A (en) |
-
2023
- 2023-01-19 CN CN202310086323.6A patent/CN116318842A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ben-Or et al. | Resilient-optimal interactive consistency in constant time | |
CN111490878B (en) | Key generation method, device, equipment and medium | |
Patra et al. | Efficient asynchronous verifiable secret sharing and multiparty computation | |
Katz et al. | On expected constant-round protocols for byzantine agreement | |
CN108876384B (en) | Transaction data processing method and device | |
Broadbent et al. | Information-theoretic security without an honest majority | |
CN113794694B (en) | Binary consensus method and device based on reliable broadcast | |
CN110928880B (en) | Data processing method, device, terminal and medium based on block chain | |
CN108768618B (en) | IP soft core authorization method, device and medium based on block chain | |
CN116170153B (en) | Asynchronous public subset consensus method and device | |
CN110930254A (en) | Data processing method, device, terminal and medium based on block chain | |
CN112749968A (en) | Service data recording method and device based on block chain | |
CN112994891B (en) | Transaction request consensus method and system based on threshold signature | |
Bangalore et al. | The power of shunning: efficient asynchronous byzantine agreement revisited | |
Micali et al. | Optimal and player-replaceable consensus with an honest majority | |
Damgård et al. | Phoenix: Secure computation in an unstable network with dropouts and comebacks | |
Cachin et al. | From symmetric to asymmetric asynchronous byzantine consensus | |
CN116318842A (en) | Asynchronous constant time multielement verifiable consensus method and device | |
CN111405027B (en) | Block chain consensus result screening method, device, computer equipment and storage medium | |
CN111600960A (en) | Switching method of hybrid consensus mechanism in block chain and related equipment | |
CN116108042A (en) | Data processing method, device, electronic equipment, storage medium and program product | |
CN113497827B (en) | Information sharing method and equipment | |
CN112615895B (en) | Voting result generation and statistics method and device and electronic equipment | |
CN110555764A (en) | method and system for block chain consistency under decentralized environment | |
CN117407388A (en) | Idempotent control method and device and electronic equipment |
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 |