CN112994891A - Transaction request consensus method and system based on threshold signature - Google Patents

Transaction request consensus method and system based on threshold signature Download PDF

Info

Publication number
CN112994891A
CN112994891A CN201911312321.4A CN201911312321A CN112994891A CN 112994891 A CN112994891 A CN 112994891A CN 201911312321 A CN201911312321 A CN 201911312321A CN 112994891 A CN112994891 A CN 112994891A
Authority
CN
China
Prior art keywords
consensus
block
node
verification
message
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.)
Granted
Application number
CN201911312321.4A
Other languages
Chinese (zh)
Other versions
CN112994891B (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.)
China Mobile Communications Group Co Ltd
China Mobile Group Zhejiang Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Zhejiang 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 China Mobile Communications Group Co Ltd, China Mobile Group Zhejiang Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201911312321.4A priority Critical patent/CN112994891B/en
Publication of CN112994891A publication Critical patent/CN112994891A/en
Application granted granted Critical
Publication of CN112994891B publication Critical patent/CN112994891B/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
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Signal Processing (AREA)
  • Development Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a transaction request consensus method and a transaction request consensus system based on threshold signatures, wherein an accounting node generates a current block request message according to a received transaction request, a verification node verifies the validity of the current block request message, generates a block preparation message carrying the threshold signature of the verification node after the verification is passed, broadcasts the block preparation message to a consensus network, generating a block acknowledgement message in case the consensus node receives a predetermined number of block preparation messages and is able to synthesize the first target threshold signature, in case the consensus node receives a predetermined number of block acknowledgement messages and is able to synthesize a second target threshold signature, the invention realizes the consensus by combining threshold signature verification to perform consensus on the transaction requests, thereby solving the problems of signature bifurcation and sequential execution of consensus nodes in a practical Byzantine fault-tolerant algorithm consensus mechanism.

Description

Transaction request consensus method and system based on threshold signature
Technical Field
The invention relates to the technical field of data service, in particular to a transaction request consensus method and system based on threshold signature.
Background
The Practical Byzantine Fault-tolerant algorithm (PBFT) solves the problem that the original Byzantine Fault-tolerant algorithm is low in efficiency, reduces the complexity of the algorithm from exponential level to polynomial level, and enables the Byzantine Fault-tolerant algorithm to be feasible in the application of a Practical system.
The consensus mechanism adopted in the block chain is to complete verification and confirmation of a transaction in a short time through voting of special nodes, for example, for a transaction, if a plurality of nodes with irrelevant interests can achieve consensus, the whole network can be considered to achieve consensus, the nodes are generally regarded as consensus nodes, and the recording and maintenance of a block chain account book or data are decentralized, namely, a plurality of accounting nodes are usually provided.
In the prior art, in order to reduce repeated operations among nodes, a traditional practical byzantine fault-tolerant algorithm is widely used on a private block chain. However, although the traditional practical byzantine fault-tolerant consensus mechanism reduces the repeated operation, the algorithm has the defects of signature bifurcation or sequential execution of consensus nodes.
Disclosure of Invention
In view of the above, the present invention has been developed to provide a transaction request consensus method and system based on threshold signatures that overcomes or at least partially solves the above mentioned problems.
According to an aspect of the present invention, there is provided a transaction request consensus method based on threshold signatures, the method performing consensus processing on transaction requests by n consensus nodes in a consensus network, the method comprising the following steps:
in the current consensus view, an accounting node and a verification node are determined in the n consensus nodes;
the accounting node generates a current block request message according to the received transaction request, and broadcasts the current block request message to all verification nodes;
each verification node verifies the validity of the current block request message, generates a block preparation message carrying a threshold signature of the verification node after the verification is passed, and broadcasts the block preparation message to a consensus network;
if any consensus node receives at least t +1 block preparation messages and can obtain a first target threshold signature according to threshold signature synthesis in the at least t +1 block preparation messages, the consensus node generates a block confirmation message carrying the threshold signature of the consensus node and broadcasts the block confirmation message to a consensus network, wherein t is larger than 1;
and if any consensus node receives at least t +1 block confirmation messages and can obtain a second target threshold signature according to the threshold signature synthesis in the at least t +1 block confirmation messages, determining that the consensus of the current consensus view is achieved, and releasing the block of the accounting node.
According to another aspect of the present invention, there is provided a transaction request consensus system based on threshold signatures, the system comprising: n consensus nodes; the n consensus nodes comprise: a billing node and a verification node; the accounting node is configured to: generating a current block request message according to the received transaction request, and broadcasting the current block request message to all verification nodes; the verification node is configured to: verifying the validity of the current block request message, generating a block preparation message carrying a threshold signature of the verification node after the verification is passed, and broadcasting the block preparation message to a consensus network; the consensus node is further configured to: if at least t +1 block preparation messages are received and a first target threshold signature can be obtained through threshold signature synthesis in the at least t +1 block preparation messages, generating a block confirmation message carrying the threshold signature of the consensus node, and broadcasting the block confirmation message to a consensus network, wherein t is larger than 1; and if at least t +1 block confirmation messages are received and a second target threshold signature can be obtained according to the threshold signature synthesis in the at least t +1 block confirmation messages, determining that the consensus of the current consensus view is achieved, and releasing the block of the accounting node.
According to yet another aspect of the present invention, there is provided a computing device comprising: the system comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete mutual communication through the communication bus; the memory is configured to store at least one executable instruction, which causes the processor to perform operations corresponding to one of the above-mentioned transaction request consensus method based on threshold signatures.
According to yet another aspect of the present invention, a computer storage medium is provided, wherein at least one executable instruction is stored in the storage medium, and the executable instruction causes a processor to perform operations corresponding to the transaction request consensus method based on threshold signature as described above.
According to the transaction request consensus method and system based on the threshold signature, the threshold signature and the practical Byzantine fault-tolerant algorithm are combined, the block confirmation message is generated under the condition that the consensus node receives the block preparation messages with the preset number and can synthesize the first target threshold signature, the consensus is confirmed to be achieved under the condition that the consensus node receives the block confirmation messages with the preset number and can synthesize the second target threshold signature, the transaction request is subjected to consensus through the verification of the combined threshold signature, and the problems of signature bifurcation and sequential execution of the consensus node in the practical Byzantine fault-tolerant algorithm consensus mechanism are solved.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to refer to like parts throughout the drawings. In the drawings:
FIG. 1 is a flow chart illustrating a transaction request consensus method based on threshold signatures according to an embodiment of the present invention;
FIG. 2 is a schematic structural diagram of a transaction request consensus system based on threshold signatures according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of a computing device provided by an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention can be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
The core value of a blockchain is to allow each node in the network to agree on a certain state. In this way, the network can operate autonomously without any external forces being coordinated or dominant therefrom. Extremely reliable downlinked data is connected to intelligent contracts using decentralized prolog-phone networks. The block chain and the data under the chain are connected by the prediction machine network, and the threshold signature technology can enable the prediction machines to communicate with each other, achieve consensus under the chain and determine the authenticity of the data source under the chain. The data is aggregated by the prediction machine under the chain through a threshold signature technology, and only one-time data transmission is needed to be finally carried out on the data to the block chain, wherein in the block chain, the private key and the public key are required to be in one-to-one correspondence to trigger the transaction in the network.
Specifically, the threshold signature technique consists of the following 5 algorithms.
Threshold key generation algorithm (TKGen () → (PK, SK, S, V)): participant PiGenerating a pair of public and private keys (PK, SK) by calling a threshold key generation algorithm TKGen function, wherein the n private key component sets S ═ S1,S2,…,SnAnd a verifiable key set V ═ V1,V2,...,Vn}. Participant PiObtain its own secret information SiAnd public information (V, PK).
Threshold signature algorithm (TSig (m, S)i)→σi): when participant PiWhen the message m is threshold signed, the message m and the participant P are signed by calling a threshold signature algorithm TSig functioniPrivate key component S ofiAs an input, TSig (m, S)im,Si) Output threshold signature σi
Threshold signature sharing verification algorithm (TSSVer (m, sigma)i,PK,Vi) → True): any participant receives the signature σiCalling a threshold signature sharing verification algorithm TSSVer function to obtain a message m and a participant PiSignature σ ofiPublic key PK and appropriate signature verification key ViAs input, if σiIs PiAnd if the signature is on the message m, calling a threshold signature sharing verification algorithm can output True.
Threshold signature synthesis algorithm TSSComb { sigma }12,...,σt+1→ σ: in a group with n participants, when any participant receives at least t +1 verifiable signature shares { σ } over message m12,...,σt+1When the participant needs to input a composite signature sigma, the participant can output the composite signature sigma by calling a threshold signature composite algorithm TSSComb function.
Threshold signature verification algorithm (Ver (m, σ, PK) → True): the output σ of the threshold signature synthesis algorithm is theoretically consistent with the signature on the message m using SK in the non-threshold signature algorithm, i.e., when the participant passes through the threshold signature synthesis algorithm TSSComb { σ }12,...,σt+1After the function obtains the composite signature sigma, the output sigma of the threshold signature composite algorithm can be verified by the group public key PK, namely, the participant calls the threshold signature verification algorithm Ver (m, sigma, PK) function to output True.
In the following embodiments, the threshold signature is replaced by a (t, n) threshold signature, where t is the number of threshold signatures and n is the number of consensus nodes, and is not limited to the above certain threshold signature algorithm.
Example one
Fig. 1 shows a flowchart of a transaction request consensus method based on threshold signatures according to an embodiment of the present invention, where the method performs consensus processing on transaction requests by n consensus nodes in a consensus network, and the method includes the following steps:
s101: in the current consensus view, accounting nodes and verification nodes are determined among the n consensus nodes.
As a great improvement of the technical solution of the present embodiment, step S101 further includes: one consensus node is randomly selected from the n consensus nodes to serve as an accounting node, and other consensus nodes except the accounting node in the n consensus nodes serve as verification nodes.
Specifically, in this step, the consensus view is a set of consensus nodes used from the start to the end of the consensus process. In the consensus process, a set of consensus nodes used from the beginning to the end of a consensus process is called a consensus View (corresponding View). Each consensus view is assigned a number v, starting with 0 and increasing gradually until the round of consensus is reached.
For example, after the consensus process starts, there are n consensus nodes P ═ { P1, P2, …, Pn }, and the consensus system generates a pair of public private keys (PK, SK) and n private key component sets S ═ S { S, SK ] through the threshold key generation algorithm TKGen1,S2,…,SnAnd a verifiable key set V ═ V1,V2,…,VnAny one consensus node PiWhen participating in system consensus, obtaining own information by calling threshold key generation algorithm (S)iV, PK). Therefore, in the consensus process, the secret information possessed by each consensus node is the private key component S of the consensus nodeiThe public information has a public key PK and an authenticatable key set V.
The accounting node is a node randomly selected from the consensus nodes in the consensus process. To achieve random selection of accounting nodes, n consensus nodes P ═ P1,P2,...,PnAssign a unique number p, where p ∈ {0,1, …, n-1 }. In each round of consensus process, one node is randomly selected from the consensus nodes to be used as an accounting node for transactionAnd data verification, namely packaging the data into the candidate block after the verification is passed, signing and broadcasting the candidate block, taking the rest of the consensus nodes as verification nodes, and verifying the block information broadcast by the accounting nodes. The random selection of accounting nodes is determined by the following formula:
p=(h-v)modn;
wherein h is the current block height in the consensus network, n is the number of consensus nodes, v is the current consensus view, and mod represents the remainder.
It should be noted that each round of consensus results in a new block accompanied by a signature that can be verified by the group public key PK. In the consensus process, once a new tile is generated, the round of consensus ends and a new round of consensus starts immediately, while resetting the consensus view v to 0.
Wherein the created block is the first block in the block chain. Chuangshi block B0Including n consensus nodes P ═ P initially added to the consensus network1,P2,...,PnAnd the information of the consensus nodes can be mutually verified.
S102: and the accounting node generates a current block request message according to the received transaction request and broadcasts the current block request message to all the verification nodes.
In this step, when a transaction initiator in the system initiates a transfer transaction, the transaction initiator signs the transaction data by using its own private key, and then broadcasts the transaction request with the signature to the consensus network. When the consensus node receives the transaction request message, firstly, the validity of the transaction is verified, and if the transaction is legal, the transaction is added into a local memory and broadcasted to all consensus nodes except the consensus node in the network. And if the common identification node finds that the transaction is illegal in the verification process, directly discarding the transaction information. And each verification node verifies the validity of the received transaction request, stores the transaction request into a local memory after the verification is passed, and broadcasts the transaction request to the consensus network.
As a great improvement of the technical solution of the present embodiment, step 102 further includes: and the accounting node verifies the legality of the received transaction request, generates a current block request message according to the current consensus view number, the previous block information and the current block height after the verification is passed, signs the current block request message, and broadcasts the signed current block request message to all verification nodes.
In particular, the accounting node PiAfter receiving the transaction request and passing the verification, constructing a current block request message according to the current view number v and the information of the previous block, and after the preset time, accounting the node PiSigning and broadcasting the constructed current chunk request message to a verification node P in the consensus networkjThe block request message format may be:
Figure BDA0002324865460000061
wherein P represents an accounting node PiThe block is a broadcasted block message, bd is summary information of the block, that is, bd is digest (block), and bd can be obtained by using a hash function.
S103: and each verification node verifies the validity of the current block request message, generates a block preparation message carrying a threshold signature of the verification node after the verification is passed, and broadcasts the block preparation message to the consensus network.
After the verification is passed, the verification node generates a block preparation message according to the block summary information in the current block request message and the current block height, signs the block preparation message, and broadcasts the signed block preparation message to the consensus network.
In particular, the node P is verifiedjAt the receiving accounting node PiAfter the sent current block request message, firstly verifying the validity of the block request message, and after the verification is passed, verifying the node PjSending a block preparation message with a threshold signature of the self to a common node except the self, wherein the format of the block preparation message can be as follows:
Figure BDA0002324865460000071
wherein bd isjIs a verification node PjForwarding self-accounting node PiBlock summary information of, bdjThe verification node confirms the current block request message sent by the accounting node;
Figure BDA0002324865460000072
for verifying a node PjThe threshold signature of (2).
S104: if any consensus node receives at least t +1 block preparation messages and can obtain a first target threshold signature according to threshold signature synthesis in the at least t +1 block preparation messages, the consensus node generates a block confirmation message carrying the threshold signature of the consensus node and broadcasts the block confirmation message to the consensus network, wherein t is larger than 1.
In this step, any one of the consensus nodes PkAfter at least t +1 block preparation messages are received, a first target threshold signature which is verified by a public key PK can be synthesized by calling a threshold signature synthesis algorithm, and then the node P is identifiedkSending a block acknowledgement message to all the common nodes except the common node, wherein the block acknowledgement message can be in a format of:
Figure BDA0002324865460000073
wherein bd iskIs a verification node PkForwarding block summary information, bd, from the received t +1 block preparation messageskDigest (block), the validation of the block preparation message by the verification node,
Figure BDA0002324865460000074
is the verification node Pk. The threshold signature of (2).
It should be noted that the consensus node sends the block acknowledgement message only when the received t +1 block digest messages are identical and the t +1 block digest message signatures can be combined into a first target threshold signature verified by the public key PK.
S105: and if any consensus node receives at least t +1 block confirmation messages and can obtain a second target threshold signature according to the threshold signature synthesis in the at least t +1 block confirmation messages, determining that the consensus of the current consensus view is achieved, and releasing the block of the accounting node.
When any consensus node receives at least t +1 block confirmation messages, a second target threshold signature which is verified by the public key PK can be synthesized by calling a threshold signature synthesis algorithm, the consensus is considered to be achieved in the round, and the block from the accounting node is issued. After receiving the verification block, other consensus nodes delete the transaction information in the block in the local memory of the other consensus nodes, reset the view v to be 0, and start a new consensus.
As a great improvement of the technical solution of the embodiment, the method further includes: if the current block request message is verified to be illegal by the verification node or at least t +1 block confirmation messages are received by any consensus node in a preset time period, generating a view change request by the verification node and broadcasting the view change request to the consensus network; wherein the preset time period may be delta time;
aiming at other consensus nodes except the verification node in the consensus network, the other consensus nodes verify the received view change request, and generate a view change confirmation message carrying threshold signatures of the other consensus nodes after the verification is passed;
and if any consensus node receives at least t +1 view change confirmation messages and can obtain a third target threshold signature according to the threshold signature synthesis in the at least t +1 view change confirmation messages, determining that view change is achieved, and changing the current consensus view.
In particular, the node P is verifiedjAt the receiving accounting node PiAfter sending the current block request message, firstly verifying the validity of the current block request message, if verifying the node PjAfter checking the current block request message, the current block request message is found not to be trueThen verifying the node PjSuspicious accounting node PiAnd generating a view change request, and broadcasting the view change request to the consensus network.
Except for the case that the validity is not passed, if the block B is the block B after the delta time has elapsedjIf the verification node is not confirmed, the verification node initiates a view change request; where Δ is the actual maximum network delay, i.e., when the accounting node broadcasts the current block request message, the current block request message can be transmitted to each of the consensus network over Δ.
In addition, when other malicious situations occur in the network, the current consensus view also needs to be replaced, for example, in the consensus process, if the node P is verifiediFinding received block BjIncluding illegal transactions or blocks B after delta timejAt least t +1 signature confirmations are still not obtained, and the node P is verifiediA view change request is initiated.
The specific execution process of the view change request comprises the following steps: if node P is verifiediFinding received block BjIncluding illegal transactions or blocks B after delta timejAt least t +1 signature confirmations are still not obtained, and the node P is verifiediIssuing a View Change request
Figure BDA0002324865460000091
And for all the consensus nodes, aiming at other consensus nodes except the verification node in the consensus network, verifying the received view change request by the other consensus nodes, and if the view change request is verified correctly, signing and broadcasting and generating a view change confirmation message carrying a threshold signature of the consensus node. When any common identification node receives at least t +1 view replacement requests, a third target threshold signature can be obtained through threshold signature synthesis algorithm according to threshold signature synthesis in at least t +1 view replacement confirmation messages, then the current view v is switched to v +1, and view replacement is achieved.
In the new consensus view, let v be v +1, a new accounting node is randomly selected, and a new round of consensus starts. In the view replacement process, as long as a new view v +1 is not achieved, the original view v is still valid, and by this operation, unnecessary view replacement caused by accidental network delay timeout can be avoided. That is, if the network delay times out to cause a view change, the view change is not necessary as long as view v can complete the consensus within 2 Δ.
By adopting the method provided by the embodiment, the threshold signature and the practical Byzantine fault-tolerant algorithm are combined, the block confirmation message is generated under the condition that the common identification node receives the block preparation messages with the preset number and can synthesize the first target threshold signature, the common identification is confirmed to be achieved under the condition that the common identification node receives the block confirmation messages with the preset number and can synthesize the second target threshold signature, the transaction request is identified commonly through combining the threshold signature verification, and the problems of signature bifurcation and sequential execution of the common identification node in the practical Byzantine fault-tolerant algorithm common identification mechanism are solved.
Example two
Fig. 2 is a schematic structural diagram illustrating a transaction request consensus system based on threshold signatures according to an embodiment of the present invention. As shown in fig. 2, the system includes: n consensus nodes; the n consensus nodes comprise: a billing node and a verification node; the accounting node is used for: generating a current block request message according to the received transaction request, and broadcasting the current block request message to all verification nodes; the verification node is configured to: verifying the validity of the current block request message, generating a block preparation message carrying a threshold signature of a verification node after the verification is passed, and broadcasting the block preparation message to a consensus network; the consensus node is further configured to: if at least t +1 block preparation messages are received and a first target threshold signature can be obtained through threshold signature synthesis in the at least t +1 block preparation messages, generating a block confirmation message carrying a threshold signature of a consensus node, and broadcasting the block confirmation message to a consensus network, wherein t is larger than 1; and if at least t +1 block confirmation messages are received and a second target threshold signature can be obtained according to the threshold signature synthesis in the at least t +1 block confirmation messages, determining that the consensus of the current consensus view is achieved, and releasing the block of the accounting node.
And randomly selecting one consensus node from the n consensus nodes as an accounting node, and taking other consensus nodes except the accounting node from the n consensus nodes as verification nodes.
The verification node is further configured to: and verifying the legality of the received transaction request, storing the transaction request into a local memory after the verification is passed, and broadcasting the transaction request into the consensus network.
The verification node is further configured to: and after the verification is passed, generating a block preparation message according to the block summary information and the current block height in the current block request message, signing the block preparation message, and broadcasting the signed block preparation message to the consensus network.
The accounting node is further configured to: verifying the validity of the received transaction request, generating a current block request message according to the current consensus view number, the previous block information and the current block height after the verification is passed, signing the current block request message, and broadcasting the signed current block request message to all verification nodes.
If the current block request message is verified to be illegal by the verification node or at least t +1 block confirmation messages are received by any consensus node in a preset time period, generating a view change request by the verification node and broadcasting the view change request to the consensus network; aiming at other consensus nodes except the verification node in the consensus network, the other consensus nodes verify the received view change request, and generate a view change confirmation message carrying threshold signatures of the other consensus nodes after the verification is passed; and if any consensus node receives at least t +1 view change confirmation messages and can obtain a third target threshold signature according to the threshold signature synthesis in the at least t +1 view change confirmation messages, determining that view change is achieved, and changing the current consensus view.
By adopting the system provided by the embodiment, the threshold signature and the practical Byzantine fault-tolerant algorithm are combined, the block confirmation message is generated under the condition that the common identification node receives the block preparation messages with the preset number and can synthesize the first target threshold signature, the common identification is confirmed to be achieved under the condition that the common identification node receives the block confirmation messages with the preset number and can synthesize the second target threshold signature, the transaction request is identified commonly through combining the threshold signature verification, and the problems of signature bifurcation and sequential execution of the common identification node in the practical Byzantine fault-tolerant algorithm common identification mechanism are solved.
EXAMPLE III
Embodiments of the present invention provide a non-volatile computer storage medium, where at least one executable instruction is stored in the computer storage medium, and the computer executable instruction may execute the transaction request consensus method based on threshold signatures in any of the above method embodiments.
The executable instructions may be specifically configured to cause the processor to:
in the current consensus view, an accounting node and a verification node are determined in the n consensus nodes; the accounting node generates a current block request message according to the received transaction request, and broadcasts the current block request message to all verification nodes; each verification node verifies the validity of the current block request message, generates a block preparation message carrying a threshold signature of the verification node after the verification is passed, and broadcasts the block preparation message to the consensus network; if any consensus node receives at least t +1 block preparation messages and can obtain a first target threshold signature according to threshold signature synthesis in the at least t +1 block preparation messages, the consensus node generates a block confirmation message carrying the threshold signature of the consensus node and broadcasts the block confirmation message to a consensus network, wherein t is larger than 1; and if any consensus node receives at least t +1 block confirmation messages and can obtain a second target threshold signature according to the threshold signature synthesis in the at least t +1 block confirmation messages, determining that the consensus of the current consensus view is achieved, and releasing the block of the accounting node.
Example four
Fig. 3 is a schematic structural diagram of an embodiment of the computing device of the present invention, and the specific embodiment of the present invention does not limit the specific implementation of the computing device.
As shown in fig. 3, the computing device may include: a processor (processor), a Communications Interface (Communications Interface), a memory (memory), and a Communications bus.
Wherein: the processor, the communication interface, and the memory communicate with each other via a communication bus. A communication interface for communicating with network elements of other devices, such as clients or other servers. And the processor is used for executing a program, and particularly can execute relevant steps in the transaction request consensus method embodiment based on the threshold signature.
In particular, the program may include program code comprising computer operating instructions.
The processor may be a central processing unit CPU or an application Specific Integrated circuit asic or one or more Integrated circuits configured to implement embodiments of the present invention. The server comprises one or more processors, which can be the same type of processor, such as one or more CPUs; or may be different types of processors such as one or more CPUs and one or more ASICs.
And the memory is used for storing programs. The memory may comprise high-speed RAM memory, and may also include non-volatile memory (non-volatile memory), such as at least one disk memory.
The program may specifically be adapted to cause a processor to perform the following operations:
in the current consensus view, an accounting node and a verification node are determined in the n consensus nodes; the accounting node generates a current block request message according to the received transaction request, and broadcasts the current block request message to all verification nodes; each verification node verifies the validity of the current block request message, generates a block preparation message carrying a threshold signature of the verification node after the verification is passed, and broadcasts the block preparation message to the consensus network; if any consensus node receives at least t +1 block preparation messages and can obtain a first target threshold signature according to threshold signature synthesis in the at least t +1 block preparation messages, the consensus node generates a block confirmation message carrying the threshold signature of the consensus node and broadcasts the block confirmation message to a consensus network, wherein t is larger than 1; and if any consensus node receives at least t +1 block confirmation messages and can obtain a second target threshold signature according to the threshold signature synthesis in the at least t +1 block confirmation messages, determining that the consensus of the current consensus view is achieved, and releasing the block of the accounting node.
The algorithms or displays presented herein are not inherently related to any particular computer, virtual system, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. In addition, embodiments of the present invention are not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the embodiments of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the invention and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functionality of some or all of the components according to embodiments of the present invention. The present invention may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present invention may be stored on computer-readable media or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names. The steps in the above embodiments should not be construed as limiting the order of execution unless specified otherwise.

Claims (10)

1. A transaction request consensus method based on threshold signature, wherein the method performs consensus processing on transaction requests by n consensus nodes in a consensus network, the method comprising the following steps:
in the current consensus view, an accounting node and a verification node are determined in the n consensus nodes;
the accounting node generates a current block request message according to the received transaction request, and broadcasts the current block request message to all verification nodes;
each verification node verifies the validity of the current block request message, generates a block preparation message carrying a threshold signature of the verification node after the verification is passed, and broadcasts the block preparation message to a consensus network;
if any consensus node receives at least t +1 block preparation messages and can obtain a first target threshold signature according to threshold signature synthesis in the at least t +1 block preparation messages, the consensus node generates a block confirmation message carrying the threshold signature of the consensus node and broadcasts the block confirmation message to a consensus network, wherein t is larger than 1;
and if any consensus node receives at least t +1 block confirmation messages and can obtain a second target threshold signature according to the threshold signature synthesis in the at least t +1 block confirmation messages, determining that the consensus of the current consensus view is achieved, and releasing the block of the accounting node.
2. The method of claim 1, wherein determining an accounting node and a validation node among the n consensus nodes in the current consensus view further comprises:
one consensus node is randomly selected from the n consensus nodes to serve as an accounting node, and other consensus nodes except the accounting node in the n consensus nodes serve as verification nodes.
3. The method of claim 1, further comprising:
and each verification node verifies the legality of the received transaction request, stores the transaction request into a local memory after the verification is passed, and broadcasts the transaction request to a consensus network.
4. The method of claim 1, wherein the accounting node generating a current blocking request message from the received transaction request and broadcasting the current blocking request message to all verification nodes further comprises:
and the accounting node verifies the legality of the received transaction request, generates a current block request message according to the current consensus view number, the previous block information and the current block height after the verification is passed, signs the current block request message, and broadcasts the signed current block request message to all verification nodes.
5. The method of claim 1, wherein each verification node verifies the validity of the current blocking request message, generates a blocking preparation message carrying a threshold signature of the verification node after the verification is passed, and broadcasts the blocking preparation message to a consensus network, further comprising:
after the verification is passed, the verification node generates a block preparation message according to the block summary information and the current block height in the current block request message, signs the block preparation message, and broadcasts the signed block preparation message to the consensus network.
6. The method according to any one of claims 1-5, further comprising:
if the current block request message is verified to be illegal by the verification node or at least t +1 block confirmation messages are received by any consensus node in a preset time period, generating a view change request by the verification node and broadcasting the view change request to a consensus network;
aiming at other consensus nodes except the verification node in the consensus network, the other consensus nodes verify the received view change request and generate a view change confirmation message carrying threshold signatures of the other consensus nodes after the verification is passed;
and if any consensus node receives at least t +1 view change confirmation messages and can obtain a third target threshold signature according to the threshold signature synthesis in the at least t +1 view change confirmation messages, determining that view change is achieved, and changing the current consensus view.
7. A transaction request consensus system based on threshold signatures, the system comprising: n consensus nodes; the n consensus nodes comprise: a billing node and a verification node;
the accounting node is configured to: generating a current block request message according to the received transaction request, and broadcasting the current block request message to all verification nodes;
the verification node is configured to: verifying the validity of the current block request message, generating a block preparation message carrying a threshold signature of the verification node after the verification is passed, and broadcasting the block preparation message to a consensus network;
the consensus node is further configured to: if at least t +1 block preparation messages are received and a first target threshold signature can be obtained through threshold signature synthesis in the at least t +1 block preparation messages, generating a block confirmation message carrying the threshold signature of the consensus node, and broadcasting the block confirmation message to a consensus network, wherein t is larger than 1; and if at least t +1 block confirmation messages are received and a second target threshold signature can be obtained according to the threshold signature synthesis in the at least t +1 block confirmation messages, determining that the consensus of the current consensus view is achieved, and releasing the block of the accounting node.
8. The system of claim 7, wherein the accounting node is further configured to:
verifying the validity of the received transaction request, generating a current block request message according to the current consensus view number, the previous block information and the current block height after the verification is passed, signing the current block request message, and broadcasting the signed current block request message to all verification nodes.
9. A computing device, comprising: the system comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete mutual communication through the communication bus;
the memory is configured to store at least one executable instruction that causes the processor to perform operations corresponding to a transaction request consensus method based on threshold signatures as claimed in any one of claims 1-6.
10. A computer storage medium having stored thereon at least one executable instruction for causing a processor to perform operations corresponding to a transaction request consensus method based on threshold signatures as claimed in any of claims 1-6.
CN201911312321.4A 2019-12-18 2019-12-18 Transaction request consensus method and system based on threshold signature Active CN112994891B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911312321.4A CN112994891B (en) 2019-12-18 2019-12-18 Transaction request consensus method and system based on threshold signature

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911312321.4A CN112994891B (en) 2019-12-18 2019-12-18 Transaction request consensus method and system based on threshold signature

Publications (2)

Publication Number Publication Date
CN112994891A true CN112994891A (en) 2021-06-18
CN112994891B CN112994891B (en) 2023-07-14

Family

ID=76344051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911312321.4A Active CN112994891B (en) 2019-12-18 2019-12-18 Transaction request consensus method and system based on threshold signature

Country Status (1)

Country Link
CN (1) CN112994891B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113783946A (en) * 2021-08-25 2021-12-10 山东区块链研究院 Re-voting binary consensus method and device based on threshold signature
CN114710514A (en) * 2022-05-06 2022-07-05 深圳职业技术学院 Block chain consensus system based on post-quantum threshold signature

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848056A (en) * 2018-05-03 2018-11-20 南京理工大学 Block chain common recognition method based on verifying
CN109831425A (en) * 2019-01-25 2019-05-31 中国联合网络通信集团有限公司 Block chain common recognition method, apparatus, equipment and computer readable storage medium
CN110300172A (en) * 2019-06-28 2019-10-01 深圳市网心科技有限公司 A kind of the common recognition method and relevant device of block chain data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108848056A (en) * 2018-05-03 2018-11-20 南京理工大学 Block chain common recognition method based on verifying
CN109831425A (en) * 2019-01-25 2019-05-31 中国联合网络通信集团有限公司 Block chain common recognition method, apparatus, equipment and computer readable storage medium
CN110300172A (en) * 2019-06-28 2019-10-01 深圳市网心科技有限公司 A kind of the common recognition method and relevant device of block chain data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113783946A (en) * 2021-08-25 2021-12-10 山东区块链研究院 Re-voting binary consensus method and device based on threshold signature
CN114710514A (en) * 2022-05-06 2022-07-05 深圳职业技术学院 Block chain consensus system based on post-quantum threshold signature

Also Published As

Publication number Publication date
CN112994891B (en) 2023-07-14

Similar Documents

Publication Publication Date Title
CN109936457B (en) Block chain multi-party witness method, device, equipment and computer readable storage medium
CN109831425B (en) Block chain consensus method, device, equipment and computer readable storage medium
JP7186862B2 (en) Block processing method, blockchain node, block processing system and computer program
US11025714B2 (en) System and method for announcing cryptographic keys on a blockchain
US20190074966A1 (en) Revocation of cryptographic keys in the absence of a trusted central authority
CN107171810B (en) Verification method and device of block chain
WO2018177093A1 (en) Block chain processing method, accounting node, verification node and storage medium
CN112600678B (en) Data processing method, device, equipment and storage medium
CN111314067A (en) Block storage method and device, computer equipment and storage medium
CN111683118B (en) Block chain-based consensus method and device, master node equipment and slave node equipment
CN112749968B (en) Service data recording method and device based on block chain
CN113810465B (en) Asynchronous binary consensus method and device
KR20200081533A (en) Blockchain Consensus Method based Improved Dynamic Blind Voting for Internet of Things Environment
CN113127569A (en) Consensus method and device for block chain system, electronic equipment and storage medium
CN112994891B (en) Transaction request consensus method and system based on threshold signature
CN112036878B (en) Data processing method and device
CN111401904B (en) Consensus method and system in alliance chain
JP2022539283A (en) A method and system for validating blockchain data stored in a storage format different from the blockchain
CN110990790B (en) Data processing method and equipment
CN113347174B (en) Consensus method and device in block chain and electronic equipment
CN113010894B (en) Data processing method and device and computer readable storage medium
JP2018530266A (en) Entity identity validity verification method and apparatus
CN116132052A (en) Cross-chain transaction method, device, electronic equipment and storage medium
CN112636904B (en) Random number generation and verification method and device, electronic equipment and readable storage medium
JP2024506093A (en) Cross-chain transaction processing methods and devices, electronic equipment and computer programs

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