CN111445334B - Aggregation signature method, device and storage medium of blockchain system - Google Patents

Aggregation signature method, device and storage medium of blockchain system Download PDF

Info

Publication number
CN111445334B
CN111445334B CN202010233793.7A CN202010233793A CN111445334B CN 111445334 B CN111445334 B CN 111445334B CN 202010233793 A CN202010233793 A CN 202010233793A CN 111445334 B CN111445334 B CN 111445334B
Authority
CN
China
Prior art keywords
transaction
nodes
signature information
node
signature
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
CN202010233793.7A
Other languages
Chinese (zh)
Other versions
CN111445334A (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 CERTIFICATE AUTHORITY
Original Assignee
BEIJING CERTIFICATE AUTHORITY
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 CERTIFICATE AUTHORITY filed Critical BEIJING CERTIFICATE AUTHORITY
Priority to CN202010233793.7A priority Critical patent/CN111445334B/en
Publication of CN111445334A publication Critical patent/CN111445334A/en
Application granted granted Critical
Publication of CN111445334B publication Critical patent/CN111445334B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures

Abstract

The application provides an aggregate signature method, an aggregate signature device and a storage medium of a blockchain system, wherein the method comprises the following steps: generating transaction information when a transaction initiating node initiates a transaction, signing to generate first signature information, and sending the first signature information to N endorsement nodes; the N endorsement nodes respectively check the signature after receiving the first signature information, generate second signature information based on the first signature information after passing the verification, and send the second signature information to the transaction initiating node; when the transaction initiating node receives n pieces of second signature information, generating aggregate signature information based on the n pieces of second signature information, and sending the transaction information containing the aggregate signature information to the consensus node; the consensus node generates a block and sends the block to the billing node for verification, and if the verification is passed, the block is recorded in the blockchain. The application adopts the aggregated signature technology, can obviously improve the efficiency, and provides a signature calculation method suitable for a block chain system.

Description

Aggregation signature method, device and storage medium of blockchain system
Technical Field
The application relates to the technical field of computer security, in particular to an aggregate signature method, an aggregate signature device and a storage medium of a blockchain system.
Background
The blockchain originates from a bitcoin, 1 st 2008, a person claiming itself to be the middle-school (Satoshi Nakamoto) shows bitcoin, a point-to-point electronic cash system, and describes the architecture concept of an electronic cash system based on P2P network technology, encryption technology, time stamp technology, blockchain technology and the like, which marks the birth of the bitcoin. Two months later, the theory steps into practice, and the first generation block with the serial number of 0 is born in 1 month and 3 days of 2009. Blocks with serial number 1 appear in 1 and 9 days 2009 after a few days, and are connected with the created blocks with serial number 0 to form a chain, and the birth of the block chain is marked.
In recent years, the world has been on the rise and fall of the attitude of bitcoin, but the blockchain technology, which is one of the underlying technologies of bitcoin, is increasingly receiving attention. In the process of forming the bit coin, the blocks are one by one storage unit, and all communication information of all block nodes in a certain time is recorded. The blocks are linked by random hash (also called hash algorithm), the latter block contains the hash value of the former block, and with the expansion of information exchange, one block is connected with one block successively, and the formed result is called block chain.
What is a blockchain? From a technological perspective, blockchains involve many scientific and technical problems of mathematics, cryptography, internet and computer programming. From the application perspective, the blockchain is simply a distributed shared ledger and database, and has the characteristics of decentralization, non-falsification, whole trace, traceability, collective maintenance, disclosure transparency and the like. These features ensure the "honest" and "transparent" of the blockchain, laying a foundation for creating trust for the blockchain. The application scene with rich blockchain is basically based on the blockchain, so that the problem of information asymmetry can be solved, and collaborative trust and consistent actions among a plurality of subjects are realized.
That is, blockchain is a distributed billing technique that solves the problem of trusted billing in an untrusted environment, and is significant. Federated chains are a representative class of blockchains. Currently, the confirmation of the alliance chain to the transaction is realized by adopting a signature-verification mechanism. In the current mainstream technology, a transaction initiator and an endorsement node are independently signed for a transaction, and each signature needs to be verified during verification. Transaction verification is a very high frequency operation in the blockchain, and when the number of endorsement nodes is large, verification signature becomes a high-resource consumption job. Thus, how to improve the performance of transaction verification will improve significantly the overall performance improvement of the blockchain.
Disclosure of Invention
Aiming at the defects in the prior art, the application provides the following technical scheme.
An aggregate signature method of a blockchain system, the blockchain system including a transaction initiating node, a transaction receiving node, N endorsement nodes, K consensus nodes, and L accounting nodes, the method comprising:
a transaction initiating step, namely generating transaction information when a transaction initiating node initiates a transaction to a transaction receiving node, signing the transaction information to generate first signature information, and sending the first signature information to the N endorsement nodes;
an endorsement verification step, wherein the N endorsement nodes respectively verify the signature after receiving the first signature information, and if verification is passed, the endorsement nodes generate second signature information based on the first signature information and send the second signature information to the transaction initiating node;
an aggregation step, when the transaction initiating node receives the second signature information sent by n endorsement nodes, generating aggregation signature information based on n pieces of second signature information and the first signature information, and sending transaction information containing the aggregation signature information to K consensus nodes;
the block generation step, the K consensus nodes check the transaction information containing the aggregate signature information, if the transaction information passes the verification, the transaction record is written into a local transaction pool, then the K consensus nodes take out the transaction from the transaction pool, generate blocks according to a consensus mechanism, and send the blocks to the L accounting nodes;
an accounting verification step, wherein the L accounting nodes verify all transactions in the block, if verification is successful, the block is written into a local blockchain, otherwise, the block is discarded;
wherein, N is more than or equal to 2, K is more than or equal to 2, L is more than or equal to 2, and N is more than or equal to 1 and is less than or equal to N.
Still further, the blockchain system also includes a system management node for completing initialization of the blockchain system.
Further, initialization of the blockchain system selects large prime numbers p and elliptic curve groups G, G for the system management node 1 Defining bilinear map e, G×G→G 1 A hash operation H {0,1}, is defined * G, and issuing G, e, G to the transaction initiating node, the transaction receiving node, the N endorsement nodes, the K consensus nodes and the L accounting nodes 1 H, wherein G is generated as G.
Further, the transaction initiating node, the transaction receiving node and the N endorsement nodes participating in the transaction are based onInitialization of the blockchain system generates respective private keys d i And public key D i Wherein the public key is published to other nodes.
Further, transaction information M is generated when a transaction initiating node s initiates a transaction to a transaction receiving node, the transaction initiating node calculates h=h (M) andfirst signature information (M, sigma s ,D s ) Sending the N endorsement nodes;
when endorsing node E i Receiving first signature information (M, sigma s ,D s ) When the calculation h=h (M) is performed, the judgment equation e (D s ,h)=e(g,σ s ) If yes, if no, the signature verification fails, if yes, the calculation is performedAnd will (M, sigma) i ,D i ) As second signature information to the transaction initiating node s;
when the transaction initiating node s receives the second signature information of the n endorsement nodes, calculatingComplete transaction information (D) containing aggregate signature information s ,{D i |i∈[1,n]-M, σ) broadcast to the K consensus nodes;
after the K consensus nodes receive the aggregate signature information, calculatingAnd h=h (M), then determining whether equation e (D, H) =e (g, σ) holds, if not, signature verification fails, if yes, then (D s ,{D i |i∈[1,n]-M, σ) write to the local transaction pool; the K consensus nodes take out the transaction from the transaction pool (D s ,{D i |i∈[1,n]} M, sigma) and generates blocks according to a consensus mechanism and broadcasts the blocks to accounting nodes, which verify theAnd if all transaction verification in the block is successful, writing the block into a local block chain, otherwise, discarding the block. The application also provides an aggregate signature device of the blockchain system, which comprises: a transaction initiating node, a transaction receiving node, N endorsement nodes, K consensus nodes, and L billing nodes, the apparatus comprising:
the transaction initiating unit generates transaction information when a transaction initiating node initiates a transaction to a transaction receiving node, signs the transaction information to generate first signature information, and sends the first signature information to the N endorsement nodes;
the endorsement verification unit is used for respectively verifying the signature after the N endorsement nodes receive the first signature information, and if verification is passed, the endorsement nodes generate second signature information based on the first signature information and send the second signature information to the transaction initiating node;
an aggregation unit, which is used for generating aggregation signature information based on n pieces of second signature information and first signature information after the transaction initiating node receives the second signature information sent by n endorsement nodes, and sending the transaction information containing the aggregation signature information to K consensus nodes;
the block generation unit is used for checking the transaction information containing the aggregate signature information by the K consensus nodes, if the transaction information passes the verification, writing the transaction record into a local transaction pool, then taking out the transaction from the transaction pool by the K consensus nodes, generating a block according to a consensus mechanism, and transmitting the block to the L accounting nodes;
an accounting verification unit, wherein the L accounting nodes verify all transactions in the block, if the verification is successful, the block is written into a local blockchain, otherwise, the block is discarded;
wherein, N is more than or equal to 2, K is more than or equal to 2, L is more than or equal to 2, and N is more than or equal to 1 and is less than or equal to N.
Still further, the blockchain system also includes a system management node for completing initialization of the blockchain system.
Further, initialization of the blockchain system is a system management node selectionLarge prime number p and elliptic curve group G, G 1 Defining bilinear map e, G×G→G 1 A hash operation H {0,1}, is defined * G, and issuing G, e, G to the transaction initiating node, the transaction receiving node, the N endorsement nodes, the K consensus nodes and the L accounting nodes 1 H, wherein G is generated as G.
Further, the transaction initiating node, the transaction receiving node and the N endorsement nodes participating in the transaction generate respective private keys d based on the initialization of the blockchain system i And public key D i Wherein the public key is published to other nodes.
Further, transaction information M is generated when a transaction initiating node s initiates a transaction to a transaction receiving node, the transaction initiating node calculates h=h (M) andfirst signature information (M, sigma s ,D s ) Sending the N endorsement nodes;
when endorsing node E i Receiving first signature information (M, sigma s ,D s ) When the calculation h=h (M) is performed, the judgment equation e (D s ,h)=e(g,σ s ) If yes, if no, the signature verification fails, if yes, the calculation is performedAnd will (M, sigma) i ,D i ) As second signature information to the transaction initiating node s;
when the transaction initiating node s receives the second signature information of the n endorsement nodes, calculatingComplete transaction information (D) including aggregated signature information s ,{D i |i∈[1,n]-M, σ) broadcast to the K consensus nodes;
after the K consensus nodes receive the aggregate signature information, calculatingAnd h=h (M), then determining whether equation e (D, H) =e (g, σ) holds, if not, signature verification fails, if yes, then (D s ,{D i |i∈[1,n]-M, σ) write to the local transaction pool; the K consensus nodes take out the transaction from the transaction pool (D s ,{D i |i∈[1,n]-M, σ) and generates a chunk according to a consensus mechanism and broadcasts the chunk to an accounting node, which verifies that all transactions in the chunk are verified to be successful, writes the chunk into the local blockchain, otherwise discards the chunk. The application also proposes a computer readable storage medium having stored thereon computer program code means for performing any of the above when said computer program code is executed by a computer.
The application has the technical effects that: the application relates to an aggregate signature method of a blockchain system, which comprises a transaction initiating node, a transaction receiving node, N endorsement nodes, K consensus nodes and L accounting nodes, wherein the method comprises the following steps: generating transaction information when a transaction initiating node initiates a transaction to a transaction receiving node, signing the transaction information to generate first signature information, and sending the first signature information to the N endorsement nodes; the N endorsement nodes respectively check the signature after receiving the first signature information, and if the verification is passed, the endorsement nodes generate second signature information based on the first signature information and send the second signature information to the transaction initiating node; after receiving the second signature information sent by n endorsement nodes, the transaction initiating node generates aggregate signature information based on n pieces of second signature information and the first signature information, and sends transaction information containing the aggregate signature information to K consensus nodes; the K consensus nodes check the transaction information containing the aggregate signature information, if the transaction information passes the verification, the transaction record is written into a local transaction pool, then the K consensus nodes take out the transaction from the transaction pool, generate blocks according to a consensus mechanism, and send the blocks to the L accounting nodes; the L accounting nodes verify all transactions in the block, write the block into the local blockchain if verification is successful, otherwise discard the block. The application adopts the aggregate signature technology, namely, the endorsement node verifies the signature information sent by the transaction node during transaction, the signature is independently carried out after the verification is passed, the transaction node receives the signatures of a plurality of endorsement nodes and then aggregates the signature information to generate aggregate signature information, the aggregate signature information is sent to K consensus nodes for verification, and the aggregate signature information is sent to L accounting nodes for verification after the verification is passed, so that the efficiency can be remarkably improved, and the specific signature calculation method suitable for a block chain system is provided.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the detailed description of non-limiting embodiments made with reference to the following drawings.
FIG. 1 is a flow chart of an aggregate signature method of a blockchain system in accordance with an embodiment of the application.
Fig. 2 is a block diagram of an aggregate signature apparatus of a blockchain system in accordance with an embodiment of the application.
Detailed Description
The application is described in further detail below with reference to the drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the application and are not limiting of the application. It should be noted that, for convenience of description, only the portions related to the present application are shown in the drawings.
It should be noted that, without conflict, the embodiments of the present application and features of the embodiments may be combined with each other. The application will be described in detail below with reference to the drawings in connection with embodiments.
Fig. 1 shows an aggregate signature method of a blockchain system of the present application, where the blockchain system includes a transaction initiating node, a transaction receiving node, N endorsement nodes, K consensus nodes, and L accounting nodes, where the transaction initiating node, the transaction receiving node, the endorsement nodes, the consensus nodes, and the accounting nodes may be on one hardware device or on multiple hardware devices, i.e. one computing device may be used as the transaction initiating node, the transaction receiving node, the endorsement nodes, and/or the accounting nodes.
The method of the application comprises the following steps: a transaction initiating step S101, wherein transaction information is generated when a transaction initiating node initiates a transaction to a transaction receiving node, and the transaction information is signed to generate first signature information which is sent to the N endorsement nodes; transaction information is a macroscopic concept, and can be the transfer of digital assets, the storage of documents and other operations.
And step S102 of endorsement verification, wherein the N endorsement nodes respectively check the signature after receiving the first signature information, and if verification is passed, the endorsement nodes generate second signature information based on the first signature information and send the second signature information to the transaction initiating node. When a peer receives a transaction, it invokes the VSCC (verification system chain code) associated with the transaction's Chaincode as part of the transaction verification process to determine the validity of the transaction, which contains endorsement support in one or more peer endorsement nodes.
And an aggregation step S103, wherein after the transaction initiating node receives the second signature information sent by the n endorsement nodes, aggregation signature information is generated based on the n pieces of second signature information and the first signature information, and transaction information containing the aggregation signature information is sent to K consensus nodes. And when the transaction initiating node receives n pieces of second signature information and first signature information sent by n endorsement nodes according to an endorsement policy, generating aggregate signature information. An endorsement policy is described below.
An endorsement policy is an assertion that the transaction, endorsement, and possibly the next state judgment is TRUE or FALSE. The endorsement policy for the deployment transaction is obtained from a system-level policy (e.g., from a system chain code). An endorsement policy is an assertion about a particular variable. In practice, it may be:
1. a chain code related key or identifier (found in the metadata of the chain code), such as an endorsement node set;
2. more chain symbol data;
3. an element of the transaction itself;
4. other ones are possible.
The evaluation of endorsement policy assertions must be deterministic. The endorsement policy cannot be complex nor "small chain code". The endorsement policy specification language must be limited and to be able to increase certainty.
The predicate list is from simple to rich and the complexity is from easy to difficult. That is, the strategy of supporting only keys and node identifiers is relatively simple.
To do: and determining parameters of the endorsement policy.
Assertions may contain logical expressions that result in TRUE or FALSE. Typically, this condition will include a digital signature issued by the chain code endorsement node for the transaction call.
Let the chain code specify an endorsed node set e= { Alice, bob, charlie, dave, eve, frank, george }, some exemplary strategies: e gathers the valid signatures of all elements. E collecting the valid signature of any one element.
Valid signature of endorsement node satisfying (Alice OR Bob) AND (any two of: charlie, dave, eve, frank, george) condition.
Valid signatures for any 5 of the 7 endorsement nodes. (more generally, a chain code with n >3f endorsement nodes requires 2f+1 of the n endorsement nodes to have a valid signature, or any group of more than (n+f)/2 endorsement nodes to have a valid signature.
Assuming that the endorsement nodes all have a "bet" or "weight", such as { alice=49, bob=15, charlie=15, dave=10, eve=7, frank=3, george=1 }, the total bet is 100: the policy requires a valid signature for the majority wager set (i.e., a group with a total wager strictly greater than 50), such as any { Alice, X }, which is not identical to George, or { owners of Alice, etc.
And step S104, the K consensus nodes check the aggregate signature information, if the verification is passed, the transaction record is written into a local transaction pool, then the K consensus nodes take out the transaction from the transaction pool, generate blocks according to a consensus mechanism, and send the blocks to the L accounting nodes. When generating a block, a consensus mechanism may be used to generate a block for the transaction and broadcast the block to the L accounting nodes, and if the consensus is failed, no block is generated.
A billing verification step S105, in which the L billing nodes verify all transactions in the block, if verification is successful, the block is written into the local blockchain, otherwise the block is discarded; wherein, N is more than or equal to 2, K is more than or equal to 2, L is more than or equal to 2, and N is more than or equal to 1 and is less than or equal to N. The method adopts an aggregate signature technology, namely, the endorsement node verifies signature information sent by the transaction node during transaction, signature is carried out independently after verification, the transaction initiating node receives the signatures of a plurality of endorsement nodes and then aggregates the signature information to generate aggregate signature information, the aggregate signature information is sent to K consensus nodes for verification, and the aggregate signature information is sent to L accounting nodes for verification after verification is passed, so that the efficiency can be remarkably improved.
In one embodiment, the blockchain system further includes a system management node for completing initialization of the blockchain system, which may be a management server for initializing various parameters required for signing of the blockchain system.
Preferably, the various parameters of the blockchain system required to initialize the signature of the blockchain system include: the system management node selects a large prime number p and elliptic curve group G, G 1 Defining bilinear map e, G×G→G 1 A hash operation H {0,1}, is defined * G, and issuing G, e, G to the transaction initiating node, the transaction receiving node, the N endorsement nodes, the K consensus nodes and the L accounting nodes 1 H, wherein G is generated as G.
In one embodiment, the transaction initiating node, the transaction receiving node, the N endorsement nodes, etc. that participate in the transaction generate respective private and public keys based on initialization of the blockchain system, wherein the public key is issued to other nodes that are other than themselves, e.g., one participating node i randomly selects d i ∈Z p Calculation ofD i I.e. the public key of i, d i Is a private key and discloses D i Secret d i
In one embodiment, aggregate signature verification of transactions is achieved based on various parameters of the blockchain system required to initialize signatures of the blockchain system, transaction information M is generated when a transaction initiating node s initiates a transaction to a transaction receiving node, the transaction initiating node calculates h=h (M) andfirst signature information (M, sigma s ,D s ) Sending the message to the N endorsement nodes, and when the endorsement node E i Upon receiving the first signature information, a calculation h=h (M) is performed, and equation e (D s ,h)=e(g,σ s ) If yes, if no, signature verification fails, if yes, calculating +.>And will (M, sigma) i ,D i ) As second signature information to the transaction initiating node s; when the transaction initiating node s receives the second signature information of the n endorsement nodes, calculating +.>Complete transaction information (D) including aggregated signature information s ,{D i |i∈[1,n]-M, σ) broadcast to the K consensus nodes; after the K consensus nodes receive the aggregate signature information, calculatingAnd h=h (M), then determining whether equation e (D, H) =e (g, σ) holds, if not, signature verification fails, if yes, then (D s ,{D i |i∈[1,n]-M, σ) write to the local transaction pool; the K consensus nodes take out the transaction from the transaction pool (D s ,{D i |i∈[1,n]-M, σ) and generating a chunk according to a consensus mechanism and broadcasting the chunk to an accounting node, which verifies all transactions in the chunk, and writes the chunk into a local blockchain if verification is successful, otherwise discards the chunk. Wherein i is more than or equal to 1 and N is more than or equal to N. The method adopts the specific signature algorithm execution process provided by the application, has high execution efficiency and strong confidentiality, and is suitable for the safety requirement of block chains, thus being another application point of the application.
Fig. 2 shows an aggregate signature apparatus of a blockchain system of the present application, where the blockchain system includes a transaction initiating node, a transaction receiving node, N endorsement nodes, K consensus nodes, and L accounting nodes, where the transaction initiating node, the transaction receiving node, the endorsement nodes, the consensus nodes, and the accounting nodes may be on one hardware device or multiple hardware devices, i.e. one computing device may be used as the transaction initiating node, the transaction receiving node, the endorsement nodes, the consensus nodes, and/or the accounting nodes.
The device of the application comprises: a transaction initiating unit 201, configured to generate transaction information when a transaction initiating node initiates a transaction to a transaction receiving node, sign the transaction information to generate first signature information, and send the first signature information to the N endorsement nodes; transaction information is a macroscopic concept, and can be the transfer of digital assets, the storage of documents and other operations.
And the endorsement verification unit 202 performs signature verification on the N endorsement nodes after receiving the first signature information, and if verification is passed, the endorsement nodes generate second signature information based on the first signature information and send the second signature information to the transaction initiating node. When a peer receives a transaction, it invokes the VSCC (verification system chain code) associated with the transaction's Chaincode as part of the transaction verification process to determine the validity of the transaction, which contains endorsement support in one or more peer endorsement nodes.
And an aggregation unit 203, configured to generate aggregate signature information based on the n pieces of second signature information and the first signature information after the transaction initiating node receives the second signature information sent by the n endorsement nodes, and send the transaction information containing the aggregate signature information to K consensus nodes. And when the transaction initiating node receives n pieces of second signature information and first signature information sent by n endorsement nodes according to an endorsement policy, generating aggregate signature information. An endorsement policy is described below.
An endorsement policy is an assertion that the transaction, endorsement, and possibly the next state judgment is TRUE or FALSE. The endorsement policy for the deployment transaction is obtained from a system-level policy (e.g., from a system chain code). An endorsement policy is an assertion about a particular variable. In practice, it may be:
1. a chain code related key or identifier (found in the metadata of the chain code), such as an endorsement node set;
2. more chain symbol data;
3. an element of the transaction itself;
4. other ones are possible.
The evaluation of endorsement policy assertions must be deterministic. The endorsement policy cannot be complex nor "small chain code". The endorsement policy specification language must be limited and to be able to increase certainty.
The predicate list is from simple to rich and the complexity is from easy to difficult. That is, the strategy of supporting only keys and node identifiers is relatively simple.
To do: and determining parameters of the endorsement policy.
Assertions may contain logical expressions that result in TRUE or FALSE. Typically, this condition will include a digital signature issued by the chain code endorsement node for the transaction call.
Let the chain code specify an endorsed node set e= { Alice, bob, charlie, dave, eve, frank, george }, some exemplary strategies: e gathers the valid signatures of all elements. E collecting the valid signature of any one element.
Valid signature of endorsement node satisfying (Alice OR Bob) AND (any two of: charlie, dave, eve, frank, george) condition.
Valid signatures for any 5 of the 7 endorsement nodes. (more generally, a chain code with n >3f endorsement nodes requires 2f+1 of the n endorsement nodes to have a valid signature, or any group of more than (n+f)/2 endorsement nodes to have a valid signature.
Assuming that the endorsement nodes all have a "bet" or "weight", such as { alice=49, bob=15, charlie=15, dave=10, eve=7, frank=3, george=1 }, the total bet is 100: the policy requires a valid signature for the majority wager set (i.e., a group with a total wager strictly greater than 50), such as any { Alice, X }, which is not identical to George, or { owners of Alice, etc.
And the block generating unit 204 is configured to perform signature verification on the aggregate signature information by using the K consensus nodes, write the transaction record into a local transaction pool if verification is passed, then take out the transaction from the transaction pool by using the K consensus nodes, generate a block according to a consensus mechanism, and send the block to the L accounting nodes. When generating a block, a common knowledge mechanism may be used to generate a block for transactions and broadcast the block to L accounting nodes, and if the common knowledge is not passed, no block is generated.
An accounting verification unit 205, wherein the L accounting nodes verify all transactions in the block, if verification is successful, the block is written into a local blockchain, otherwise, the block is discarded; wherein, N is more than or equal to 2, K is more than or equal to 2, L is more than or equal to 2, and N is more than or equal to 1 and is less than or equal to N. The device adopts an aggregate signature technology, namely, the endorsement node verifies the signature information sent by the transaction node during transaction, the signature is independently carried out after the verification is passed, the transaction initiating node receives the signatures of a plurality of endorsement nodes and then aggregates the signature information to generate aggregate signature information, the aggregate signature information is sent to K consensus nodes for verification, and the aggregate signature information is sent to L accounting nodes for verification after the verification is passed, so that the efficiency can be remarkably improved.
In one embodiment, the blockchain system further includes a system management node for completing initialization of the blockchain system, which may be a management server for initializing various parameters required for signing of the blockchain system.
Preferably, the various parameters of the blockchain system required to initialize the signature of the blockchain system include: the system management node selects a large prime number p and elliptic curve group G, G 1 Defining bilinear map e, G×G→G 1 A hash operation H {0,1}, is defined * G, and issuing G, e, G to the transaction initiating node, the transaction receiving node, the L accounting nodes, the N endorsement nodes, the K consensus nodes and the L accounting nodes 1 H, wherein G is generated as G.
In one embodiment, the transaction initiating node, the transaction receiving node, the N endorsement nodes, etc. that participate in the transaction generate respective private and public keys based on initialization of the blockchain system, wherein the public key is issued to other nodes that are other than themselves, e.g., one participating node i randomly selects d i ∈Z p Calculation ofD i I.e. the public key of i, d i Is a private key and discloses D i Secret d i
In one embodiment, aggregate signature verification of transactions is achieved based on various parameters of the blockchain system required to initialize signatures of the blockchain system, transaction information M is generated when a transaction initiating node s initiates a transaction to a transaction receiving node, the transaction initiating node calculates h=h (M) andfirst signature information (M, sigma s ,D s ) Sending the message to the N endorsement nodes, and when the endorsement node E i Receiving first signature information (M, sigma s ,D s ) When the calculation h=h (M) is performed, the judgment equation e (D s ,h)=e(g,σ s ) If yes, if no, signature verification fails, if yes, calculating +.>And will (M, sigma) i ,D i ) As second signature information to the transaction initiating node s; when the transaction initiating node s receives the second signature information of the n endorsement nodes, calculating +.>Complete transaction information (D) containing aggregate signature information s ,{D i |i∈[1,n]-M, σ) broadcast to the K consensus nodes; after the K consensus nodes receive the aggregate signature information, calculating +.>And h=h (M), then determining whether equation e (D, H) =e (g, σ) holds, if not, signature verification fails, if yes, then (D s ,{D i |i∈[1,n]-M, σ) write to the local transaction pool; the K consensus nodes take out the transaction from the transaction pool (D s ,{D i |i∈[1,n]-M, σ) and generating a chunk according to a consensus mechanism and broadcasting the chunk to an accounting node, which verifies all transactions in the chunk, and writes the chunk into a local blockchain if verification is successful, otherwise discards the chunk. Wherein i is more than or equal to 1 and N is more than or equal to N. The device adopts the specific signature algorithm implementation process provided by the application, has high implementation efficiency and strong confidentiality, and is suitable for the safety requirement of block chains, thus being another application point of the application.
For convenience of description, the above devices are described as being functionally divided into various units, respectively. Of course, the functions of each element may be implemented in the same piece or pieces of software and/or hardware when implementing the present application.
From the above description of embodiments, it will be apparent to those skilled in the art that the present application may be implemented in software plus a necessary general hardware platform. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a storage medium, such as a ROM/RAM, a magnetic disk, an optical disk, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the embodiments of the present application or some parts of the described embodiments of the present application.
Finally, what should be said is: the above embodiments are merely for illustrating the technical aspects of the present application, and it should be understood by those skilled in the art that although the present application has been described in detail with reference to the above embodiments: modifications and equivalents may be made thereto without departing from the spirit and scope of the application, which is intended to be encompassed by the claims.

Claims (11)

1. An aggregate signature method of a blockchain system, the blockchain system including a transaction initiating node, a transaction receiving node, N endorsement nodes, K consensus nodes, and L accounting nodes, the method comprising:
a transaction initiating step, namely generating transaction information when a transaction initiating node initiates a transaction to a transaction receiving node, signing the transaction information to generate first signature information, and sending the first signature information to the N endorsement nodes;
an endorsement verification step, wherein the N endorsement nodes respectively verify the signature after receiving the first signature information, and if verification is passed, the endorsement nodes generate second signature information based on the first signature information and send the second signature information to the transaction initiating node;
an aggregation step, when the transaction initiating node receives the second signature information sent by n endorsement nodes, generating aggregation signature information based on n pieces of second signature information and the first signature information, and sending transaction information containing the aggregation signature information to K consensus nodes;
the block generation step, the K consensus nodes check the transaction information containing the aggregate signature information, if the verification is passed, the transaction record is written into a local transaction pool, then the K consensus nodes take out the transaction from the transaction pool, generate blocks according to a consensus mechanism, and send the blocks to the L accounting nodes;
an accounting verification step, wherein the L accounting nodes verify all transactions in the block, if verification is successful, the block is written into a local blockchain, otherwise, the block is discarded;
wherein, N is more than or equal to 2, K is more than or equal to 2, L is more than or equal to 2, and N is more than or equal to 1 and is less than or equal to N.
2. The method of claim 1, wherein the blockchain system further comprises a system management node for completing initialization of the blockchain system.
3. The method according to claim 1 or 2, wherein the initialization of the blockchain system selects a large prime number p and elliptic curve group G, G1 for a system management node, defines a bilinear map e G x g→g1, defines a hash operation H {0,1} > G, and issues G, e, G1, H to the transaction initiating node, the transaction receiving node, the N endorsement nodes, the K consensus nodes, and the L accounting nodes, wherein the generator of G is G.
4. A method according to claim 3, wherein the transaction initiating node, transaction receiving node and N endorsement nodes participating in a transaction generate respective private and public keys Di, di based on initialization of the blockchain system, wherein public keys are issued to other nodes.
5. The method of claim 4, wherein the transaction information M is generated when a transaction initiating node s initiates a transaction to a transaction receiving node, the transaction initiating node calculating H = H (M) andtransmitting first signature information (M, σs, ds) to the N endorsement nodes;
when the endorsement node Ei receives the first signature information (M, σs, ds) joining the initiator public key Ds, performing calculation h=h (M), judging whether an equation e (Ds, H) =e (g, σs) is true, if not, failing signature verification, if so, calculating and transmitting (M, σi, di) as second signature information to the transaction initiating node s;
when the transaction initiating node s receives the second signature information of the n endorsement nodes, calculatingThe complete transaction information (Ds, { Di|i E [1, n)]-M, σ) broadcast to the K consensus nodes;
after the K consensus nodes receive the aggregate signature information, calculatingAnd h=h (M), then determine if equation e (D, H) =e (g, σ) holds, if not, the signature verification fails, if so, the equation (Ds, { di|i e [1, n)]-M, σ) write to the local transaction pool; the K consensus nodes fetch transactions (Ds, { Di|i E [1, n)]-M, σ) and generating a chunk according to a consensus mechanism and broadcasting the chunk to an accounting node, which verifies all transactions in the chunk, and writes the chunk into a local blockchain if verification is successful, otherwise discards the chunk.
6. An aggregate signature device of a blockchain system, the blockchain system comprising: the device comprises a transaction initiating node, a transaction receiving node, N endorsement nodes, K consensus nodes and L accounting nodes, and is characterized in that the device comprises:
the transaction initiating unit generates transaction information when a transaction initiating node initiates a transaction to a transaction receiving node, signs the transaction information to generate first signature information, and sends the first signature information to the N endorsement nodes;
the endorsement verification unit is used for respectively verifying the signature after the N endorsement nodes receive the first signature information, and if verification is passed, the endorsement nodes generate second signature information based on the first signature information and send the second signature information to the transaction initiating node;
an aggregation unit, configured to generate aggregate signature information based on n pieces of second signature information and first signature information after the transaction initiating node receives the second signature information sent by n endorsement nodes, and send transaction information including the aggregate signature information to the K consensus nodes;
the block generation unit is used for checking the transaction information containing the aggregate signature information by the K consensus nodes, writing the transaction record into a local transaction pool if the transaction information passes the verification, taking out the transaction from the transaction pool by the K consensus nodes, generating a block according to a consensus mechanism, and transmitting the block to the L accounting nodes;
an accounting verification unit, wherein the L accounting nodes verify all transactions in the block, if the verification is successful, the block is written into a local blockchain, otherwise, the block is discarded;
wherein, N is more than or equal to 2, K is more than or equal to 2, L is more than or equal to 2, and N is more than or equal to 1 and is less than or equal to N.
7. The apparatus of claim 6, wherein the blockchain system further comprises a system management node for completing initialization of the blockchain system.
8. The apparatus of claim 6 or 7, wherein the initialization of the blockchain system selects a large prime number p and elliptic curve group G, G1 for a system management node, defines a bilinear map e G x g→g1, defines a hash operation H {0,1} > G, and issues G, e, G1, H to the transaction initiating node, the transaction receiving node, the N endorsement nodes, the consensus node, and the billing node, wherein a generator of G is G.
9. The apparatus of claim 8, wherein the transaction initiating node, transaction receiving node, and N endorsement nodes that participate in a transaction generate respective private and public keys Di, di based on initialization of the blockchain system, wherein public keys are published to other nodes.
10. The apparatus of claim 9 wherein the transaction information M is generated when a transaction initiating node s initiates a transaction to a transaction receiving node, the transaction initiating node calculating H = H (M) andtransmitting first signature information (M, σs, ds) to the N endorsement nodes;
when the endorsement node Ei receives the first signature information (M, σs, ds), a calculation h=h (M) is performed, it is judged whether or not the equation e (Ds, H) =e (g, σs) is established, if not, signature verification fails, and if yes, calculation is performedAnd transmitting (M, σi, di) as second signature information to the transaction initiating node s;
when the transaction initiating node s receives the second signature information of the n endorsement nodes, calculatingThe complete transaction information (Ds, { Di|i E [1, n)]-M, σ) broadcast to the K consensus nodes;
after the K consensus nodes receive the aggregate signature information, calculatingAnd h=h (M), then determine if equation e (D, H) =e (g, σ) holds, if not, the signature verification fails, if so, the equation (Ds, { di|i e [1, n)]-M, σ) write to the local transaction pool; the consensus node fetches the transaction (Ds, { di|i e 1, n%]-M, σ) and generating a chunk according to a consensus mechanism and broadcasting the chunk to an accounting node, which verifies all transactions in the chunk, and writes the chunk into a local blockchain if verification is successful, otherwise discards the chunk.
11. A computer readable storage medium, characterized in that the storage medium has stored thereon a computer program code which, when executed by a computer, performs a method implementing any of claims 1-5.
CN202010233793.7A 2020-03-30 2020-03-30 Aggregation signature method, device and storage medium of blockchain system Active CN111445334B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010233793.7A CN111445334B (en) 2020-03-30 2020-03-30 Aggregation signature method, device and storage medium of blockchain system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010233793.7A CN111445334B (en) 2020-03-30 2020-03-30 Aggregation signature method, device and storage medium of blockchain system

Publications (2)

Publication Number Publication Date
CN111445334A CN111445334A (en) 2020-07-24
CN111445334B true CN111445334B (en) 2023-09-05

Family

ID=71651358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010233793.7A Active CN111445334B (en) 2020-03-30 2020-03-30 Aggregation signature method, device and storage medium of blockchain system

Country Status (1)

Country Link
CN (1) CN111445334B (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073483B (en) * 2020-08-28 2022-01-04 武汉大学 Authority certification consensus method and system based on credit and committee endorsement mechanism
CN112073484B (en) * 2020-08-28 2022-01-04 武汉大学 GDPR compliance supervision method and system based on alliance chain
CN112199732B (en) * 2020-09-01 2024-04-05 东方航空物流股份有限公司 Aviation logistics electronic waybill management method based on blockchain
CN111833062B (en) * 2020-09-21 2020-12-01 江苏傲为控股有限公司 Credibility verification system for digital asset data packet
CN112600671B (en) * 2021-03-02 2021-06-01 腾讯科技(深圳)有限公司 Data processing method, device, equipment and storage medium
CN113347174B (en) * 2021-05-31 2022-12-13 矩阵元技术(深圳)有限公司 Consensus method and device in block chain and electronic equipment
CN113378237B (en) * 2021-06-09 2023-06-23 中央财经大学 Block chain data storage method and device based on aggregated signature and isolated witness
CN113298508B (en) * 2021-06-17 2024-03-22 中国人民银行数字货币研究所 Digital currency transaction method and system
CN113536375A (en) * 2021-07-16 2021-10-22 上海点融信息科技有限责任公司 Method, device and storage medium for data synchronization between block link points
CN113726510A (en) * 2021-08-30 2021-11-30 无锡井通网络科技有限公司 Offline transaction method based on block chain
CN114257429B (en) * 2021-12-07 2024-01-30 中信银行股份有限公司 Aggregation transaction signature verification and storage method and system based on alliance chain
CN114338715A (en) * 2021-12-31 2022-04-12 杭州趣链科技有限公司 Data synchronization method, block chain system, terminal device and storage medium
CN114092101B (en) * 2022-01-21 2022-04-08 深圳市一航网络信息技术有限公司 Transaction verification method and device, storage medium and electronic equipment
CN114745140B (en) * 2022-06-13 2022-08-23 天津市城市规划设计研究总院有限公司 Urban planning field block chain consensus verification method and system based on aggregation encryption

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108711052A (en) * 2018-05-18 2018-10-26 电子科技大学 A kind of information authentication system based on block chain
CN109064146A (en) * 2018-08-07 2018-12-21 中钞信用卡产业发展有限公司杭州区块链技术研究院 A kind of digital cash method of commerce, equipment, system, terminal and client wallet
CN109194472A (en) * 2018-09-19 2019-01-11 广东微链科技有限公司 Game block chain common recognition method based on bilinear map and set signature algorithm
CN109636599A (en) * 2018-11-07 2019-04-16 广西师范大学 License block chain secret protection and monitoring and managing method based on group ranking
CN110032891A (en) * 2019-04-16 2019-07-19 中国电力科学研究院有限公司 A kind of smart grid distributed cryptograph search method and system model based on alliance's block chain
CN110213059A (en) * 2019-06-20 2019-09-06 腾讯科技(深圳)有限公司 A kind of generation method of random number, generating means and storage medium
CN110264350A (en) * 2019-05-10 2019-09-20 重庆金融资产交易所有限责任公司 Bookkeeping methods, device and the computer equipment for thering is endorsement to sign based on block chain
CN110300172A (en) * 2019-06-28 2019-10-01 深圳市网心科技有限公司 A kind of the common recognition method and relevant device of block chain data
CN110798308A (en) * 2019-10-31 2020-02-14 支付宝(杭州)信息技术有限公司 Block chain signature method and system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11494344B2 (en) * 2018-03-06 2022-11-08 International Business Machines Corporation Customized endorsement logic for blockchain

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108711052A (en) * 2018-05-18 2018-10-26 电子科技大学 A kind of information authentication system based on block chain
CN109064146A (en) * 2018-08-07 2018-12-21 中钞信用卡产业发展有限公司杭州区块链技术研究院 A kind of digital cash method of commerce, equipment, system, terminal and client wallet
CN109194472A (en) * 2018-09-19 2019-01-11 广东微链科技有限公司 Game block chain common recognition method based on bilinear map and set signature algorithm
CN109636599A (en) * 2018-11-07 2019-04-16 广西师范大学 License block chain secret protection and monitoring and managing method based on group ranking
CN110032891A (en) * 2019-04-16 2019-07-19 中国电力科学研究院有限公司 A kind of smart grid distributed cryptograph search method and system model based on alliance's block chain
CN110264350A (en) * 2019-05-10 2019-09-20 重庆金融资产交易所有限责任公司 Bookkeeping methods, device and the computer equipment for thering is endorsement to sign based on block chain
CN110213059A (en) * 2019-06-20 2019-09-06 腾讯科技(深圳)有限公司 A kind of generation method of random number, generating means and storage medium
CN110300172A (en) * 2019-06-28 2019-10-01 深圳市网心科技有限公司 A kind of the common recognition method and relevant device of block chain data
CN110798308A (en) * 2019-10-31 2020-02-14 支付宝(杭州)信息技术有限公司 Block chain signature method and system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
苑超 等.基于聚合签名的共识算法优化方案.计算机科学.2018,(第02期),全文. *

Also Published As

Publication number Publication date
CN111445334A (en) 2020-07-24

Similar Documents

Publication Publication Date Title
CN111445334B (en) Aggregation signature method, device and storage medium of blockchain system
KR102652551B1 (en) Smart contract execution using distributed coordination
US20230120742A1 (en) Quantumproof blockchain
CN108833081B (en) Block chain-based equipment networking authentication method
US11341466B2 (en) Transferring digital tickets based on blockchain networks
CN115210741B (en) Partially ordered blockchain
CN110189128B (en) Distributed consensus method and device for block rapid generation
CN110070362A (en) A kind of financial industry block chain transaction system using national secret algorithm
Edwards et al. A review of quantum and hybrid quantum/classical blockchain protocols
CN114240439B (en) Cross-chain transaction rollback method and device based on threshold signature and double-hash chain mode
CN111815321A (en) Transaction proposal processing method, device, system, storage medium and electronic device
US20230237437A1 (en) Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing
CN111694895B (en) Block chain remote data auditing method and system
CN111881109A (en) Database mergeable ledger
CN110213228A (en) A kind of method, apparatus, storage medium and the computer equipment of certification communication
Zhang et al. OBBC: A blockchain-based data sharing scheme for open banking
Javed et al. Secure message handling in vehicular energy networks using blockchain and artificially intelligent IPFS
Islam et al. A survey on consensus algorithms in blockchain-based applications: Architecture, taxonomy, and operational issues
Ye et al. VREFL: Verifiable and reconnection-efficient federated learning in IoT scenarios
Liu et al. Data integrity audit scheme based on blockchain expansion technology
CN113328854A (en) Service processing method and system based on block chain
Srinivas et al. Lightweight security protocols for blockchain technology
CN116361823A (en) Selective audit processing of blockchains for privacy protection
CN114629663A (en) Block chain-based digital commodity transaction method and device
CN112019586B (en) Method and system for verification of blockchains

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