CN116318842A - Asynchronous constant time multielement verifiable consensus method and device - Google Patents

Asynchronous constant time multielement verifiable consensus method and device Download PDF

Info

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
Application number
CN202310086323.6A
Other languages
Chinese (zh)
Inventor
段斯斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202310086323.6A priority Critical patent/CN116318842A/en
Publication of CN116318842A publication Critical patent/CN116318842A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

Asynchronous constant time multielement verifiable consensus method and device
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:
step 101, asynchronous constant time polynomials can verify that each node p_i in the consensus protocol proposes a value v_i;
step 102, the node p_i executes a corresponding reliable broadcast instance rbc_i, wherein the reliable broadcast instance is that the node p_i transmits the proposed value v_i by using reliable broadcast;
step 103, after the node p_i waits for n-f reliable broadcast instances to end, executing a first loop, wherein the number of rounds in the first loop is initialized to 0:
step 1031, determining a common random number k;
step 1032, 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 completed, the vote value is 1, otherwise, the vote value is 0, and determining a consensus value in the re-voted binary consensus example according to the vote values of all re-voted binary consensus examples;
step 1033, 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;
step 1034, 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-multiple verifiable consensus protocol agrees;
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:
step 201, if the reliable broadcast instance corresponding to the node k has ended, running the re-voted binary consensus instance, determining the vote value as 1, otherwise determining the vote value as 0;
step 202, if the reliable broadcast instance corresponding to the node k is not finished, waiting for the reliable broadcast instance corresponding to the node k to finish, and running the re-voted binary consensus instance after the reliable broadcast instance corresponding to the node k is finished, determining the vote value as 1, otherwise determining the vote value as 0;
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:
step 401, after determining whether the predicate Q (v_j) is valid, the node p_i records the finished reliable broadcast instance;
step 402, if the reliable broadcast instance rbc_j of the other node p_j ends, setting the value corresponding to the other node p_j in the array w_i [ j ] of the node p_i to 1; wherein the array of the node p_i comprises a set of values corresponding to other nodes;
step 403, after the node p_i finishes n-f reliable broadcast instances, transmitting the array w_i of the node p_i to other nodes;
step 404, the node p_i waits for reply messages from n-f other nodes, and then performs a first cycle, wherein the reply messages are generated based on the array of nodes.
Fig. 5 is a flow chart of generating a reply message of a node according to an embodiment of the present invention, including:
step 501, after the node receives the array w_j from the other node p_j, checking the value of w_j in the array of the other node p_j as 1;
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.
CN202310086323.6A 2023-01-19 2023-01-19 Asynchronous constant time multielement verifiable consensus method and device Pending CN116318842A (en)

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)

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