CN115118436B - Block chain consensus method and device, storage medium and electronic equipment - Google Patents

Block chain consensus method and device, storage medium and electronic equipment Download PDF

Info

Publication number
CN115118436B
CN115118436B CN202211012299.3A CN202211012299A CN115118436B CN 115118436 B CN115118436 B CN 115118436B CN 202211012299 A CN202211012299 A CN 202211012299A CN 115118436 B CN115118436 B CN 115118436B
Authority
CN
China
Prior art keywords
block
node
consensus
voting
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211012299.3A
Other languages
Chinese (zh)
Other versions
CN115118436A (en
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.)
Beijing Youpin Sanyue Technology Development Co ltd
Original Assignee
Beijing Youpin Sanyue Technology Development Co ltd
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 Beijing Youpin Sanyue Technology Development Co ltd filed Critical Beijing Youpin Sanyue Technology Development Co ltd
Priority to CN202211012299.3A priority Critical patent/CN115118436B/en
Publication of CN115118436A publication Critical patent/CN115118436A/en
Application granted granted Critical
Publication of CN115118436B publication Critical patent/CN115118436B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Abstract

The invention provides a block chain consensus method and device, a storage medium and electronic equipment, wherein the method comprises the following steps: when a block chain network enters a current round of consensus process, determining each block voting information corresponding to a target block obtained by voting in the previous round of consensus process so as to propose and verify the target block, and if the target block passes the proposal and verification, determining a first signature item corresponding to each block voting information; and judging whether the current consensus node is the current block proposal node or not according to the first signature item and a preset verifiable random function algorithm, if so, generating a corresponding block, determining corresponding block proposal information, and submitting the block proposal information to a block chain network for consensus. By applying the method of the invention, whether the consensus node and the collusion node can become the block proposal node of the next round of consensus process or not can not be determined in the current block proposal stage, so that the malicious node is difficult to cooperate to seek benefits, and the safety of the block chain can be improved.

Description

Block chain consensus method and device, storage medium and electronic equipment
Technical Field
The present invention relates to the field of block chain technologies, and in particular, to a block chain consensus method and apparatus, a storage medium, and an electronic device.
Background
Proof of rights (Proof of station, POS) consensus mechanisms based on verifiable Random function (Veri \64257. And the POS consensus mechanism randomly selects the nodes of the production blocks, the nodes for voting and the nodes for verification through the rights and interests distributed to all the consensus nodes by the block chains, and finishes the consensus process of the block chains.
In the conventional block chain consensus process, three stages of block proposal, block voting and block confirmation are usually included. In the block proposal stage, each consensus node can obtain a pseudo-random number through a VRF algorithm and determine whether the consensus node is a node for producing the block or not based on the pseudo-random number. And when the consensus node determines the pseudo-random number through the VRF algorithm in the current consensus process, the input parameter adopted by the consensus node is the production node of the last block which is confirmed by consensus, and the pseudo-random number obtained based on the VRF algorithm in the last block proposing stage.
Based on the existing block chain consensus method, if a plurality of rogue nodes exist in all the consensus nodes, the rogue nodes determine the nodes which can be the production blocks at present based on a VRF algorithm in the present block proposing stage, and all the rogue nodes can confirm whether all the rogue nodes can become the nodes of the production blocks in the next consensus process through information synchronization in the present block proposing stage, and all the rogue nodes can obtain the maximum benefit through mutual cooperation, so that the safety of the block chain is poor.
Disclosure of Invention
In view of the above, the embodiments of the present invention provide a block chain consensus method to solve the problem that in the current block proposal phase, each rogue node can determine whether it can become a node of a production block in the next consensus process, and can cooperate to achieve the maximum benefit, so that the block chain has poor security.
The embodiment of the invention also provides a block chain consensus device, which is used for ensuring the actual realization and application of the method.
In order to achieve the above purpose, the embodiments of the present invention provide the following technical solutions:
a method of blockchain consensus, the method being applied to each consensus node in a blockchain network, the method comprising:
when the block chain network enters the current round of consensus process, determining each block voting information corresponding to a target block, and performing proposal verification on the target block based on each block voting information, wherein the target block is a block obtained by voting each block voting node in the previous round of consensus process on each block generated in the previous round of consensus process;
if the target block passes the proposal verification, determining a first signature item, wherein the first signature item is signature data obtained by performing signature processing on the basis of the voting information of each block;
judging whether the current consensus node is a block proposed node in the current consensus process according to the first signature item and a preset verifiable random function algorithm;
if the current consensus node is a block proposal node in the current consensus process, generating a block corresponding to the current consensus node, and determining block proposal information corresponding to the block corresponding to the current consensus node;
and submitting the block proposal information to the block chain network so that the block chain network can identify the blocks corresponding to the current common identification node.
Optionally, the determining, according to the first signature item and a preset verifiable random function algorithm, whether the current consensus node is the block proposed node in the current consensus process includes:
determining a round identifier and an proposed phase identifier corresponding to the round consensus process;
determining a first verification random number corresponding to the target block;
determining a pseudo-random number corresponding to the current consensus node based on the round identification, the proposed phase identifier, the first verification random number, and the first signature item;
determining a second verification random number corresponding to the current consensus node based on the pseudo random number and a preset evaluation algorithm;
and judging whether the second verification random number is in a preset value range, and if the second verification random number is in the preset value range, determining that the current consensus node is the block proposed node in the current consensus process.
Optionally, the determining block proposal information corresponding to the block corresponding to the current consensus node includes:
determining proposed summary information corresponding to the current consensus node;
determining block confirmation summary information and a second signature item corresponding to a parent block of the target block;
determining block voting summary information corresponding to the target block;
determining block acknowledgement information of the current consensus node for the target block;
determining verification information, wherein the verification information comprises a public key and a third signature item;
determining the proposal summary information, the block verification summary information, the second signature item, the block voting summary information, the block verification information, the verification information and the first signature item as the block proposal information.
The method described above, optionally, further includes:
determining block proposal information corresponding to each first block, and performing eligibility verification on the target block based on the block proposal information corresponding to each first block; the first block is a block generated in the current round of consensus process;
and if the target block passes the qualification verification, writing the target block into a local block chain.
The above method, optionally, further includes:
determining each branched chain corresponding to the local block chain;
determining the number of the branched blocks corresponding to each branched chain and the cumulative consensus times of branching;
for each branch chain, determining whether the number of the branch blocks corresponding to the branch chain is smaller than a preset number threshold, and whether the cumulative branching consensus number corresponding to the branch chain is smaller than a preset number threshold, if the number of the branch blocks corresponding to the branch chain is smaller than the preset number threshold, and the cumulative branching consensus number corresponding to the branch chain is smaller than the preset number threshold, taking the branch chain as a first branch chain in the local block chain;
judging whether a plurality of first branched chains exist in the local block chain, if so, judging whether each block on the first branched chain is a qualified block or not aiming at each first branched chain in the local block chain, and if so, taking the first branched chain as a second branched chain in the local block chain;
judging whether a plurality of second branch chains exist in the local block chain, and if the plurality of second branch chains exist in the local block chain, determining the total number of votes corresponding to each second branch chain in the local block chain;
and taking the second branch chain with the maximum corresponding total voting number in each second branch chain in the local block chain as a main chain.
The above method, optionally, further includes:
judging whether the current consensus node is a block voting node in the current consensus process or not according to the first signature item and the preset verifiable random function algorithm;
if the current consensus node is a block voting node in the current consensus process, performing validity verification on block proposal information corresponding to each first block;
if the block proposal information corresponding to each first block passes validity verification, determining a voting block in each first block;
determining block voting information corresponding to the voting block;
and submitting the block voting information corresponding to the voting block to the block chain network.
The above method, optionally, further includes:
determining the number of votes corresponding to each first block, and determining a block to be confirmed in each first block based on the number of votes corresponding to each first block;
determining voting information of each block corresponding to the block to be confirmed;
and performing signature processing based on the voting information of each block corresponding to the block to be confirmed and a preset aggregation signature algorithm to obtain a signature item corresponding to the block to be confirmed.
An apparatus for block chain consensus, the apparatus being applied to each consensus node in a block chain network, the apparatus comprising:
a first determining unit, configured to determine, when the block chain network enters a current round of consensus process, respective block voting information corresponding to a target block, and perform proposed verification on the target block based on the respective block voting information, where the target block is a block obtained by voting, by a respective block voting node in a previous round of consensus process, on respective blocks generated in the previous round of consensus process;
a second determining unit, configured to determine a first signature item if the target block passes the proposed verification, where the first signature item is signature data obtained by performing signature processing based on the voting information of each block;
a first judging unit, configured to judge whether a current consensus node is a block proposed node in the current consensus process according to the first signature item and a preset verifiable random function algorithm;
a third determining unit, configured to generate a block corresponding to the current consensus node if the current consensus node is a block proposed node in the current consensus process, and determine block proposed information corresponding to the block corresponding to the current consensus node;
a first submitting unit, configured to submit the block offer information to the blockchain network, so that the blockchain network agrees on a block corresponding to the current consensus node.
A storage medium comprising stored instructions, wherein the instructions, when executed, control a device on which the storage medium resides to perform a blockchain consensus method as described above.
An electronic device comprising a memory, and one or more instructions, wherein the one or more instructions are stored in the memory and configured to be executed by one or more processors to perform the block chain consensus method as described above.
Based on the block chain consensus method provided by the embodiment of the invention, when a block chain network enters the current round of consensus process, determining the voting information of each block corresponding to the target block, and performing proposal verification on the target block based on the voting information of each block, wherein the target block is obtained by voting the voting nodes of each block generated in the previous round of consensus process by the voting nodes of each block in the previous round of consensus process; if the target block passes the proposal verification, determining a first signature item, wherein the first signature item is signature data obtained by performing signature processing on the basis of the voting information of each block; judging whether the current consensus node is a block proposed node in the current consensus process according to the first signature item and a preset verifiable random function algorithm; if the current consensus node is a block proposal node in the current consensus process, generating a block corresponding to the current consensus node and determining corresponding block proposal information; and submitting the block proposal information to the block chain network so that the block chain network can identify the blocks corresponding to the current common identification nodes. By applying the method provided by the embodiment of the invention, when the consensus node judges whether the consensus node is the block proposal node or not in the next consensus process, the voting information of each block generated in the current consensus process needs to be adopted, so that the consensus node cannot obtain the judgment data required by the next consensus process in the block proposal stage in the current consensus process. Therefore, even in the current block proposing stage, the plurality of malicious nodes cannot determine whether or not the block proposing node exists in each malicious node in the next round of consensus process, and each malicious node is difficult to seek benefits by cooperation, so that the security of the block chain can be improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
Fig. 1 is a flowchart of a method for block chain consensus according to an embodiment of the present invention;
fig. 2 is a block structure diagram according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of a block chain according to an embodiment of the present invention;
fig. 4 is a schematic diagram illustrating a generation sequence of block consensus information according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a block chain consensus device according to an embodiment of the present invention;
fig. 6 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In this application, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrases "comprising a," "8230," "8230," or "comprising" does not exclude the presence of additional like elements in a process, method, article, or apparatus that comprises the element.
As can be known from the background art, a POS consensus mechanism based on a VRF algorithm is one of common consensus mechanisms, and this consensus mechanism is based on verifiability, pseudo-randomness, and uniqueness of the VRF algorithm, and the entire network cannot predict block proposal nodes (block exit nodes, that is, nodes of production blocks) and block voting nodes in each round of the consensus process, and so on, and cannot effectively attack the consensus process, thereby ensuring the overall security of the consensus. In the existing practical application process, based on the POS consensus mechanism of the VRF algorithm, the current block proposed node writes its own calculated output random number of the VRF algorithm into the block it produces, and if the block successfully uplinks, the output random number is used as the input parameter of the VRF algorithm in the next consensus process. This allows the generation of the block proposed node for the next consensus process to satisfy the distributed randomness characteristics. However, if the malicious nodes become block proposal nodes in the current block proposal stage, a plurality of malicious nodes can confirm whether the malicious nodes can become the block proposal nodes in the next consensus process or not through information synchronization based on the currently output random number, so that the malicious nodes increase the possibility of mutually cooperating to obtain the maximum benefit, and the overall security of the block chain is weakened.
Therefore, the embodiment of the present invention provides a block chain consensus method, in which a signature item corresponding to block voting information generated in a block voting stage in the previous round of consensus process is used as an input parameter of a VRF algorithm, so that a malicious node cannot determine whether the malicious node can become a block proposal node in the next consensus process in the current block proposal stage, thereby reducing the malicious possibility and improving the overall security of the block chain.
The embodiment of the present invention provides a block chain consensus method, which can be applied to each consensus node in a block chain network, and an execution subject of the method can be a server of the consensus node, where a method flowchart of the method is shown in fig. 1, and includes:
s101: when the block link network enters the current round of consensus process, determining each block voting information corresponding to a target block, and performing proposal verification on the target block based on each block voting information, wherein the target block is a block obtained by voting each block voting node in the previous round of consensus process on each block generated in the previous round of consensus process;
in the method provided by the embodiment of the invention, when new transaction data is generated in the blockchain network, the blockchain network enters a new round of consensus process. When the block chain network enters the current consensus process, each consensus node can receive the block voting information of the target block generated in the previous consensus process, and perform proposed verification on the target block based on the block voting information, wherein the content of the proposed verification can be determined according to the actual consensus process.
In the method provided by the embodiment of the invention, the conventional block proposing stage, the block voting stage and the block confirming stage are integrated, and the block confirming stage in the last consensus process is merged into the current consensus process. The proposed verification is performed on the target block, and the initial verification is performed on the target block based on the voting information of each block corresponding to the target block, that is, whether the number of votes of the target block meets the verification condition and whether the block is a qualified uplink block is determined. Specifically, the data integrity of the block data of the target block and the voting information of each block can be verified. And judging whether the hash value of the block data of the target block is consistent with the hash value of the block data of the best block to be confirmed selected by voting in the previous round of consensus process. Further, validity verification may be performed on all consensus data of the target block, including determining whether the block proposal information of the target block is the same as the corresponding block proposal information submitted in the previous round of consensus process.
According to the proposed verification result of the target block, the block height and the consensus round of the current consensus process can be determined, for example, the block height of the target block is i, if the target block passes the proposed verification, the block height of the block needing consensus currently is i +1, the consensus round is 0, the previous consensus process is called as an effective consensus process, the target block is used as a parent block of the new block to be submitted currently, and the current consensus process packs the transaction data which is not subjected to consensus confirmation into the new block to be submitted with the block height of i +1 for consensus processing. If the target block fails to pass the proposed verification, the block height of the block needing consensus currently is i, the consensus round is j +1, j is the number of rounds of the consensus process which the block height i has undergone, the parent block of the target block is used as the parent block of the new block to be submitted currently, and the consensus process of the round packages the transaction data which is not confirmed by the consensus into the new block to be submitted with the block height of i for consensus processing again.
It should be noted that, in the actual application process, a conventional consensus process may also be adopted, for example, if the consensus process includes a block proposal stage, a block voting stage and a block verification stage, the proposal verification of the target block may be performed to verify whether the target block is the block on which the uplink is confirmed in the previous round of consensus process.
S102: if the target block passes the proposal verification, determining a first signature item, wherein the first signature item is signature data obtained by performing signature processing on the basis of the voting information of each block;
in the method provided by the embodiment of the invention, if the target block passes the proposed verification, a first signature item is obtained from the pre-stored block consensus data of the target block, and the first signature item is obtained by a consensus node performing signature based on each block voting information corresponding to the target block in the last round of effective consensus process. In the process of consensus, the consensus node signs the blocks to be confirmed, which are extracted by voting, based on the voting information of each corresponding block. The specific mechanism of the signature can adopt the existing signature mechanism, and the type of the signature mechanism does not influence the realization function of the method provided by the embodiment of the invention.
S103: judging whether the current consensus node is a block proposed node in the current consensus process according to the first signature item and a preset verifiable random function algorithm;
in the method provided by the embodiment of the present invention, it may be determined whether the current consensus node is a block proposed node in the current consensus process, that is, a node generating a block, according to the first signature item and a predetermined verifiable random function algorithm (VRF algorithm).
S104: if the current consensus node is a block proposal node in the current consensus process, generating a block corresponding to the current consensus node, and determining block proposal information corresponding to the block corresponding to the current consensus node;
in the method provided by the embodiment of the present invention, if the current consensus node is the current block proposal node, the current consensus node generates a new block based on the transaction data, and determines the block proposal information corresponding to the block based on the related data generated in the block proposal stage, such as the related output parameters of the VRF algorithm.
In the method provided by the embodiment of the invention, the consensus node serving as the block proposal node firstly completes the packaging work of the new block, then broadcasts the block proposal information to the whole network, and when the new block is broadcast to the whole network in the subsequent process, the block content can not be updated, thereby avoiding the subsequent block updating operation to combine with the relevant malicious nodes to achieve the maximum group benefit in the consensus process.
S105: and submitting the block proposal information to the block chain network so that the block chain network can identify the blocks corresponding to the current common identification node.
In the method provided by the embodiment of the present invention, the consensus node may broadcast the block proposal information corresponding to the block generated by the consensus node in the blockchain network, and similarly, the current consensus node may also receive the block proposal information corresponding to the block generated by the other block proposal nodes. The block link network may perform a voting process and the like on each currently generated block based on the block proposal information corresponding to each block generated in the current consensus process, so as to achieve the consensus on the next uplink block.
Based on the method provided by the embodiment of the present invention, when entering a new consensus process, each consensus node in the block chain network may determine each block voting information corresponding to a target block (an optimal block generated by voting in a previous round of consensus process) to perform proposal verification on the target block, and if the target block passes the proposal verification, determine whether the current consensus node is a current block proposal node through a VRF algorithm and a first signature term obtained based on the each block voting information, if so, the current consensus node generates a new block, and packs the block proposal information corresponding to the block. The block proposal information is submitted to the blockchain network to identify new blocks. By applying the method provided by the embodiment of the invention, in the process that the consensus node judges whether the consensus node can become a production block in the current consensus process, the signature item obtained based on the voting information of each block generated in the previous consensus process is used as the input parameter of the VRF algorithm. If the rogue node becomes the current block proposal node, when the rogue node generates the block, the input parameters of the VRF algorithm in the next consensus process cannot be estimated by combining other rogue nodes, whether each rogue node can become the block proposal node in the next consensus process cannot be determined, each rogue node is difficult to jointly earn the maximum benefit, the safety of a block chain can be improved, and the decentralization capability can be guaranteed. In the method provided by the embodiment of the invention, in the block proposing stage in the current consensus process, the confirmation logic of the target block in the previous round of consensus process is synchronously completed, and the final confirmation process of the target block is completed.
The above description provided by the embodiment of the invention is mainly the processing procedure of the block proposal phase in the block consensus process, and in the consensus process provided by the embodiment of the invention, the system will agree the threshold T for the block proposal phase p So that the selected number of block proposal nodes satisfies the thresholdS p (e.g., let the VRF algorithm probabilistically select 21 nodes from 100 consensus nodes as block proposed nodes). The system proposes the selected threshold of the node according to the blockS p Appointing a proposed total threshold of the proposed blocksV p (for example,V p =2/3S p )。
the block proposal stage provided by the embodiment of the invention needs to follow the following block proposal rules:
(1) one should not allow multiple subjects: the same block proposal node does not allow to propose a plurality of new blocks;
(2) a penalty mechanism is established for one or more subjects: the block proposal node has a multi-proposal problem, deducts the digital assets pledged to the system and makes the block proposal node lose the qualification of the consensus node;
(3) the block proposal information submitted by a multi-conference block proposal node is not used as a new block to be proposed;
(4) the consensus node actively discards the proposal information which is not in the current consensus phase so as to reduce the success rate of the delay attack of the malicious node.
In order to better explain the method provided by the embodiment of the present invention, the algorithm principle of the verifiable random function algorithm mentioned in the embodiment of the present invention is briefly described below.
The Verifiable Random Function (VRF) algorithm mentioned in the method provided by the embodiment of the present invention is an encryption primitive, and can map an input to a Verifiable pseudo-Random output. The algorithm principle was introduced by Micali, rabin and Vadhan in 1999 and is now widely used in various encryption schemes, protocols and systems.
The VRF algorithm comprises three steps, which are respectively: keygen (key generation), evaluate (evaluation), and Verify (verification).
Keygen (r) → (VK, SK): the Keygen step refers to the key generation algorithm producing a verification public key VK and private key SK pair on a random input r.
Evaluate (SK, X) → (Y, 9076;): the Evaluate step refers to the evaluation algorithm outputting a pseudo-random value Y and evidence 9076with the private key SK and the message X as inputs.
Verify (VK, X, Y, \ 9076;) → 0/1: the Verify step refers to the verification algorithm that will Verify the public key VK, the message X, the pseudorandom value Y and the evidence \9076, as inputs, and output 1 if and only if it verifies that Y is the output that the evaluation algorithm produces on inputs SK and X.
The principle of the block chain network for realizing the corresponding consensus mechanism based on the VRF algorithm is as follows:
the system sets a probability threshold value p for each consensus node i The probability p of the consensus node being selected as the voter (block proposal node or block voting node) in a round of election is shown i
Figure DEST_PATH_IMAGE001
=
Figure DEST_PATH_IMAGE002
Wherein the content of the first and second substances,
Figure DEST_PATH_IMAGE003
is the weight fraction of the consensus node, c (defined as the active coefficient of the node) is a constant and 0<c<1。
Without loss of generality, each consensus node is given the same weight, so the probability p can be simplified as:
Figure DEST_PATH_IMAGE004
=
Figure DEST_PATH_IMAGE005
where n is the total number of consensus nodes, c (defined as the activity coefficient of a node) is a constant and 0-c-1. For example, in a round of consensus algorithm, the total number of consensus nodes is 100, each consensus node is given the same weight, and if the number of voters desired to be selected is 20, p =0.2.
A threshold value \428iscalculated by the probability threshold value p:
Ƭ=
Figure DEST_PATH_IMAGE006
wherein the content of the first and second substances,l vrf is the bit length of the VRF algorithm output Y.
Checking whether the output Y of the consensus node is in the range of the value range [0, 428 ], and selecting the consensus node with the output Y in the range of the value range [0, 428 ] as a block proposal node or a block voting node.
From a given (Y, \9076;) and the user's verification public key VK, anyone can verify if Y is a valid unique output and it falls within the desired range of values [0, 428.
In the process of consensus based on the VRF algorithm, the result of the VRF algorithm cannot be predicted by using the node private key as input, and other nodes can verify the legality of the result only after receiving the random result disclosed by the voter through a network, namely, the voter takes action when an attacker learns the election result. Furthermore, the output value of the VRF algorithm contains, in addition to the random value, a proof of knowledge that the random value was verified, i.e. it is proven that the random value was generated by someone without knowing someone's private key.
In order to better explain the method provided by the embodiment of the invention, a brief description is made next to the POS consensus mechanism based on the VRF algorithm. The Byzantine fault tolerance of the POS consensus mechanism based on the VRF algorithm is 1/3, namely, the maximum 1/3 allowed nodes are malicious nodes, and the whole consensus process is generally divided into the following three consensus stages:
(1) a block proposing stage;
and each consensus node confirms whether the consensus node belongs to the block proposal node or not through a VRF algorithm, if the consensus node is the block proposal node, the newly received transaction data is subjected to block packaging processing to generate a new block, and the new block is broadcasted to the whole network.
(2) A block voting stage;
after each consensus node receives a plurality of new blocks, the new blocks are verified, and the new block with the highest priority is selected according to consensus rule convention. And each consensus node confirms whether the consensus node belongs to the block voting node or not through a VRF algorithm, and if the consensus node is the block voting node, a new block with the highest priority is selected from the new blocks received by the consensus node for voting, and voting information is broadcasted to the whole network. And each consensus node receives a plurality of pieces of voting information, counts the voting information and acquires a new block with the voting number larger than 2/3 of the threshold node number.
(3) A block confirmation stage;
and each common identification node confirms whether the common identification node belongs to the block confirmation node or not through a VRF algorithm, if the common identification node belongs to the block confirmation node, the common identification node confirms a new block of which the counted voting number is greater than 2/3 of the threshold node number, and broadcasts confirmation information to the whole network. Each consensus node receives a plurality of confirmation information, counts the confirmation information, obtains a new block with the confirmation number larger than 2/3 of the threshold node number, and writes the new block into a local block chain.
The POS consensus mechanism based on the VRF algorithm achieves consensus through three types of phase messages. If only the two phase messages of the block proposal phase and the block voting phase are not globally consistent. If there is no block confirmation stage, the node 1 reaches the block confirmation state after collecting votes greater than 2/3 in the block voting stage, however, the block confirmation state is only a local view angle of the node 1, and is not globally consistent, at this time, the node 1 cannot guarantee that the rest of nodes all reach the block confirmation state, and if less than 1/3 of the non-malicious nodes become the block confirmation state, and the node 1 confirms the message again, the system is inconsistent. And three-stage message is adopted for consensus, and a node collects acknowledgement information larger than 2/3, which means that more than 1/3 of non-malicious nodes reach a block acknowledgement state, and means that most nodes already acknowledge the message. In this case, the non-malicious nodes in the agreed-upon state are greater than 1/3, while the malicious nodes assumed by the system are less than 1/3, so no matter how the malicious nodes subsequently perform joint challenge on the block data, the total number of non-malicious nodes in the agreed-upon state is always greater than the total number of malicious nodes performing joint challenge.
It should be noted that, after the node 1 collects votes greater than 2/3 in the block voting phase, it reaches the block validation state, although the block validation state is only a local view of the node 1, the block validation state already allows the node 1 to identify the parent block to be proposed as a new block, that is, the node 1 has the capability of proposing a new block based on the parent block, which is also the key logic of the embodiment of the present invention that can combine two consensus phases.
In order to better explain the method provided by the embodiment of the present invention, based on the above principle, the overall flow of the mainstream POS consensus mechanism based on the VRF algorithm is briefly described next.
In the POS consensus mechanism based on the VRF algorithm, the data of each new block includes VRF transaction information (abbreviated as VRF consensus transaction information) generated in the consensus process of the previous block, and generally includes the following transaction information: VRF block proposal information, VRF block vote information, and VRF block confirmation information. The main consensus process is:
(1) a block proposal phase (propofol);
the system regularly appoints the pseudo random number of the proposal stage of the j-th consensus of a new block i (the block height is i)X pij X pij = block proposed node of target block in previous round of active consensus process (x-th round of consensus with block height i-1)t pseudo-random value calculated in block proposal stageY tp i- x(1) . The system will contract a threshold T for the block proposal phase p . The consensus node a calculates: evaluate (ii) (SK a X pij )→(Y apij ,⍴ apij ) To confirm its outputY apij Whether in the value range [0, T p ]Within range, if outputY apij In the value range [0, T p ]Within the scope, a new block i is packaged according to rules, and the VRF block offer information of the new block i is submitted to the whole network, which generally includes: block height i of new block, jth round consensus process (of block height i), public keyVK a Pseudo random value ofY apij Evidence of 9076 apij Hash value of new block i to be committedBH aij And signature itemSign apij
(2) A block voting stage (vote);
the system appoints the pseudo-random number of the j-th consensus voting stage of a new block i (with the block height of i) through a ruleX vij X vij = pseudo-random value calculated by block proposal node t of target block in block proposal stage in previous round of effective consensus process (x-th round of block height i-1)Y tp i- x(1) The system will agree on a threshold T for the block voting stage v . And (3) calculating by the consensus node b: evaluate (ii) (SK b X vij )→(Y bvij ,⍴ bvij ) To confirm its outputY bvij Whether in the value range [0, T v ]Within the range. If outputY bvij In the value range [0, T v ]Insofar, the block voting node verifies the validity of the offer information: verify (VK a X pij Y apij ,⍴ apij ) → 0/1, and verifies the validity of the signature item. According to a common ruleThe logic selects an optimal block from the new blocks i to be submitted and submits the VRF block voting information of itself to the whole network, which generally includes: block height i of new block, jth round consensus process (of block height i), public keyVK b Pseudo random value ofY bvij Evidence 9076 bvij Hash value of the voted new block i to be committedBH bij And signature itemSign bvij
The block voting node verifies the validity of the voting information: veriffy (VK b X vij Y bvij ,⍴ bvij ) → 0/1, verify the validity of the signature item, and count the votes of the proposed block if the votes exceed the threshold value agreed by the systemV v Then the own new block data is submitted to the whole network.
(3) A block validation phase (refine);
the system regularly appoints the pseudo-random number of the verification stage of the j-th consensus of a new block i (block height is i)X fij X fij = pseudo-random value calculated by block proposal node t of target block in block proposal stage in previous round of effective consensus process (x-th round of block height i-1)Y tp i- x(1) The system will agree on a threshold T for the block acknowledgement phase f . And c, calculating by the consensus node: evaluate (ii) (SK c X fij )→(Y cfij ,⍴ cfij ) To confirm its outputY cfij Whether in the value range [0, T f ]Within range, if outputY cfij In the value range [0, T f ]In the scope, the new block data is verified (including the VRF consensus transaction information of the parent block i-1), the number of votes corresponding to the new block is verified, and the VRF block confirmation information of the new block is submitted to the whole network according to the verification result of the new block, which generally includes: block height i of new block, pass j (of block height i)Program, public keyVK c Pseudo random value ofY cfij Evidence 9076 cfij Hash value of new block i to be confirmedBH cij (if there is no qualified new block, then the new block is processedBH cij Set to 0) and signature itemSign cvij
And the node of the whole network verifies the validity of the confirmation information: verify (VK c X fij Y cfij ,⍴ cfij ) → 0/1, verifying the validity of the signature item, and counting the number of confirmations of the new block if the number of confirmations exceeds the threshold agreed by the systemV f Then the new block i is confirmed as a qualified new block to be written into the block chain. If the new block i is successfully identified, the next round of consensus is the 0 th round of consensus process for the new block i +1 (block height i + 1). If the new block i fails to be identified, the next round of consensus is the j +1 th round of consensus process for the new block i (block height i).
A POS consensus mechanism based on a VRF algorithm does not have a leader role in the traditional Byzantine logic, all consensus nodes participate equally, and no leader role leads the whole consensus process.
It should be noted that, the POS consensus mechanism based on the VRF algorithm is only to better describe the method provided by the embodiment of the present invention, and a brief description of the mainstream consensus mechanism is provided, which is not an application process of the block chain consensus method provided by the embodiment of the present invention.
To better illustrate the method provided by the embodiment of the present invention, on the basis of the method shown in fig. 1, the embodiment of the present invention provides another block chain consensus method, wherein the step S103 of determining, according to the first signature item and a preset verifiable random function algorithm, whether the current consensus node is a proposed node for the block in the current round of consensus process includes:
determining a round identification and an identifier of an proposed stage corresponding to the round consensus process;
in the method provided by the embodiment of the invention, the block chain network records the round identification corresponding to the current consensus process in each round of consensus process, the round identification represents the times of consensus on the blocks with the current block height, and an offer stage identifier for identifying the block offer stage is also agreed in advance.
Determining a first verification random number corresponding to the target block;
in the method provided by the embodiment of the present invention, a first verification random number corresponding to a target block can be obtained from VRF block proposal information corresponding to the target block, where the random number is a verification random number output by an evaluation algorithm in a VRF algorithm when a consensus node of the target block is determined to be a block proposal node in a previous round of effective consensus process.
Determining a pseudo-random number corresponding to the current consensus node based on the round identification, the proposed phase identifier, the first verification random number, and the first signature item;
in the method provided by the embodiment of the invention, a pseudo-random number can be generated through a random number function based on the round identification and proposed stage identifier, the first verification random number and the first signature item corresponding to the round consensus process.
Determining a second verification random number corresponding to the current consensus node based on the pseudo random number and a preset evaluation algorithm;
in the method provided by the embodiment of the invention, a verification random number can be output by taking a private key of the current consensus node and the pseudo-random number generated in the previous step as input parameters based on an evaluation algorithm in a VRF algorithm.
And judging whether the second verification random number is in a preset value range or not, and if the second verification random number is in the preset value range, determining that the current consensus node is the block proposed node in the current consensus process.
The method provided by the embodiment of the invention can determine whether the current consensus node is the current block proposed node, namely the node generating the block, by judging whether the second verification random number is within the preset value range. Referring to the above description of the principle of the POS consensus mechanism, specifically, the processing procedure may be:
the system regularly appoints the pseudo-random number of the proposal stage of the j-th consensus of a new block i (block height is i)X pij X pij = random number function (pseudo random value calculated by block proposal node t of parent block with block height i-1 in block proposal stage)Y tp i- x(1) (first authentication random number), the value of the BLS aggregate signature term (first signature term), j, proposal phase identifier of the block voting information of the parent block having a block height of i-1. Where x is the consensus round of the block height i-1 of the parent block, j is the consensus round of this round, and the proposed phase identifier is a system agreed identifier (e.g.: 0x 00) for identifying the proposed phase. The invention obtains a first signature item based on a BLS aggregate signature algorithm.
And (3) calculating by the consensus node a: evaluate (ii) (SK a X pij )→(Y apij ,⍴ apij ) To confirm its outputY apij Whether in the value range [0, T p ]Within the range. If outputY apij In the value range [0, T p ]Within the scope, the consensus node a identifies itself as the proposed node for the block in the current round of consensus.
Based on the method provided by the embodiment of the invention, the signature item obtained by the block voting information of the parent block is used as the input parameter of the random number function of the message X of the VRF algorithm in the current consensus process, so that the possibility that the block proposed node in the next consensus process is confirmed by performing joint calculation on the current block proposed node and other malicious nodes is eliminated, and the safety and the decentralization capacity of a block chain are ensured.
Further, on the basis of the method provided by the foregoing embodiment, another block chain consensus method is provided in the embodiments of the present invention, wherein the step S104 of determining the block proposal information corresponding to the block corresponding to the current consensus node includes:
determining proposed summary information corresponding to the current consensus node;
determining block confirmation summary information and a second signature item corresponding to a parent block of the target block;
determining block voting summary information corresponding to the target block;
determining block confirmation information of the current consensus node for the target block;
determining verification information, wherein the verification information comprises a public key and a third signature item;
determining the proposal summary information, the block validation summary information, the second signature item, the block voting summary information, the block validation information, the verification information, and the first signature item as the block proposal information.
In the method provided by the embodiment of the invention, after the current consensus node confirms that the current consensus node proposes a node for the block in the current consensus process, a new block i is packaged according to the determined block height and the consensus process, and the block proposal information of the current consensus node, namely the VRF block proposal information, is submitted to the whole network. In the method provided by the embodiment of the invention, the VRF block proposal information comprises the following information contents: the proposal information (proposal summary information) of the new block i, the VRF block validation information and BLS aggregate signature item (block validation summary information and second signature item corresponding to the parent block of the target block) of the parent block of the new block i, the VRF block voting information and BLS aggregate signature item (block voting summary information) of the parent block of the new block i, the VRF block validation information (block validation information of the target block) of the parent block of the new block i of the current consensus node, the public key, and the signature item (verification information, public key) of the above 4-part informationVK a And a signature itemSign apij )。
The offer information of the new tile i may include: block height i of new block, current consensus round j (of block height i), pseudo-random valueY apij Evidence 9076 apij And the hash value of the new block i to be committedBH aij
The VRF block acknowledgement information and BLS aggregate signature entry of the parent block of the new block i may include: the number t of pieces of block identification information of the parent block of the new block i, and the array content of the piece of block identification information of the parent block of the new block i (array set of individual piece of block voting information of the parent block of the new block i, m = [0, t-1 ]]M is a subscript of each array element), public keyPPVK fm Pseudo-random valuePPY fm Evidence, evidencePP fm Hash value of parent block of new block iPPBH i And a BLS aggregate signature term.
The VRF block voting information and BLS aggregate signature entries for the parent block of new block i may include: the number t 'of the block voting information of the parent block of the new block i, and the array content of the block voting information of the parent block of the new block i (array set of the block voting information of the parent block of the new block i, n = [0, t' -1 ]]N is a subscript for each array element), public keyPVK vn Pseudo random value ofPY vn Evidence, evidenceP vn Hash value of parent block of new block iPBH i And a BLS aggregate signature term.
The confirmation information of the current consensus node for the parent block of the new block i may include: pseudo-random valueY apij Evidence of 9076 apij And hash value of parent block of new block iPBH i The signature item of (1).
To better explain the method provided by the embodiment of the present invention, in combination with the block structure diagram shown in fig. 2, the structure of the block in the method provided by the embodiment of the present invention includes a block header, VRF consensus confirmation information (VRF block confirmation information) of a parent block of the block, VRF consensus voting information (VRF block voting information) of the parent block of the block, VRF consensus proposal information (VRF block proposal information) of the block, and non-VRF consensus transaction information (transaction data) of the block.
When the block proposal information is packed, the consensus node may obtain, from the block data of the target block, VRF information related to the parent block of the current block and the parent block of the parent block.
It should be noted that, the parent block information of the new block generated by each block proposal node is usually unique, and if not, the vote number threshold cannot be reached in the voting stage, and the block proposal stage of the new block cannot be entered. In addition, the specific information content provided in the embodiment of the present invention is only to better illustrate a specific embodiment provided by the method of the present invention, and in a specific implementation process, the specific information content may be determined according to an actual requirement, and is not limited to the specific parameters provided in the embodiment of the present invention.
Based on the method provided by the embodiment of the invention, the block height of the new block and the related information of the current consensus round are added into the block proposal information, which is beneficial to making each consensus node in the block chain agree on the sequence number in the consensus stage.
Further, on the basis of the method provided by the above embodiment, the method provided by the embodiment of the present invention further includes:
determining block proposal information corresponding to each first block, and performing eligibility verification on the target block based on the block proposal information corresponding to each first block; the first block is a block generated in the current round of consensus process;
in the method provided by the embodiment of the present invention, the current consensus node may receive block offer information corresponding to each block generated in the current consensus process, where each block offer information records a parent block i-1 of its corresponding block i. Normally, the parent block i-1 is the target block. Counting the number of the block voting information and the number of the block confirmation information of the parent block i-1 are respectively greater than the threshold value agreed by the system (that is, the number of votes and the number of confirmations are respectively greater than the threshold value), and determining that the parent block i-1 passes the eligibility verification. The specific principle is that in the POS consensus mechanism based on the VRF algorithm, the block confirmation stage confirms the block to be confirmed, and reference may be made to the above description of the POS consensus mechanism.
If the number of votes or the number of confirmations of the target block is not greater than a preset threshold value according to the related information of the parent block described in the respective block proposal information, it fails the eligibility verification.
And if the target block passes the qualification verification, writing the target block into a local block chain.
In the method provided by the embodiment of the invention, if the target block passes the qualification verification, the target block is used as a qualified block and is written into the local, and the block is confirmed according to the main chain selection logic. And BLS aggregation signature calculation can be carried out on the confirmation information of the parent block i-1 in each block proposal information, a corresponding BLS signature item is generated, and the related data is stored.
In the method provided by the embodiment of the invention, if the target block does not pass the qualification verification and other blocks pass the qualification verification, the block confirmed by the block chain network is written into the local area.
In order to better illustrate the method provided by the embodiment of the present invention, on the basis of the method provided by the above embodiment, the method provided by the embodiment of the present invention further includes:
determining each branched chain corresponding to the local block chain;
determining the number of the branched blocks corresponding to each branched chain and the cumulative consensus times of branching;
for each branch chain, determining whether the number of the branch blocks corresponding to the branch chain is smaller than a preset number threshold, and whether the cumulative branching consensus number corresponding to the branch chain is smaller than a preset number threshold, if the number of the branch blocks corresponding to the branch chain is smaller than the preset number threshold, and the cumulative branching consensus number corresponding to the branch chain is smaller than the preset number threshold, taking the branch chain as a first branch chain in the local block chain;
judging whether a plurality of first branch chains exist in the local block chain or not, if so, judging whether each block on the first branch chain is a qualified block or not for each first branch chain in the local block chain, and if so, taking the first branch chain as a second branch chain in the local block chain;
judging whether a plurality of second branched chains exist in the local block chain, and if the plurality of second branched chains exist in the local block chain, determining the total voting number corresponding to each second branched chain in the local block chain;
and taking the second branch chain with the maximum corresponding total voting number in each second branch chain in the local block chain as a main chain.
In the method provided by the embodiment of the present invention, the nodes in the block chain network need to synchronize blocks from other nodes and determine the main chain according to the ascending order of the block heights from the created block. The consensus node may determine the main chain in the block chain structure obtained in synchronization after the new block is uplinked.
In the method provided in the embodiment of the present invention, a threshold θ (a preset number threshold) of the number of consecutive blocks and a threshold Φ (a preset number threshold) of a coefficient of an accumulated consensus round of consecutive blocks may be preset.
In the method provided by the embodiment of the present invention, in a block chain (a block chain with branches), starting from a new block (a last block), tracing back to a first block branching point through a parent block thereof, counting the number of blocks from the new block to the first block branching point and an accumulated consensus round, if the number of blocks is greater than θ and the accumulated consensus round is greater than Φ, then the block traces back until all blocks (blocks not including the branching point) at the first block branching point are not qualified blocks, and the branch chain is not qualified branch chain. And if the block number and the accumulated consensus round meet the preset threshold requirement, taking the branch chain as a first branch chain in the block chain. This determination is made for each branching chain in the blockchain.
In the method provided in the embodiment of the present invention, if it is determined that only one first branch chain exists in the block chain, the branch chain may be used as a main chain, and if there are at least two first branch chains, it is further determined whether each block in each first branch chain is a qualified block, and if the number of block ack information of the parent block recorded in the new block does not satisfy the threshold value stipulated by the system, the block is not a qualified block, or the number of block vote information of the parent block recorded in the new block does not satisfy the threshold value stipulated by the system, the block is not a qualified block. If the blocks on the first branched chain are all qualified blocks, the first branched chain is taken as a second branched chain. If only one second branch chain is present in the block chain, this branch chain may be taken as the main chain. If at least two second branch chains exist in the block chain, adding the number of the block voting information of each block on each second branch chain from the created block, and selecting the branch chain with the largest number of the voting information after the addition as a main chain.
For example, the block chain structure shown in fig. 3 includes a created block and blocks 1 to 6, the common rounds of the blocks 1 to 6 are shown, a branch is generated at the block 2 from the created block in the block chain, and a block branching point traced back from a new block of the branch chain 1 (the last block is a branch chain of the block 5) and the branch chain 2 (the last block is a branch chain of the block 6) is the block 2. The branch chain 2 may be taken as the main chain according to the main chain selection logic described above.
Based on the method provided by the embodiment of the invention, according to the fact that the number of the block voting information and the number of the block confirmation information need to simultaneously satisfy the system agreed threshold value to confirm the characteristics of the block, it means that the malicious node needs to greatly increase the consensus sequence to successfully complete the consensus process, so the system can agree the threshold value and confirm a new block created by the malicious node cooperation less than 1/3 by counting the consensus sequence of the continuous blocks, so as to eliminate the branch chain created by malicious node cooperation. In addition, the existing POS consensus mechanism usually adopts a rich rule to solve the long-range attack problem, and the amount of computation on the main chain verification logic is large, while the computational power consumption of an attacker is small, which is beneficial for the attacker to perform long-range attack. Based on the method provided by the embodiment of the invention, the long-range attack difficulty of the malicious node can be increased and the safety of the block chain can be improved by utilizing the pseudo-randomness and the uniqueness of the VRF algorithm and simultaneously meeting the joint probability characteristic of the threshold through the effective voting total number and the effective confirmation total number. Meanwhile, by utilizing the logic characteristic that the common identification process can be completed only after more common identification rounds are needed in the attack process than in the normal process, the common identification rounds completed can be used as the verification elements of the verification logic of the main chain, the verification logic of the main chain is simplified, and the verification efficiency of the main chain is improved.
In order to better explain the method provided by the embodiment of the present invention, on the basis of the method provided by the above embodiment, the method provided by the embodiment of the present invention further includes:
judging whether the current consensus node is a block voting node in the current consensus process according to the first signature item and the preset verifiable random function algorithm;
if the current consensus node is a block voting node in the current consensus process, performing validity verification on block proposal information corresponding to each first block;
if the block proposal information corresponding to each first block passes validity verification, determining a voting block in each first block;
determining block voting information corresponding to the voting block;
and submitting the block voting information corresponding to the voting block to the block chain network.
In the method provided by the embodiment of the invention, the first signature item can be used as an input parameter of a VRF algorithm, and whether the current consensus node is the current block voting node or not is determined based on the VRF algorithm. Except for the algorithm process of the VRF algorithm, the voting principle is the same as that of the voting process of the block voting stage in the POS consensus mechanism based on the VRF algorithm, and the above description can be referred to.
Specifically, the block voting process in the consensus process provided by the embodiment of the present invention can be implemented based on the following process principles:
the system agrees on a threshold T for the block voting stage v The pseudo-random number of the jth consensus voting stage of the new block i is agreed by the ruleX vij X vij = random number function (pseudo random value calculated by block proposal node t of parent block with block height i-1 in block proposal stage)Y tp i- x(1) The value of the BLS aggregated signature item of the block voting information of the parent block with the block height of i-1, j, and a voting stage identifier), where x is the consensus round of the block height i-1 of the parent block, j is the consensus round of the current round, and the voting stage identifier is a system-agreed identifier for identifying the voting stage (for example: 0 xff).
And (3) calculating by the consensus node b: evaluate (ii) (SK b X vij )→(Y bvij ,⍴ bvij ) To confirm its outputY bvij Whether in the value range [0, T v ]Within the range. If outputY bvij In the value range [0, T v ]Within range, the consensus node b identifies itself as a block voting node.
The block voting node verifies the validity of the block proposal information: verify (VK a X pij Y apij ,⍴ apij ) → 0/1, and verifies the validity of the signature item. After the block proposal information is verified, selecting a best block to be proposed for voting according to a consensus rule logic based on a plurality of block proposal information, wherein the selection process can comprise:
(1) confirming that the parent block of the proposed block is a qualified block, wherein the quantity of the VRF block voting information and the quantity of the VRF block confirmation information of the parent block i-1 are both larger than a threshold value appointed by the system;
(2) confirming that the number t of the VRF block confirmation information of the parent block of the proposed block is larger than a threshold value agreed by a system;
(3) confirming the correctness of the VRF block confirmation information of the parent block of the proposed block and the BLS aggregation signature item;
(4) according to a block weight selection rule, selecting a proposed block with the maximum parent block weight as an optimal proposed block;
if the parent block has the same weight, a pseudo-random value is calculated from the proposed information of the new block i of the block proposed informationY apij The block with the smallest hash value is selected as the block with the largest weight.
The block weight selection rule of the new block in the consensus process provided by the embodiment of the invention can be summarized as the following rule:
a) The total number of valid votes for the parent of the new block must meet a thresholdV v
b) The total number of valid votes for the new block must meet a thresholdV v
c) Selecting the new block with the most effective total votes as the block with the largest weight for a plurality of new blocks with the same block height;
d) For a plurality of new blocks with the same block height, if the total number of valid votes of the new blocks is the same, selecting the new block with the minimum value of the BLS signature item as the block with the maximum weight;
e) For a plurality of new blocks of the same block height, if the total number of valid votes for the new blocks are all the same and the values of the BLS signature terms are equal, then the pseudo-random value of the block proposal stage is selected from themY apij The block with the smallest hash value is used as the block with the largest weight.
After selecting the best proposed block, the block voting node submits its own VRF block voting information (i.e., block voting information) to the whole network, where the block voting information may include: the voting information of the new block i, the public key and the signature item of the voting information.
The voting information of the new tile i may include: pseudo-random valueY bvij Evidence 9076 bvij And the hash value of the voted proposed new chunk iBH bij
The signature items of the public key and the voting information comprise the public keyVK b And a signature itemSign bvij
Based on the embodiment of the present invention, the block voting in the consensus process provided by the embodiment of the present invention is described. The block voting stage in the consensus process provided by the embodiment of the present invention further needs to follow the following block voting rules:
(1) the system will agree on a threshold T for the block voting stage v Thereby allowing the selected number of block voting nodes to satisfy a thresholdS v (for example, let the VRF algorithm probabilistically select 21 nodes from 100 consensus nodes as the block voting nodes), the system selects the threshold according to the block voting nodesS v Agreeing on a threshold for the total number of votes for a proposed blockV v (for example,V v =2/3S v );
(2) one ticket is not allowed for multiple throws: the same voting node votes for different proposed blocks (voting: submitting block voting information);
(3) a penalty mechanism is established for more than one ticket: the block voting node has a vote multi-cast problem, deducts the digital assets pledged to the system and makes the digital assets lose the qualification of the consensus node;
(4) the block voting information submitted by the block voting node with one vote and multiple votes is not counted in the total effective voting number of the proposed block;
(5) the consensus node initiatively discards the block voting information which is not in the current consensus stage, so that the success rate of the delay attack of the malicious node is reduced.
In order to better describe the method provided by the embodiment of the present invention, the embodiment of the present invention provides another block chain consensus method, and on the basis of the method provided by the above embodiment, the method provided by the embodiment of the present invention further includes:
determining the number of votes corresponding to each first block, and determining a block to be confirmed in each first block based on the number of votes corresponding to each first block;
determining voting information of each block corresponding to the block to be confirmed;
and performing signature processing based on the voting information of each block corresponding to the block to be confirmed and a preset aggregation signature algorithm to obtain a signature item corresponding to the block to be confirmed.
In the method provided by the embodiment of the invention, the consensus node can receive all the block voting information of the block chain network, after receiving each block voting information, the voting number corresponding to each first block is determined based on each block voting information, and the best new block is selected as the block to be confirmed according to the consensus logic rule. And signing based on the voting information (representing the voting of the blocks to be confirmed) of each block corresponding to the blocks to be confirmed to obtain a corresponding signature item, wherein the signature item can be used as a first signature item in the next consensus process and is used for processing a VRF algorithm in the next consensus process. Specifically, the processing procedure may include:
each consensus node receives the block voting information, and verifies the validity of the voting information: verify (VK b X vij Y bvij ,⍴ bvij ) → 0/1, and verifies the validity of the signature item. Counting the block voting information, selecting a best new block to be confirmed from a plurality of block voting information (the block voting information represents a certain block to vote) according to a common rule logic, if the number of selected votes exceeds a threshold value appointed by the systemV v If the new block exceeds the threshold valueV v The number of the blocks is multiple, and the block with the largest number of effective votes is selected as a new block to be confirmed. If the effective votes of the blocks are the same, determining the VRF block voting information and the BLS aggregation signature item of the parent block from the corresponding block proposing information, and selecting the block with the maximum parent block weight as the maximum block weight according to the block weight selection ruleGood new blocks to be confirmed. If the parent block points to the same block or the parent block has the same weight, obtaining the pseudo-random value from the corresponding block proposal informationY apij And selecting the block with the minimum hash value as the best new block to be confirmed. And performing BLS aggregation signature calculation on the block voting information of the selected optimal new block i to be confirmed to generate a corresponding BLS signature item, obtaining a signature item corresponding to the new block i to be confirmed, and storing related data.
The aggregated signature algorithm adopted in the method provided by the embodiment of the invention is a BLS signature algorithm, which is an existing signature algorithm capable of realizing signature aggregation and key aggregation, and will not be described in detail herein. The addition operation of the elliptic curve of the BLS signature algorithm meets the exchange law and the combination law, so that the values of the signature items of the plurality of pieces of block voting information can uniquely determine the values of the signature items obtained by calculating the BLS aggregate signature.
To better illustrate the method provided by the embodiment of the present invention, referring to the schematic diagram of the generation sequence of the block consensus information (including the block proposal information, the block voting information, and the block confirmation information) shown in fig. 4, in the method provided by the embodiment of the present invention, in one round of consensus process, the block proposal information and the block voting information of the currently generated block are generated, and the block confirmation information of the block to be confirmed in the current consensus process is generated in the next round of consensus process.
In the method provided in the embodiment of the present invention, in the block proposal stage in the current round of consensus process, the block confirmation information of the block to be confirmed in the previous round of consensus process (that is, the target block mentioned in the above embodiment) is determined, when the current block proposal node submits the block proposal information, the block confirmation information of the block to be confirmed in the previous round of consensus process can be submitted to the block chain network at the same time, and in the voting process of the currently generated block in the current round of consensus process, the block to be confirmed can be confirmed.
Based on the method provided by the embodiment of the invention, the block production of the current round of consensus process and the block verification of the target block of the previous round of consensus process are parallelized through the pipeline working mechanism of the consensus process, and the two consensus stages are combined into one, so that the consensus overall time is reduced, the consensus overall efficiency is improved, and the consensus performance of a block chain is further improved.
Corresponding to the blockchain consensus method shown in fig. 1, an embodiment of the present invention further provides a blockchain consensus device, which is used to implement the method shown in fig. 1, where the device is applied to each consensus node in a blockchain network, and a schematic structural diagram of the device is shown in fig. 5, where the device includes:
a first determining unit 201, configured to determine, when the block chain network enters a current round of consensus process, respective block voting information corresponding to a target block, and perform proposed verification on the target block based on the respective block voting information, where the target block is a block obtained by voting, by a respective block voting node in a previous round of consensus process, on respective blocks generated in the previous round of consensus process;
a second determining unit 202, configured to determine a first signature item if the target block passes the proposed verification, where the first signature item is signature data obtained by performing signature processing based on the voting information of each block;
a first determining unit 203, configured to determine whether a current consensus node is a block proposed node in the current consensus process according to the first signature item and a preset verifiable random function algorithm;
a third determining unit 204, configured to generate a block corresponding to the current consensus node if the current consensus node is a block proposed node in the current consensus process, and determine block proposed information corresponding to the block corresponding to the current consensus node;
a first submitting unit 205, configured to submit the block proposal information to the blockchain network, so that the blockchain network can agree on the block corresponding to the current consensus node.
Based on the apparatus provided in the embodiment of the present invention, when entering a new consensus process, each consensus node in the blockchain network may determine each piece of block voting information corresponding to a target block (an optimal block generated by voting in a previous round of consensus process) to perform proposal verification on the target block, and if the target block passes the proposal verification, determine whether the current consensus node is a current block proposal node through a VRF algorithm and a first signature term obtained based on the piece of block voting information, and if so, the current consensus node generates a new block and packages the piece of block proposal information corresponding to the block. The block proposal information is submitted to a blockchain network to identify new blocks. By applying the device provided by the embodiment of the invention, in the process that the consensus node judges whether the consensus node can become a production block in the current consensus process, the signature item obtained based on the voting information of each block generated in the previous consensus process is used as the input parameter of the VRF algorithm. If the rogue node becomes the current block proposal node, when the rogue node generates the block, the input parameters of the VRF algorithm in the next consensus process cannot be estimated by combining other rogue nodes, whether each rogue node can become the block proposal node in the next consensus process cannot be determined, each rogue node is difficult to jointly earn the maximum benefit, the safety of a block chain can be improved, and the decentralization capability can be guaranteed. In the apparatus provided in the embodiment of the present invention, in the block proposing stage in the current consensus process, the confirmation logic for the target block in the previous round of consensus process is synchronously completed, and the final confirmation process for the target block is completed.
In addition to the apparatus provided in the foregoing embodiment, in the apparatus provided in an embodiment of the present invention, the first determining unit 203 includes:
the first determining subunit is configured to determine a round identifier and an proposed phase identifier corresponding to the round of consensus process; determining a first verification random number corresponding to the target block;
a second determining subunit, configured to determine, based on the round identifier, the proposed phase identifier, the first verification random number, and the first signature item, a pseudo-random number corresponding to the current consensus node;
a third determining subunit, configured to determine, based on the pseudo-random number and a preset evaluation algorithm, a second verification random number corresponding to the current consensus node;
a fourth determining subunit, configured to determine whether the second verification random number is within a preset value range, and if the second verification random number is within the preset value range, determine that the current consensus node is the block proposed node in the current consensus process.
On the basis of the apparatus provided in the foregoing embodiment, in the apparatus provided in the embodiment of the present invention, the third determining unit 204 includes:
a fifth determining subunit, configured to determine proposed summary information corresponding to the current consensus node; determining block confirmation summary information and a second signature item corresponding to a parent block of the target block; determining block voting summary information corresponding to the target block; determining block confirmation information of the current consensus node for the target block; determining verification information, wherein the verification information comprises a public key and a third signature item; determining the proposal summary information, the block verification summary information, the second signature item, the block voting summary information, the block verification information, the verification information and the first signature item as the block proposal information.
On the basis of the apparatus provided by the above embodiment, the apparatus provided by the embodiment of the present invention further includes:
a fourth determining unit, configured to determine block proposal information corresponding to each first block, and perform eligibility verification on the target block based on the block proposal information corresponding to each first block; the first block is a block generated in the current round of consensus process; and if the target block passes the qualification verification, writing the target block into a local block chain.
On the basis of the device provided by the above embodiment, the device provided by the embodiment of the present invention further includes:
a fifth determining unit, configured to determine each branched chain corresponding to the local blockchain; determining the number of the branched blocks corresponding to each branched chain and the cumulative consensus times of branching;
a sixth determining unit, configured to determine, for each branch chain, whether the number of branch blocks corresponding to the branch chain is smaller than a preset number threshold, and whether the cumulative total number of branch consensus times corresponding to the branch chain is smaller than a preset number threshold, and if the number of branch blocks corresponding to the branch chain is smaller than the preset number threshold, and the cumulative total number of branch consensus times corresponding to the branch chain is smaller than the preset number threshold, take the branch chain as the first branch chain in the local block chain;
a second determining unit, configured to determine whether multiple first branched chains exist in the local block chain, if multiple first branched chains exist in the local block chain, determine whether each block on the first branched chain is a qualified block for each first branched chain in the local block chain, and if each block on the first branched chain is a qualified block, use the first branched chain as a second branched chain in the local block chain;
a third determining unit, configured to determine whether there are multiple second branch chains in the local block chain, and if there are multiple second branch chains in the local block chain, determine a total number of votes corresponding to each second branch chain in the local block chain; and taking the second branch chain with the maximum corresponding total voting number in each second branch chain in the local block chain as a main chain.
On the basis of the device provided by the above embodiment, the device provided by the embodiment of the present invention further includes:
a fourth judging unit, configured to judge, according to the first signature item and the preset verifiable random function algorithm, whether the current consensus node is a block voting node in the current consensus process;
a verification unit, configured to perform validity verification on the block proposal information corresponding to each first block if the current consensus node is a block voting node in the current consensus process;
a seventh determining unit, configured to determine a voting block in each of the first blocks if the block offer information corresponding to each of the first blocks passes validity verification;
the second submission unit is used for determining block voting information corresponding to the voting block; and submitting the block voting information corresponding to the voting block to the block chain network.
On the basis of the device provided by the above embodiment, the device provided by the embodiment of the present invention further includes:
the signature unit is used for determining the number of votes corresponding to each first block and determining a block to be confirmed in each first block based on the number of votes corresponding to each first block; determining voting information of each block corresponding to the block to be confirmed; and performing signature processing based on the voting information of each block corresponding to the block to be confirmed and a preset aggregation signature algorithm to obtain a signature item corresponding to the block to be confirmed.
The embodiment of the present invention further provides a storage medium, where the storage medium includes stored instructions, and when the instructions are executed, a device on which the storage medium is located is controlled to execute the above block chain consensus method.
An electronic device is provided in an embodiment of the present invention, and the structural diagram of the electronic device is shown in fig. 6, which specifically includes a memory 301 and one or more instructions 302, where the one or more instructions 302 are stored in the memory 301 and configured to be executed by one or more processors 303 to perform the following operations of the one or more instructions 302:
when the block chain network enters the current round of consensus process, determining each block voting information corresponding to a target block, and performing proposal verification on the target block based on each block voting information, wherein the target block is a block obtained by voting each block voting node in the previous round of consensus process on each block generated in the previous round of consensus process;
if the target block passes the proposal verification, determining a first signature item, wherein the first signature item is signature data obtained by performing signature processing on the basis of the voting information of each block;
judging whether the current consensus node is a block proposed node in the current consensus process or not according to the first signature item and a preset verifiable random function algorithm;
if the current consensus node is a block proposal node in the current consensus process, generating a block corresponding to the current consensus node, and determining block proposal information corresponding to the block corresponding to the current consensus node;
and submitting the block proposal information to the block chain network so that the block chain network can identify the block corresponding to the current common identification node.
All the embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, the system or system embodiments are substantially similar to the method embodiments and therefore are described in a relatively simple manner, and reference may be made to some of the descriptions of the method embodiments for related points. The above-described system and system embodiments are only illustrative, wherein the units described as separate parts may or may not be physically separate, and the parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement without inventive effort.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the technical solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. A method for block chain consensus, the method being applied to each consensus node in a block chain network, the method comprising:
when the block link network enters the current round of consensus process, determining each block voting information corresponding to a target block, and performing proposal verification on the target block based on each block voting information, wherein the target block is a block obtained by voting each block voting node in the previous round of consensus process on each block generated in the previous round of consensus process;
if the target block passes the proposal verification, determining a first signature item, wherein the first signature item is signature data obtained by performing signature processing on the basis of the voting information of each block;
judging whether the current consensus node is a block proposed node in the current consensus process according to the first signature item and a preset verifiable random function algorithm;
if the current consensus node is a block proposal node in the current consensus process, generating a block corresponding to the current consensus node, and determining block proposal information corresponding to the block corresponding to the current consensus node;
and submitting the block proposal information to the block chain network so that the block chain network can identify the blocks corresponding to the current common identification node.
2. The method of claim 1, wherein the determining whether the current consensus node is the block proposed node in the current consensus process according to the first signature term and a predetermined verifiable random function algorithm comprises:
determining a round identifier and an proposed phase identifier corresponding to the round consensus process;
determining a first verification random number corresponding to the target block;
determining a pseudo-random number corresponding to the current consensus node based on the round identification, the proposed phase identifier, the first verification random number, and the first signature entry;
determining a second verification random number corresponding to the current consensus node based on the pseudo random number and a preset evaluation algorithm;
and judging whether the second verification random number is in a preset value range, and if the second verification random number is in the preset value range, determining that the current consensus node is the block proposed node in the current consensus process.
3. The method according to claim 1, wherein the determining block proposal information corresponding to the block corresponding to the current common node comprises:
determining proposed summary information corresponding to the current consensus node;
determining block confirmation summary information and a second signature item corresponding to a parent block of the target block;
determining block voting summary information corresponding to the target block;
determining block confirmation information of the current consensus node for the target block;
determining verification information, wherein the verification information comprises a public key and a third signature item;
determining the proposal summary information, the block verification summary information, the second signature item, the block voting summary information, the block verification information, the verification information and the first signature item as the block proposal information.
4. The method of claim 3, further comprising:
determining block proposal information corresponding to each first block, and performing eligibility verification on the target block based on the block proposal information corresponding to each first block; the first block is a block generated in the current round of consensus process;
and if the target block passes the qualification verification, writing the target block into a local block chain.
5. The method of claim 4, further comprising:
determining each branched chain corresponding to the local block chain;
determining the number of the branched blocks corresponding to each branched chain and the cumulative consensus times of branching;
for each branched chain, determining whether the number of the branched blocks corresponding to the branched chain is smaller than a preset number threshold, and whether the cumulative common identification times of the branches corresponding to the branched chain are smaller than a preset time threshold, if the number of the branched blocks corresponding to the branched chain is smaller than the preset number threshold, and the cumulative common identification times of the branches corresponding to the branched chain is smaller than the preset time threshold, taking the branched chain as a first branched chain in the local block chain;
judging whether a plurality of first branch chains exist in the local block chain or not, if so, judging whether each block on the first branch chain is a qualified block or not for each first branch chain in the local block chain, and if so, taking the first branch chain as a second branch chain in the local block chain;
judging whether a plurality of second branch chains exist in the local block chain, and if the plurality of second branch chains exist in the local block chain, determining the total number of votes corresponding to each second branch chain in the local block chain;
and taking the second branch chain with the maximum corresponding total voting number in each second branch chain in the local block chain as a main chain.
6. The method of claim 4, further comprising:
judging whether the current consensus node is a block voting node in the current consensus process or not according to the first signature item and the preset verifiable random function algorithm;
if the current consensus node is a block voting node in the current consensus process, performing validity verification on block proposal information corresponding to each first block;
if the block proposal information corresponding to each first block passes validity verification, determining a voting block in each first block;
determining block voting information corresponding to the voting block;
and submitting the block voting information corresponding to the voting block to the block chain network.
7. The method of claim 6, further comprising:
determining the number of votes corresponding to each first block, and determining a block to be confirmed in each first block based on the number of votes corresponding to each first block;
determining voting information of each block corresponding to the block to be confirmed;
and performing signature processing based on the voting information of each block corresponding to the block to be confirmed and a preset aggregation signature algorithm to obtain a signature item corresponding to the block to be confirmed.
8. An apparatus for block chain consensus, the apparatus being applied to each consensus node in a block chain network, the apparatus comprising:
a first determining unit, configured to determine, when the block link network enters a current round of consensus process, respective block voting information corresponding to a target block, and perform proposed verification on the target block based on the respective block voting information, where the target block is a block obtained by voting, by a respective block voting node in a previous round of consensus process, on each block generated in the previous round of consensus process;
a second determining unit, configured to determine a first signature item if the target block passes the proposed verification, where the first signature item is signature data obtained by performing signature processing based on the voting information of each block;
a first judging unit, configured to judge, according to the first signature item and a preset verifiable random function algorithm, whether a current consensus node is a block proposed node in the current consensus process;
a third determining unit, configured to generate a block corresponding to the current consensus node if the current consensus node is a block proposed node in the current consensus process, and determine block proposed information corresponding to the block corresponding to the current consensus node;
a first submitting unit, configured to submit the block offer information to the blockchain network, so that the blockchain network identifies the block corresponding to the current common identification node.
9. A storage medium, comprising stored instructions, wherein when the instructions are executed, the apparatus on which the storage medium is located is controlled to execute the blockchain consensus method according to any one of claims 1 to 7.
10. An electronic device comprising a memory and one or more instructions stored in the memory and configured to be executed by one or more processors to perform the block chain consensus method according to any one of claims 1 to 7.
CN202211012299.3A 2022-08-23 2022-08-23 Block chain consensus method and device, storage medium and electronic equipment Active CN115118436B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211012299.3A CN115118436B (en) 2022-08-23 2022-08-23 Block chain consensus method and device, storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211012299.3A CN115118436B (en) 2022-08-23 2022-08-23 Block chain consensus method and device, storage medium and electronic equipment

Publications (2)

Publication Number Publication Date
CN115118436A CN115118436A (en) 2022-09-27
CN115118436B true CN115118436B (en) 2022-11-22

Family

ID=83335778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211012299.3A Active CN115118436B (en) 2022-08-23 2022-08-23 Block chain consensus method and device, storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN115118436B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579848A (en) * 2017-08-30 2018-01-12 上海保险交易所股份有限公司 The method that common recognition node is dynamically changed in practical Byzantine failure tolerance common recognition mechanism
CN110300172A (en) * 2019-06-28 2019-10-01 深圳市网心科技有限公司 A kind of the common recognition method and relevant device of block chain data
CN110380847A (en) * 2019-07-01 2019-10-25 阿里巴巴集团控股有限公司 A kind of block chain common recognition method and apparatus
CN111010284A (en) * 2019-12-20 2020-04-14 深圳市网心科技有限公司 Processing method of block to be identified, related device and block chain system
CN111695994A (en) * 2020-05-12 2020-09-22 成都芯域矩阵科技有限公司 Block chain consensus method and system based on credit score
CN113326516A (en) * 2021-04-22 2021-08-31 远光软件股份有限公司 Block chain consensus method, block chain system and computer equipment
CN113673996A (en) * 2021-08-06 2021-11-19 深圳前海微众银行股份有限公司 Block chain-based block node detection method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002297B (en) * 2018-07-16 2020-08-11 百度在线网络技术(北京)有限公司 Deployment method, device, equipment and storage medium of consensus mechanism

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579848A (en) * 2017-08-30 2018-01-12 上海保险交易所股份有限公司 The method that common recognition node is dynamically changed in practical Byzantine failure tolerance common recognition mechanism
CN110300172A (en) * 2019-06-28 2019-10-01 深圳市网心科技有限公司 A kind of the common recognition method and relevant device of block chain data
CN110380847A (en) * 2019-07-01 2019-10-25 阿里巴巴集团控股有限公司 A kind of block chain common recognition method and apparatus
CN111010284A (en) * 2019-12-20 2020-04-14 深圳市网心科技有限公司 Processing method of block to be identified, related device and block chain system
CN111695994A (en) * 2020-05-12 2020-09-22 成都芯域矩阵科技有限公司 Block chain consensus method and system based on credit score
CN113326516A (en) * 2021-04-22 2021-08-31 远光软件股份有限公司 Block chain consensus method, block chain system and computer equipment
CN113673996A (en) * 2021-08-06 2021-11-19 深圳前海微众银行股份有限公司 Block chain-based block node detection method and device

Also Published As

Publication number Publication date
CN115118436A (en) 2022-09-27

Similar Documents

Publication Publication Date Title
CN113794675B (en) Distributed Internet of things intrusion detection method and system based on block chain and federal learning
CN108492103B (en) Joint block chain consensus method
CN108269090B (en) Consensus method and device for block chain system based on non-negotiation random drawing
CN109360100B (en) Transaction rapid confirmation method and device based on block chain technology
US6092051A (en) Secure receipt-free electronic voting
CN109508982A (en) REPB common recognition based on the more subchains of block chain main chain adduction row
CN110912705B (en) Distributed electronic voting method and system based on block chain
CN109685505B (en) Byzantine fault-tolerant consensus optimization method based on association ring signature
CN110445795B (en) Block chain authentication uniqueness confirmation method
CN113129518A (en) Electric vehicle charging system and resource management method thereof
JP7417583B2 (en) Computer-implemented system and method for an accumulator-based protocol for distribution of tasks between computer networks
Esfahani et al. Secure blockchain-based energy transaction framework in smart power systems
CN111416708A (en) Block chain Byzantine fault-tolerant consensus method and system
CN111787034B (en) Block generation method, synchronization method, device, blockchain system and storage medium
CN112651830A (en) Block chain consensus method applied to power resource sharing network
CN111817855A (en) Electronic voting method and system based on Ether house block chain
CN113837758A (en) Consensus method and device for block chain system
Qu et al. A electronic voting protocol based on blockchain and homomorphic signcryption
CN113822672A (en) Block chain consensus method based on zero knowledge proof
CN114463009B (en) Method for improving transaction security of large-scale energy nodes
CN113992526B (en) Coalition chain cross-chain data fusion method based on credibility calculation
CN114422146A (en) Anonymous sorting method for block chain main nodes
US20220278854A1 (en) Unity Protocol Consensus
CN112769936B (en) POVT consensus algorithm based on voting and credit mechanism
CN115118436B (en) Block chain consensus method and device, storage medium 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
GR01 Patent grant
GR01 Patent grant