CN110992031A - Data processing method and device - Google Patents

Data processing method and device Download PDF

Info

Publication number
CN110992031A
CN110992031A CN201911218306.3A CN201911218306A CN110992031A CN 110992031 A CN110992031 A CN 110992031A CN 201911218306 A CN201911218306 A CN 201911218306A CN 110992031 A CN110992031 A CN 110992031A
Authority
CN
China
Prior art keywords
signature
node
parameter
public key
common
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911218306.3A
Other languages
Chinese (zh)
Inventor
马逸龙
过晓冰
王云浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201911218306.3A priority Critical patent/CN110992031A/en
Publication of CN110992031A publication Critical patent/CN110992031A/en
Pending legal-status Critical Current

Links

Images

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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/3827Use of message hashing

Abstract

The present disclosure provides a data processing method, which is applied to a verification node in a blockchain network, the blockchain network includes a plurality of nodes, the plurality of nodes include at least one verification node, at least one aggregation signature node and a plurality of common signature nodes, and the method includes: receiving an aggregated signature, wherein the aggregated signature comprises a first parameter and a second parameter, the first parameter is a set of first intermediate values generated by each common signature node for the transaction data, and the second parameter is obtained by summing the signature parameters generated by each common signature node for the transaction data by the aggregated signature node; acquiring a master public key parameter and a first hash value of each common signature node, wherein the first hash value is obtained based on first intermediate value calculation; and verifying the signature of the transaction data according to the aggregated signature, the main public key parameter of each common signature node and the first hash value.

Description

Data processing method and device
Technical Field
The present disclosure relates to a data processing method and a data processing apparatus.
Background
The goal of the blockchain technique is to achieve distributed reliable storage of data. When the block chain is specifically implemented, data is stored incrementally on multiple nodes in a network, the fact that the data cannot be tampered with in the chain is guaranteed through a Secure Hash Algorithm (SHA), and the consistency of the data stored on each node is achieved through a consensus Algorithm and a network transmission protocol.
Block chains can be generally divided into public chains (public chains) and licensed chains (licensed chains), where the licensed chains can be further divided into federation chains (consortium) and private chains (private chains) according to whether the data maintainer is a single entity (entity).
The identity construction of nodes in current major license chain systems, such as Fabric of hyper ledger, is based on the Public Key Infrastructure (PKI) that is mainstream today, using Certificate Authorities (CAs) to issue certificates to establish the association between user entities and their public keys, including signatures to ensure authenticity.
The current public and private key bodies have the following three schemes: a certificate-based public key and private key system PKI, an identifier-based public key and private key system IBC and a certificate-free public key and private key system CLPKC. In which PKI is adopted, a certificate authority CA is used to issue a certificate to establish a connection between a user entity and a public key, however, management (e.g., issuing, updating, and revoking) of the certificate is not only complicated, but also consumes many computing resources and storage resources. Although IBC is adopted, dependence on certificates is eliminated, the public key of the user is uniquely determined by the user identification, and the private key of the user is generated by a trust authority. Employing IBC thus introduces the problem of private key escrow, and the user signature is not unique and non-repudiatable. The CLPKC is adopted, a user private key generates auxiliary operation of a trusted center through the private key, the auxiliary operation is generated at a user side finally, and the user has complete control over the private key. The public key of the user is generated by the participation of the user identification, but the public key is not only corresponding to the user identification, namely the private key can be revoked and updated, and meanwhile, the certificate is not used.
The inventor finds that the process of signature verification on data by adopting the related technology is complex, so that the calculation efficiency is low, the block is large, and the storage pressure is large.
Disclosure of Invention
One aspect of the present disclosure provides a data processing method applied to a verification node in a blockchain network, where the blockchain network includes a plurality of nodes, where the plurality of nodes includes at least one verification node, at least one aggregated signature node, and a plurality of common signature nodes, and the method includes: receiving an aggregated signature, wherein the aggregated signature comprises a first parameter and a second parameter, the first parameter is a set of first intermediate values generated by each common signature node for transaction data, and the second parameter is obtained by summing the signature parameters generated by each common signature node for the transaction data by the aggregated signature node; acquiring a master public key parameter and a first hash value of each common signature node, wherein the first hash value is obtained by calculation based on the first intermediate value; and verifying the signature of the transaction data according to the aggregated signature, the main public key parameter of each common signature node and the first hash value.
Optionally, verifying the signature of the transaction data according to the aggregated signature, the master public key parameter of each common signature node, and the first hash value includes: verifying whether a preset equation comprising a first public key generation parameter is established or not; wherein, under the condition that the preset equation is established, the signature verification of the transaction data is determined to be successful; and determining that the signature verification on the transaction data fails in the case that the preset equation is not satisfied.
Optionally, the obtaining the master public key parameter of each common signature node includes: acquiring identification data, a secondary public key parameter and a second public key generation parameter of each common signature node; calculating according to the identification data and the secondary public key parameters to obtain a second hash value; calculating according to the second hash value, the secondary public key parameter and the public key generation parameter to obtain the primary public key parameter; wherein, calculating to obtain the primary public key parameter according to the second hash value, the secondary public key parameter, and the second public key generation parameter includes: binary conversion is carried out on the second hash value to obtain a 32-bit first numerical value; obtaining a high 16-bit binary system and a low 16-bit binary system of the first value; decimal conversion is carried out on the high 16-bit binary system to obtain a first sub-value; decimal conversion is carried out on the low 16-bit binary system to obtain a second sub-value; and generating the primary public key parameter based on a product of the first sub-value and the secondary public key parameter and a product of the second sub-value and the second public key generation parameter.
Optionally, the plurality of nodes further includes a sorting node, and the method further includes: and under the condition that the signature of the transaction data is successfully verified, sending the transaction data to the sequencing node so that the sequencing node sequences the transaction data, and sending the transaction data to other nodes except the sequencing node in the block chain network based on a sequencing position so that the other nodes store the transaction data in the corresponding block chains.
Another aspect of the present disclosure provides a data processing method applied to an aggregate signature node in a blockchain network, where the blockchain network includes a plurality of nodes, and the plurality of nodes include at least one verification node, at least one aggregate signature node, and a plurality of common signature nodes, and the method includes: receiving a signature value, wherein the signature value includes a first intermediate value and a signature parameter, and the first intermediate value and the signature parameter are generated for transaction data by each common signature node; generating a set according to the first intermediate value of each common signature node to obtain a first parameter; summing the signature parameters of each common signature node to obtain a second parameter; and sending an aggregated signature to the verification node, wherein the aggregated signature includes the first parameter and the second parameter.
Optionally, the method further includes: acquiring a master public key parameter, a first hash value and a first public key generation parameter of each common signature node, wherein the first hash value is obtained by calculation based on the first intermediate value; verifying the signature value of each common signature node based on the master public key parameter, the first hash value, the first public key generation parameter, the first intermediate value and the signature parameter of each common signature node, wherein the aggregated signature is sent to the verification node under the condition of successful verification;
wherein, obtaining the master public key parameter of each common signature node comprises: acquiring identification data, a secondary public key parameter and a second public key generation parameter of each common signature node; calculating according to the identification data and the secondary public key parameters to obtain a second hash value; and calculating to obtain the main public key parameter according to the second hash value, the secondary public key parameter and the second public key generation parameter.
Another aspect of the present disclosure provides a data processing method applied to a common signature node in a blockchain network, where the blockchain network includes a plurality of nodes, and the plurality of nodes include at least one verification node, at least one aggregate signature node, and a plurality of common signature nodes, and the method includes: generating a private key parameter and a main public key parameter of a common signature node home terminal; generating a random number; generating a first intermediate value of the local end of the common signature node based on the random number; calculating a first hash value based on the transaction data, the identification data of the common signature node home terminal, a second intermediate value and the first intermediate value; calculating a signature parameter based on the first hash value, the private key of the common signature node home end and the random number; and sending the signature parameter, the first intermediate value, the transaction data, the identification data of the home terminal of the common signature node and the second intermediate value to the aggregation signature node.
Another aspect of the present disclosure provides a data processing apparatus applied to a verification node in a blockchain network, where the blockchain network includes a plurality of nodes, and the plurality of nodes include at least one verification node, at least one aggregated signature node, and a plurality of common signature nodes, and the method includes: a first receiving module, configured to receive an aggregated signature, where the aggregated signature includes a first parameter and a second parameter, where the first parameter is a set of first intermediate values generated by each common signature node for transaction data, and the second parameter is obtained by calculating, by the aggregated signature node, a sum of signature parameters generated by each common signature node for the transaction data; a first obtaining module, configured to obtain a master public key parameter and a first hash value of each common signature node, where the first hash value is obtained by calculation based on the first intermediate value; and the first verification module is used for verifying the signature of the transaction data according to the aggregated signature, the main public key parameter of each common signature node and the first hash value.
Another aspect of the present disclosure provides a data processing apparatus, applied to an aggregate signature node in a blockchain network, where the blockchain network includes a plurality of nodes, and the plurality of nodes include at least one verification node, at least one aggregate signature node, and a plurality of common signature nodes, and the method includes: a second receiving module, configured to receive a signature value, where the signature value includes a first intermediate value and a signature parameter, and the first intermediate value and the signature parameter are generated by each common signature node for transaction data; a second obtaining module, configured to generate a set according to the first intermediate value of each common signature node, so as to obtain a first parameter; the first calculation module is used for summing the signature parameters of each common signature node to obtain a second parameter; and a first sending module, configured to send an aggregated signature to the verification node, where the aggregated signature includes the first parameter and the second parameter.
Another aspect of the present disclosure provides a data processing apparatus, applied to a common signature node in a blockchain network, where the blockchain network includes a plurality of nodes, and the plurality of nodes include at least one verification node, at least one aggregated signature node, and a plurality of common signature nodes, and the method includes: the first generation module is used for generating a private key parameter and a main public key parameter of a common signature node home terminal; a second generation module for generating a random number; a third generating module, configured to generate a first intermediate value of the common signature node home terminal based on the random number; the second calculation module is used for calculating a first hash value based on the transaction data, the identification data of the local end of the common signature node, a second intermediate value and the first intermediate value; a third calculation module, configured to calculate a signature parameter based on the first hash value, a private key of the common signature node, and the random number; and the second sending module is used for sending the signature parameter, the first intermediate value, the transaction data, the identification data of the local end of the common signature node and the second intermediate value to the aggregation signature node.
Another aspect of the present disclosure provides a computer system comprising: one or more processors; a memory for storing one or more programs, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the method as described above.
Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions for implementing the method as described above when executed.
Another aspect of the disclosure provides a computer program comprising computer executable instructions for implementing the method as described above when executed.
Drawings
For a more complete understanding of the present disclosure and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
fig. 1 schematically illustrates an application scenario of a data processing method and apparatus according to an embodiment of the present disclosure;
fig. 2 schematically shows a schematic diagram of a blockchain network according to an embodiment of the present disclosure;
fig. 3 schematically shows a flow chart of a data processing method performed by a generic signature node according to an embodiment of the present disclosure;
FIG. 4 schematically illustrates a diagram of a generic signing node generating a key according to an embodiment of the present disclosure;
FIG. 5 schematically illustrates a diagram of a generic signing node generating a signature according to an embodiment of the present disclosure;
fig. 6 schematically shows a flow chart of a data processing method performed by an aggregated signing node according to an embodiment of the present disclosure;
FIG. 7 schematically shows a flow diagram for verifying a signature of each generic signature node by an aggregated signature node, according to an embodiment of the disclosure;
FIG. 8 schematically shows a flow chart of a data processing method performed by a verification node according to an embodiment of the present disclosure;
FIG. 9 schematically shows a block diagram of a data processing apparatus applied to an authentication node according to an embodiment of the present disclosure;
FIG. 10 schematically shows a block diagram of a data processing apparatus applied to an aggregate signature node, in accordance with an embodiment of the present disclosure;
FIG. 11 schematically shows a block diagram of a data processing apparatus applied to a generic signature node according to an embodiment of the present disclosure; and
FIG. 12 schematically shows a block diagram of a computer system suitable for implementing the data processing method according to an embodiment of the present disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a convention analogous to "A, B or at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B or C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
Some block diagrams and/or flow diagrams are shown in the figures. It will be understood that some blocks of the block diagrams and/or flowchart illustrations, or combinations thereof, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the instructions, which execute via the processor, create means for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks. The techniques of this disclosure may be implemented in hardware and/or software (including firmware, microcode, etc.). In addition, the techniques of this disclosure may take the form of a computer program product on a computer-readable storage medium having instructions stored thereon for use by or in connection with an instruction execution system.
The embodiment of the present disclosure provides a data processing method, which is applied to a verification node in a blockchain network, where the blockchain network includes a plurality of nodes, and the plurality of nodes include at least one verification node, at least one aggregated signature node, and a plurality of common signature nodes, and the data processing method includes: receiving an aggregated signature, wherein the aggregated signature comprises a first parameter and a second parameter, the first parameter is a set of first intermediate values generated by each common signature node for the transaction data, and the second parameter is obtained by summing the signature parameters generated by each common signature node for the transaction data by the aggregated signature node; acquiring a master public key parameter and a first hash value of each common signature node, wherein the first hash value is obtained based on first intermediate value calculation; and verifying the signature of the transaction data according to the aggregated signature, the main public key parameter of each common signature node and the first hash value.
Fig. 1 schematically shows an application scenario of a data processing method and apparatus according to an embodiment of the present disclosure. It should be noted that fig. 1 is only an example of a scenario in which the embodiments of the present disclosure may be applied to help those skilled in the art understand the technical content of the present disclosure, but does not mean that the embodiments of the present disclosure may not be applied to other devices, systems, environments or scenarios.
As shown in FIG. 1, the application scenario illustrates a system architecture 100, which may include client nodes 110-130 and a blockchain network 140 in the system architecture 100. The blockchain network 140 may include a plurality of blockchain nodes 141 to 146, where the blockchain nodes 141 to 146 commonly maintain a blockchain, and blocks in the blockchain may be added in a time sequence.
According to the embodiment of the present disclosure, the types of the client nodes 110 to 130 are not limited, and may be, for example, a personal computer, a mobile phone, a tablet computer, or the like. The client nodes 110-130 may issue requests to the blockchain network 140 as requestors.
According to an embodiment of the present disclosure, in some application scenarios, the client nodes 110 to 130 may also serve as nodes in the blockchain network 140, that is, the client nodes 110 to 130 may perform point-to-point communication with any node in the blockchain network 140, and may also create a chunk and add the chunk to the blockchain.
According to an embodiment of the present disclosure, the blockchain nodes 141-146 may be various computing nodes with the same or different computing capabilities, such as a personal computer, a network server, a database server, and the like, which are not limited herein. Any two of the blockchain nodes 141-146 may communicate point-to-point.
According to an embodiment of the present disclosure, each block link point in the block chain network 140 allows the current block link point to create a block and add the block to the block chain, the added block being the current newest block on the block chain.
According to an embodiment of the present disclosure, at least one verifying node, at least one aggregation signature node, and a plurality of common signature nodes may be included in the blockchain network 140. The functions of the verification node, the aggregation signature node and the common signature node are different. For example, after a client node initiates a transaction request, the transaction request may be sent to each common signature node to perform transaction calculation, so as to obtain a calculation result, each common signature node signs the calculation result, then the signed calculation result is sent to an aggregation signature node to perform aggregation signature on all the calculation results, and finally the aggregation signature result is sent to a verification node to perform verification. If the verification is passed, the verification node can send the transaction result to part or all of the nodes in the blockchain network in a broadcasting mode.
It should be understood that the configuration of the blockchain network, the number of client nodes, the number of blockchain nodes in the blockchain network, etc. in fig. 1 are merely illustrative. In an actual application scenario, there may be any constructed blockchain network, any number of client nodes, blockchain nodes, etc. according to actual needs.
Fig. 2 schematically shows a schematic diagram of a blockchain network according to an embodiment of the present disclosure.
As shown in fig. 2, the blockchain network 200 may include a plurality of nodes, which may include at least one verification node 210, at least one aggregate signature node 220, a plurality of common signature nodes 230, and other nodes 240.
According to an embodiment of the present disclosure, the aggregated signature node 220 may be the client node itself that initiates the transaction, or may be a node that the client node that initiates the transaction commits to aggregate signatures.
According to an embodiment of the present disclosure, the number and identification information of the generic signature nodes 230 is related to the configuration file of the client node. The configuration file is configured when a client node joins the blockchain network 200, and includes the number and identification information of the common signature nodes 230 that the client node needs to use when performing transaction verification signature. Wherein the common signature node 230 is selected from all nodes of the blockchain network 200. For example, the common signature node 230 may include a common signature node 1, a common signature node 2, and a common signature node 3.
In one application scenario, the generic signature node 230 may be considered an endorsement node, according to embodiments of the present disclosure. After the aggregated signature node 220 (or the client node) signs the newly submitted transaction by using a signature algorithm, the signed transaction data is sent to the endorsement node for endorsement, and the endorsement node performs endorsement on the transaction data content to obtain an endorsement result. The endorsement node uses a signature algorithm to sign the endorsement result and feeds back to the aggregated signing node 220 (or client node).
The aggregate signing node 220 (or client node) determines whether the transaction is legally compliant according to the endorsement result after signing. For legally compliant transactions, the signatures of all endorsement nodes are aggregated by using an aggregation signature algorithm, and finally the aggregated signatures and transaction data are submitted to the verification node 210 for verification.
According to the embodiment of the present disclosure, if the verification node 210 verifies, the transaction data is sent to the node responsible for recording the transaction data in the blockchain network 200, for example, the verification node 210 sends the transaction data to the common signature node 230 and the other nodes 240 in a broadcast manner. The generic signature node 230 and the other nodes 240, upon receiving the transaction data, will record the transaction data on the block chains maintained by each.
The following briefly describes an operation mechanism of the block chain network shown in fig. 2, taking an endorsement scenario as an example, according to an embodiment of the present disclosure.
Block chain network initialization link;
according to embodiments of the present disclosure, a Key Generation Center (KGC) may be used to participate in the process of signature verification of transaction data. The Key Generation Center (KGC) may disclose parameters such as elliptic curve parameters { E, G, n } and hash function h (); the Key Generation Center (KGC) may generate a system master key and a master public key, store the system master key, and disclose the system master public key.
In particular, each node peer in the blockchain network may apply for and generate an { identity-partial public key } pair from a trusted Key Generation Center (KGC) using a key generation algorithm. In an alternative embodiment, part of the public key parameters of the node under the organization to which the KGC belongs may be written into the create block.
(II) an endorsement link;
according to the embodiment of the disclosure, the initiating node (for example, the aggregation signing node 220) encapsulates the transaction data, and signs by using the private key parameter to obtain a signature result; the identity, transaction data, public key parameters, signature results are then sent to an endorsement node (which may be, for example, generic signature node 230). And the endorsement node executes an examination and signing algorithm, if the examination and signing are passed, the transaction is simulated and executed, and an execution result is returned to the initiating node. If the initiating node determines that enough transaction data signed by the endorsement node is received, the package of the transaction data is sent to the ordering node (for example, the verification node 210).
In an optional embodiment, the initiating node may not send the public key parameter, and the endorsement node obtains the public key parameter through the creation block information of the block chain.
(III) a sequencing link;
specifically, the sorting node (e.g., the verification node 210) sorts and blocks all valid transactions within the time window, and the block information may be broadcast to all nodes in the blockchain network using an inverse entropy algorithm.
(IV) confirming the link;
specifically, all nodes verify, record, and confirm transactions within the block information, write transactions into the block chain, and update their respective ledger states.
The operation of the blockchain network shown in fig. 2 is further described with reference to fig. 3-8 in conjunction with an embodiment.
Fig. 3 schematically shows a flow chart of a data processing method performed by a generic signature node according to an embodiment of the present disclosure.
According to the embodiment of the disclosure, the data processing method is applied to a common signature node in a block chain network. According to the embodiment of the disclosure, the blockchain network may include a plurality of common signature nodes, and the number of the common signature nodes may be preset. Each generic signature node in the blockchain network may perform the method shown in fig. 3.
According to an embodiment of the present disclosure, the aggregate signature scheme provided by the present disclosure may be composed of a trusted Key Generation Center (KGC) and nodes in a blockchain network.
The Key Generation Center (KGC) may disclose parameters such as elliptic curve parameters { E, G, n } and hash function h (); the Key Generation Center (KGC) may generate a system master key skAnd a master public key P, a system master key skAnd storing and disclosing the system master public key P.
Suppose that there are i block chain nodes in the system, and all the block chain nodes interact with the KGC to execute the key generation algorithm.
As shown in fig. 3, the method includes operations S301 to S306.
In operation S301, a private key parameter (d) of the generic signature node home terminal is generatedAi) And a master public key parameter (Q)Ai)。
According to the embodiment of the disclosure, the private key parameter (d) of the common signature node home terminal is generatedAi) The process of (a) may include the following three steps. Fig. 4 schematically shows a schematic diagram of a generic signing node generating a key according to an embodiment of the present disclosure.
First, the identification is IDiGeneric signature node aiRandomly generating a random number x based on a public parameter nAiCalculating a point X on the elliptic curveAi=xAiG, will IDi、XAiSent to the KGC.
Second, KGC receives (ID)i,XAi) Then, y is randomly generatediCalculating the point PA on the elliptic curvei=XAi+yiG, calculating the abstract ei=h(IDi||PAi) (i.e., hash value). Can abstract eiSplitting and computingSignature value zi=ei[0:15]*yi+ei[16:31]*skKGC is PAi,ziSent to the ordinary signature node Ai
Thirdly, the common signature node AiReceived PAi,ziThen, e is first calculatedi=h(IDi||PAi) And then verifying whether the preset formula is established. The preset formula may be as follows:
(ei[0:15]*XAi+zi)*G=ei[0:15]*PAi+ei[16:31]*P
if the verification is passed, the ordinary signature node AiThe parameters of the private key can be calculated, and the calculation formula can be dAi=ei[0:15]*xAi+ZiWherein x isAiMay be a random number.
According to an embodiment of the present disclosure, a master public key parameter (Q)Ai) The calculation formula of (c) may be as follows:
QAi=ei[0:15]*PAi+ei[16:31]*P。
in operation S302, a random number (r) is generatedi)。
In operation S303, based on the random number (r)i) Generating a first intermediate value (R) of the common signature node home terminali). According to the embodiment of the disclosure, each common signature node can be obtained by calculating the point R on the elliptic curvei=riG, obtaining corresponding first intermediate value (R)i)。
In operation S304, based on the transaction data (m), the Identification Data (ID) of the generic signature node home terminali) Second intermediate value (PA)i) A first intermediate value (R)i) Calculating a first hash value (h)i1)。
Fig. 5 schematically illustrates a schematic diagram of a generic signing node generating a signature according to an embodiment of the present disclosure. Fig. 5 schematically shows a schematic diagram of i common signature nodes each generating a signature.
According to the embodiment of the disclosure, common signature nodes are not arranged among each otherInteraction is required without receiving the first intermediate values (R) of the other i-1 common signature nodesi)。
According to an embodiment of the present disclosure, a first hash value (h) is calculatedi1) Can be, for example, h (m)i||IDi||PAi||Ri). Wherein m isiIs the transaction data m to be signed.
In operation S305, based on the first hash value (h)i1) Private key (d) of the generic signature node homeAi) Random number (r)i) Calculating a signature parameter(s)i). For example, at generic signature node AiLocal side calculates signature parameter si=ri+h(mi||IDi||PAi||Ri)*dAi
In operation S306, the signature parameter (S)i) A first intermediate value (R)i) Transaction data (m), Identification Data (ID) of the common signature node home terminali) Second intermediate value (PA)i) And sending the message to the aggregation signature node.
According to an embodiment of the present disclosure, the signature parameter(s)i) A first intermediate value (R)i) Can compose a signature value sigi=(si,Ri)。
As shown in FIG. 5, each generic signature node may sign a signature value sigi=(si,Ri) Transaction data (m), Identification Data (ID) of common signature nodei) Second intermediate value (PA)i) And sending the message to the aggregation signature node. Aggregating the first intermediate value (R) of each common signature nodei) Generating a set R ═ (R)1,R2,…Ri) And obtaining a first parameter (R).
Through the embodiment of the disclosure, in the process of signing transaction data, a signature mechanism in the sequencing stage of a alliance chain is modified, and the transaction data can be subjected to aggregated signature. The method reduces the times of elliptic curve point-doubling operation of the core in the verification stage, and has performance advantages. Meanwhile, the size of the block can be reduced, and the storage overhead is reduced. Interaction between common signature nodes is not needed, and the effect of aggregating signatures is achieved, so that the security of the signatures is improved.
Through the embodiment of the disclosure, the common signature node has the generation management authority for the parameters of the private key, thereby reducing the phenomenon of private key leakage caused by hosting and transmitting the private key and reducing the safety problem caused by leakage.
Fig. 6 schematically shows a flow chart of a data processing method performed by an aggregated signing node according to an embodiment of the present disclosure.
According to the embodiment of the disclosure, the data processing method is applied to an aggregation signature node in a block chain network. According to the embodiment of the disclosure, the aggregated signature node may be the client node initiating the transaction itself, or may be a node delegated by the client node initiating the transaction for aggregated signature.
According to the embodiment of the disclosure, the aggregation signature node can receive the signature values sig sent by all common signature nodesi=(si,Ri)。
As shown in fig. 6, the method includes operations S601 to S604.
In operation S601, a signature value (R) is receivedi,si) Wherein the signature value (R)i,si) Including a first intermediate value (R)i) And a signature parameter(s)i) A first intermediate value (Ri) and a signature parameter(s)i) Is generated for the transaction data (m) by each generic signature node.
According to an embodiment of the present disclosure, each generic signature node generates a first intermediate value (R) for the transaction data (m)i) And a signature parameter(s)i) Reference may be made to the description of fig. 3 and 4, which are not repeated herein.
In operation S602, a first intermediate value (R) according to each common signature nodei) A set is generated, obtaining a first parameter (R). Wherein the first parameter R ═ (R)1,R2,…Ri)。
In operation S603, a signature parameter (S) for each common signature nodei) And performing summation calculation to obtain a second parameter (S). Wherein, referring to FIG. 5, the second parameter
Figure BDA0002298528370000141
In operation S604, an aggregated signature (R, S) is sent to the verifying node, wherein the aggregated signature (R, S) comprises a first parameter (R) and a second parameter (S).
According to the embodiment of the disclosure, before the aggregate signature node sends the aggregate signature to the verification node, the signature of each common signature node can be verified.
Fig. 7 schematically illustrates a flow diagram for verifying a signature of each generic signature node by an aggregated signature node according to an embodiment of the disclosure. As shown in fig. 7, the method includes operations S701 to S702.
In operation S701, a master public key parameter (Q) of each common signature node is acquiredAi) First hash value (h)i1) And a first public key generation parameter (G), wherein the first hash value (h)i1) Is based on a first intermediate value (R)i) And (4) calculating.
According to an embodiment of the present disclosure, a first hash value (h) is calculatedi1) Can be, for example, h (m)i||IDi||PAi||Ri)。
In operation S702, a master public key parameter (Q) based on each common signature nodeAi) First hash value (h)i1) A first public key generation parameter (G), a first intermediate value (R)i) And a signature parameter(s)i) Signature value (R) for each generic signature nodei,si) A verification is performed, wherein, in case of successful verification, an aggregated signature (R, S) is sent to the verification node.
According to an embodiment of the present disclosure, a signature value (R) for each generic signature nodei,si) The verification may be to verify whether the following equation holds: si*G=Ri+h(mi||IDi||PAi||Ri)*QAi. If the equation is true, the verification is successful, otherwise, the verification will fail.
According to an embodiment of the present disclosure, a master public key parameter (Q) of each common signature node is obtainedAi) The method comprises the following steps:obtaining Identification Data (ID) of each common signature nodei) Secondary public key Parameter (PA)i) And a second public key generation parameter (P); based on Identification Data (ID)i) And a secondary public key Parameter (PA)i) Calculating to obtain a second hash value (h)i2) (ii) a And according to the second hash value (h)i2) Secondary public key Parameter (PA)i) And calculating the second public key generation parameter (P) to obtain the main public key parameter (Q)Ai)。
Through the embodiment of the disclosure, in the process of signing transaction data, a signature mechanism in the sequencing stage of a alliance chain is modified, and the transaction data can be subjected to aggregated signature. The method reduces the times of elliptic curve point-doubling operation of the core in the verification stage, and has performance advantages. Meanwhile, the size of the block can be reduced, and the storage overhead is reduced. Interaction between common signature nodes is not needed, and the effect of aggregating signatures is achieved, so that the security of the signatures is improved.
Fig. 8 schematically shows a flow chart of a data processing method performed by a verification node according to an embodiment of the present disclosure.
According to an embodiment of the present disclosure, the data processing method is applied to a verification node in a blockchain network, and the verification node may receive an aggregate signature σ ═ (R, S) and a message-identity-partial public key { m ═ mi,IDi,PAiN (i ═ 1.. n). As shown in fig. 8, the method includes operations S801 to S803.
In operation S801, an aggregated signature (R, S) is received, wherein the aggregated signature (R, S) comprises a first parameter (R) and a second parameter (S), wherein the first parameter (R) is a first intermediate value (R) generated for the transaction data (m) by each ordinary signature nodei) The second parameter (S) is a signature parameter (S) generated by the aggregated signature node for each generic signature node for the transaction data (m)i) And performing summation calculation.
According to an embodiment of the present disclosure, the first parameter R ═ (R)1,R2,…Ri) The calculation formula of the second parameter (S) is as follows:
Figure BDA0002298528370000151
in operation S802, a master public key parameter (Q) of each common signature node is acquiredAi) And a first hash value (h)i1) Wherein the first hash value (h)i1) Is based on a first intermediate value (R)i) And (4) calculating.
According to an embodiment of the present disclosure, the first hash value (h)i1) The calculation formula of (c) may be h (mi | | | IDi | | | PAi | | Ri).
In operation S803, a master public key parameter (Q) of each common signature node is calculated according to the aggregate signature (R, S)Ai) And a first hash value (h)i1) The signature of the transaction data (m) is verified.
Through the embodiment of the disclosure, in the process of signing transaction data, a signature mechanism in the sequencing stage of a alliance chain is modified, and the transaction data can be subjected to aggregated signature. The method reduces the times of elliptic curve point-doubling operation of the core in the verification stage, and has performance advantages. Meanwhile, the block size is reduced, and the storage overhead is reduced. Interaction between common signature nodes is not needed, and the effect of aggregating signatures is achieved, so that the security of the signatures is improved.
According to an embodiment of the present disclosure, the master public key parameter (Q) of each generic signature node is based on the aggregate signature (R, S)Ai) And a first hash value (h)i1) Verifying the signature of the transaction data (m) comprises: verifying whether a preset equation including the first public key generation parameter is established.
According to an embodiment of the present disclosure, it may be verified whether the following preset equation holds:
Figure BDA0002298528370000161
wherein G is a first public key generation parameter (G).
According to an embodiment of the present disclosure, in a case where a preset equation is established, it is determined that signature verification on transaction data (m) is successful.
According to an embodiment of the present disclosure, in a case where the preset equation is not established, it is determined that the signature verification on the transaction data (m) fails.
According to the embodiment of the present disclosure, each common signature node is obtainedMaster public key parameter (Q)Ai) The method comprises the following steps: obtaining Identification Data (ID) of each common signature nodei) Secondary public key Parameter (PA)i) And a second public key generation parameter (P); based on Identification Data (ID)i) And a secondary public key Parameter (PA)i) Calculating to obtain a second hash value (h)i2) (ii) a And according to the second hash value (h)i2) Secondary public key Parameter (PA)i) And calculating the public key generation parameter (P) to obtain the main public key parameter (Q)Ai)。
According to an embodiment of the present disclosure, the second hash value (h)i2) May be Identification Data (ID)i) Secondary public key Parameter (PA)i) Concatenation of (i.e. second hash value (h))i2) May be e for examplei=h(IDi||PAi). For example, Identification Data (ID)i) 1212, secondary public key Parameter (PA)i) 21345; the second hash value (h)i2) Is 121221345.
According to an embodiment of the present disclosure, according to the second hash value (h)i2) Secondary public key Parameter (PA)i) And calculating the second public key generation parameter (P) to obtain the main public key parameter (Q)Ai) The method comprises the following steps: the second hash value (h)i2) Carrying out binary conversion to obtain a first value of 32 bits; obtaining an upper 16-bit binary system and a lower 16-bit binary system of the first numerical value; performing decimal conversion on the high 16-bit binary system to obtain a first sub-value; decimal conversion is carried out on the low 16-bit binary system to obtain a second sub-value; and based on the first sub-value and the secondary public key Parameter (PA)i) And the product of the second sub-value and the second public key generation parameter (P) to generate a master public key parameter (Q)Ai)。
According to the embodiment of the disclosure, the master public key parameter (Q) can be obtained by calculation according to the following formulaAi)。
QAi=ei[0:15]*PAi+ei[16:31]*P。
According to an embodiment of the present disclosure, for example, the second hash value (h)i2) To 220, binary conversion is performed on 220 to obtain a first value of 32 bits: 00000000000100000000000000000000, respectively; the upper 16-bit binary value to obtain the first value is: 0000000000010000, and the lower 16 bits of the first value are: 0000000000000000; decimal conversion is carried out on the high 16-bit binary system to obtain a first sub-value as follows: 16; decimal conversion is carried out on the low 16-bit binary system to obtain a second sub-value as follows: 0; since the second sub-value is 0, the product of the second sub-value and the third key parameter is 0; based on the first sub-value and the secondary public key Parameter (PA)i) And the product of the second sub-value and the second public key generation parameter (P) to generate a master public key parameter (Q)Ai)。
In this embodiment, the second hash value (h) may bei2) Performing the splitting of an upper 16-bit binary system and a lower 16-bit binary system, and performing decimal conversion second calculation based on a first sub-value obtained by performing decimal conversion on the upper 16-bit binary system and the lower 16-bit binary system; therefore, the algorithm for obtaining the main public key parameter is provided, and meanwhile, the algorithm is simple and easy to implement, and the calculation of the public key parameter can be simplified. The calculation method is related to a calculation formula of the elliptic curve, and if the first intermediate value is obtained by using a single-line function based on the known quantity of the generating element of the elliptic curve, the calculation method is matched with the elliptic curve algorithm, so that the algorithm can be further optimized, and the calculation efficiency is improved.
According to embodiments of the present disclosure, the master public key parameter (Q) may be computed by the generic signing node itselfAi) The master public key parameter (Q) may also be calculated by the aggregate signature nodeAi)。
According to an embodiment of the present disclosure, a sorting node may also be included in the blockchain network. The sequencing node may be the verification node itself, or may be another node.
According to the embodiment of the disclosure, under the condition that the signature of the transaction data (m) is successfully verified, the transaction data (m) is sent to the sequencing node, so that the sequencing node sequences the transaction data (m), and the transaction data (m) is sent to other nodes except the sequencing node in the block chain network based on the sequencing position, so that the other nodes store the transaction data (m) in the corresponding block chains.
Fig. 9 schematically shows a block diagram of a data processing apparatus applied to an authentication node according to an embodiment of the present disclosure.
As shown in fig. 9, the data processing apparatus 900 applied to the authentication node includes a first receiving module 910, a first obtaining module 920, and a first authentication module 930.
The first receiving module 910 is configured to receive an aggregate signature (R, S), wherein the aggregate signature (R, S) comprises a first parameter (R) and a second parameter (S), wherein the first parameter (R) is a first intermediate value (R) generated by each generic signature node for transaction data (m)i) Is generated by the aggregate signing node for each of the common signing nodes for the transaction data (m), the second parameter (S) being a signature parameter (S) generated by the aggregate signing node for the each common signing node for the transaction data (m)i) And performing summation calculation.
The first obtaining module 920 is configured to obtain a master public key parameter (Q) of each generic signature nodeAi) And a first hash value (h)i1) Wherein the first hash value (h)i1) Is based on the first intermediate value (R)i) And (4) calculating.
The first verifying module 930 is configured to verify the master public key parameter (Q) of each generic signature node according to the aggregate signature (R, S)Ai) And a first hash value (h)i1) -verifying the signature of said transaction data (m).
Fig. 10 schematically shows a block diagram of a data processing apparatus applied to an aggregated signature node according to an embodiment of the present disclosure.
As shown in fig. 10, the data processing apparatus 1000 applied to the aggregated signature node includes a second receiving module 1010, a second obtaining module 1020, a first calculating module 1030, and a first transmitting module 1040.
The second receiving module 1010 is used for receiving a signature value (R)i,si) Wherein the signature value (R)i,si) Including a first intermediate value (R)i) And a signature parameter(s)i) The first intermediate value (R)i) And said signature parameter(s)i) Is generated for the transaction data (m) by said each generic signature node.
The second obtaining module 1020 is configured to obtain a first generic signature node from each generic signature nodeMiddle value (R)i) A set is generated, obtaining a first parameter (R).
The first calculating module 1030 is used for calculating the signature parameters(s) of each ordinary signature nodei) And performing summation calculation to obtain a second parameter (S).
The first sending module 1040 is configured to send an aggregated signature (R, S) to the verifying node, wherein the aggregated signature (R, S) comprises the first parameter (R) and the second parameter (S).
Fig. 11 schematically shows a block diagram of a data processing apparatus applied to a generic signature node according to an embodiment of the present disclosure.
As shown in fig. 11, the data processing apparatus 1100 is applied to one common signature node in a blockchain network including a plurality of nodes including at least one verification node, at least one aggregated signature node, and a plurality of common signature nodes, and the data processing apparatus 1100 applied to the common signature node includes a first generation module 1110, a second generation module 1120, a third generation module 1130, a second calculation module 1140, a third calculation module 1150, and a second transmission module 1160.
The first generation module 1110 is used to generate the private key parameter (d) of the generic signature node home terminalAi) And a master public key parameter (Q)Ai)。
The second generation module 1120 is used for generating random numbers (r)i)。
A third generating module 1130 is configured to generate the random number (r) based oni) Generating a first intermediate value (R) of the generic signature node home terminali)。
The second calculation module 1140 is used for calculating the Identity Data (ID) of the home node based on the transaction data (m) and the common signature nodei) Second intermediate value (PA)i) The first intermediate value (R)i) Calculating a first hash value (h)i1)。
The third computing module 1150 is configured to compute a signature parameter (si) based on the first hash value (hil), a private key (dAi) of the generic signature node local, and the random number (ri).
The second sending module 1160 is configured to send the signature parameter (si), the first intermediate value (Ri), the transaction data (m), the Identification Data (IDi) of the generic signature node home end, and the second intermediate value (PAi) to the aggregated signature node.
It should be noted that the description of the data processing apparatus is similar to the description of the data processing method, and the description of the beneficial effects of the method is not repeated herein. For technical details not disclosed in the embodiments of the data processing apparatus of the present disclosure, please refer to the description of the embodiments of the data processing method of the present invention.
Any of the modules according to embodiments of the present disclosure, or at least part of the functionality of any of them, may be implemented in one module. Any one or more of the modules according to the embodiments of the present disclosure may be implemented by being split into a plurality of modules. Any one or more of the modules according to the embodiments of the present disclosure may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in any other reasonable manner of hardware or firmware by integrating or packaging the circuit, or in any one of or a suitable combination of software, hardware, and the same. Alternatively, one or more of the modules according to embodiments of the disclosure may be implemented at least partly as computer program modules which, when executed, may perform corresponding functions.
For example, any plurality of the first receiving module 910, the first obtaining module 920 and the first verifying module 930 may be combined and implemented in one module, or any one of them may be split into a plurality of modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the first receiving module 910, the first obtaining module 920 and the first verifying module 930 may be implemented at least partially as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented by hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or implemented by any one of three implementations of software, hardware and firmware, or in a suitable combination of any of them. Alternatively, at least one of the first receiving module 910, the first obtaining module 920 and the first verifying module 930 may be at least partially implemented as a computer program module, which when executed may perform a corresponding function.
FIG. 12 schematically illustrates a block diagram of a computer system suitable for implementing the above-described method according to an embodiment of the present disclosure. The computer system illustrated in FIG. 12 is only one example and should not impose any limitations on the scope of use or functionality of embodiments of the disclosure.
As shown in fig. 12, computer system 1200 includes a processor 1210 and a computer-readable storage medium 1220. The computer system 1200 may perform a method according to an embodiment of the disclosure.
In particular, processor 1210 may include, for example, a general purpose microprocessor, an instruction set processor and/or related chip set and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), and/or the like. The processor 1210 may also include onboard memory for caching purposes. Processor 1210 may be a single processing unit or a plurality of processing units for performing different actions of a method flow according to embodiments of the present disclosure.
Computer-readable storage media 1220, for example, may be non-volatile computer-readable storage media, specific examples including, but not limited to: magnetic storage devices, such as magnetic tape or Hard Disk Drives (HDDs); optical storage devices, such as compact disks (CD-ROMs); a memory, such as a Random Access Memory (RAM) or a flash memory; and so on.
The computer-readable storage medium 1220 may include a computer program 1221, which computer program 1221 may include code/computer-executable instructions that, when executed by the processor 1210, cause the processor 1210 to perform a method according to an embodiment of the disclosure, or any variation thereof.
The computer program 1221 may be configured with, for example, computer program code comprising computer program modules. For example, in an example embodiment, code in computer program 1221 may include one or more program modules, including, for example, 1221A, modules 1221B, … …. It should be noted that the division and number of modules are not fixed, and those skilled in the art may use suitable program modules or program module combinations according to actual situations, and when the program modules are executed by the processor 1210, the processor 1210 may execute the method according to the embodiment of the present disclosure or any variation thereof.
According to an embodiment of the present invention, for example, at least one of the first receiving module 910, the first obtaining module 920 and the first verifying module 930 may be implemented as a computer program module described with reference to fig. 12, which, when executed by the processor 1210, may implement the respective operations described above.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement the method according to an embodiment of the disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example but is not limited to: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Those skilled in the art will appreciate that various combinations and/or combinations of features recited in the various embodiments and/or claims of the present disclosure can be made, even if such combinations or combinations are not expressly recited in the present disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present disclosure may be made without departing from the spirit or teaching of the present disclosure. All such combinations and/or associations are within the scope of the present disclosure.
While the disclosure has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims and their equivalents. Accordingly, the scope of the present disclosure should not be limited to the above-described embodiments, but should be defined not only by the appended claims, but also by equivalents thereof.

Claims (10)

1. A data processing method applied to a verification node in a blockchain network, the blockchain network including a plurality of nodes including at least one verification node, at least one aggregate signature node, and a plurality of common signature nodes, the method comprising:
receiving an aggregate signature, wherein the aggregate signature comprises a first parameter and a second parameter, the first parameter is a set of first intermediate values generated by each common signature node for transaction data, and the second parameter is obtained by calculating the sum of the signature parameters generated by each common signature node for the transaction data by the aggregate signature node;
acquiring a master public key parameter and a first hash value of each common signature node, wherein the first hash value is obtained by calculation based on the first intermediate value; and
and verifying the signature of the transaction data according to the aggregated signature, the main public key parameter of each common signature node and the first hash value.
2. The method of claim 1, wherein verifying the signature of the transaction data according to the aggregated signature, the master public key parameter of each common signature node, and a first hash value comprises:
verifying whether a preset equation comprising a first public key generation parameter is established or not;
wherein, in case the preset equation is established, it is determined that the signature verification on the transaction data is successful;
determining that signature verification of the transaction data fails if the preset equation does not hold.
3. The method of claim 1, wherein obtaining the master public key parameter of each generic signature node comprises:
acquiring identification data, a secondary public key parameter and a second public key generation parameter of each common signature node;
calculating according to the identification data and the secondary public key parameters to obtain a second hash value; and
calculating according to the second hash value, the secondary public key parameter and the public key generation parameter to obtain the primary public key parameter;
wherein calculating to obtain the primary public key parameter according to the second hash value, the secondary public key parameter, and the second public key generation parameter includes:
binary conversion is carried out on the second hash value to obtain a 32-bit first numerical value;
obtaining an upper 16-bit binary system and a lower 16-bit binary system of the first numerical value;
performing decimal conversion on the high 16-bit binary system to obtain a first sub-value;
decimal conversion is carried out on the low 16-bit binary system to obtain a second sub-value; and
and generating the main public key parameter based on the product of the first sub-numerical value and the auxiliary public key parameter and the product of the second sub-numerical value and the second public key generation parameter.
4. The method of claim 1, wherein the plurality of nodes further comprises a ranking node, the method further comprising:
and under the condition that the signature of the transaction data is successfully verified, sending the transaction data to the sequencing node so that the sequencing node sequences the transaction data, and sending the transaction data to other nodes except the sequencing node in the block chain network based on a sequencing position so that the other nodes store the transaction data in the corresponding block chains.
5. A data processing method applied to an aggregate signature node in a blockchain network, the blockchain network including a plurality of nodes including at least one verification node, at least one aggregate signature node, and a plurality of common signature nodes, the method comprising:
receiving a signature value, wherein the signature value comprises a first intermediate value and a signature parameter, and the first intermediate value and the signature parameter are generated by each common signature node for transaction data;
generating a set according to the first intermediate value of each common signature node to obtain a first parameter;
summing the signature parameters of each common signature node to obtain a second parameter; and
sending an aggregated signature to the verification node, wherein the aggregated signature comprises the first parameter and the second parameter.
6. The method of claim 5, further comprising:
acquiring a master public key parameter, a first hash value and a first public key generation parameter of each common signature node, wherein the first hash value is obtained by calculation based on the first intermediate value; and
verifying the signature value of each common signature node based on the master public key parameter, the first hash value, the first public key generation parameter, the first intermediate value and the signature parameter of each common signature node, wherein the aggregated signature is sent to the verification node under the condition of successful verification;
wherein, obtaining the master public key parameter of each common signature node comprises:
acquiring identification data, a secondary public key parameter and a second public key generation parameter of each common signature node;
calculating according to the identification data and the secondary public key parameters to obtain a second hash value; and
and calculating according to the second hash value, the secondary public key parameter and the second public key generation parameter to obtain the primary public key parameter.
7. A data processing method applied to a common signature node in a blockchain network, the blockchain network including a plurality of nodes including at least one verification node, at least one aggregate signature node, and a plurality of common signature nodes, the method comprising:
generating a private key parameter and a main public key parameter of a common signature node home terminal;
generating a random number;
generating a first intermediate value of the local end of the common signature node based on the random number;
calculating a first hash value based on the transaction data, the identification data of the common signature node home terminal, a second intermediate value and the first intermediate value;
calculating a signature parameter based on the first hash value, a private key of the common signature node home terminal and the random number; and
and sending the signature parameter, the first intermediate value, the transaction data, the identification data of the home terminal of the common signature node and the second intermediate value to an aggregation signature node.
8. A data processing apparatus for use in a verification node in a blockchain network, the blockchain network including a plurality of nodes including at least one verification node, at least one aggregated signature node, and a plurality of ordinary signature nodes, the method comprising:
a first receiving module, configured to receive an aggregate signature, where the aggregate signature includes a first parameter and a second parameter, where the first parameter is a set of first intermediate values generated by each common signature node for transaction data, and the second parameter is obtained by calculating, by the aggregate signature node, a summation of signature parameters generated by each common signature node for the transaction data;
a first obtaining module, configured to obtain a master public key parameter and a first hash value of each common signature node, where the first hash value is obtained through calculation based on the first intermediate value; and
and the first verification module is used for verifying the signature of the transaction data according to the aggregated signature, the main public key parameter of each common signature node and the first hash value.
9. A data processing apparatus for use in an aggregate signature node in a blockchain network, the blockchain network including a plurality of nodes including at least one authentication node, at least one aggregate signature node, and a plurality of common signature nodes, the method comprising:
a second receiving module, configured to receive a signature value, where the signature value includes a first intermediate value and a signature parameter, and the first intermediate value and the signature parameter are generated by each generic signature node for transaction data;
a second obtaining module, configured to generate a set according to the first intermediate value of each common signature node, and obtain a first parameter;
the first calculation module is used for summing the signature parameters of each common signature node to obtain a second parameter; and
a first sending module, configured to send an aggregated signature to the verification node, where the aggregated signature includes the first parameter and the second parameter.
10. A data processing apparatus, applied to a common signature node in a blockchain network, the blockchain network including a plurality of nodes including at least one verification node, at least one aggregate signature node, and a plurality of common signature nodes, the method comprising:
the first generation module is used for generating a private key parameter and a main public key parameter of a common signature node home terminal;
a second generation module for generating a random number;
a third generating module, configured to generate a first intermediate value of the home end of the common signature node based on the random number;
the second calculation module is used for calculating a first hash value based on the transaction data, the identification data of the local end of the common signature node, a second intermediate value and the first intermediate value;
the third calculation module is used for calculating signature parameters based on the first hash value, a private key of the local end of the common signature node and the random number; and
and the second sending module is used for sending the signature parameter, the first intermediate value, the transaction data, the identification data of the home terminal of the common signature node and the second intermediate value to the aggregation signature node.
CN201911218306.3A 2019-12-02 2019-12-02 Data processing method and device Pending CN110992031A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911218306.3A CN110992031A (en) 2019-12-02 2019-12-02 Data processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911218306.3A CN110992031A (en) 2019-12-02 2019-12-02 Data processing method and device

Publications (1)

Publication Number Publication Date
CN110992031A true CN110992031A (en) 2020-04-10

Family

ID=70089410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911218306.3A Pending CN110992031A (en) 2019-12-02 2019-12-02 Data processing method and device

Country Status (1)

Country Link
CN (1) CN110992031A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113378237A (en) * 2021-06-09 2021-09-10 中央财经大学 Block chain data storage method and device based on aggregate signature and isolation witness
CN114338715A (en) * 2021-12-31 2022-04-12 杭州趣链科技有限公司 Data synchronization method, block chain system, terminal device and storage medium
CN114629892A (en) * 2022-03-02 2022-06-14 杭州趣链科技有限公司 Work comment method, system, electronic device and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110247774A (en) * 2019-06-28 2019-09-17 深圳市网心科技有限公司 A kind of the common recognition method and relevant device of block chain data
CN110300172A (en) * 2019-06-28 2019-10-01 深圳市网心科技有限公司 A kind of the common recognition method and relevant device of block chain data
CN110401537A (en) * 2019-07-26 2019-11-01 深圳市网心科技有限公司 Thresholding voting method, system and relevant device based on BLS signature algorithm

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110247774A (en) * 2019-06-28 2019-09-17 深圳市网心科技有限公司 A kind of the common recognition method and relevant device of block chain data
CN110300172A (en) * 2019-06-28 2019-10-01 深圳市网心科技有限公司 A kind of the common recognition method and relevant device of block chain data
CN110401537A (en) * 2019-07-26 2019-11-01 深圳市网心科技有限公司 Thresholding voting method, system and relevant device based on BLS signature algorithm

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
跨链技术践行者: "理解BLS签名算法", pages 1 - 6, Retrieved from the Internet <URL:https://blog.csdn.net/shangsongwww/article/details/89486686> *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113378237A (en) * 2021-06-09 2021-09-10 中央财经大学 Block chain data storage method and device based on aggregate signature and isolation witness
CN113378237B (en) * 2021-06-09 2023-06-23 中央财经大学 Block chain data storage method and device based on aggregated signature and isolated witness
CN114338715A (en) * 2021-12-31 2022-04-12 杭州趣链科技有限公司 Data synchronization method, block chain system, terminal device and storage medium
CN114629892A (en) * 2022-03-02 2022-06-14 杭州趣链科技有限公司 Work comment method, system, electronic device and storage medium
CN114629892B (en) * 2022-03-02 2024-05-03 杭州趣链科技有限公司 Work comment method, system, electronic device and storage medium

Similar Documents

Publication Publication Date Title
EP3619884B1 (en) Secure dynamic threshold signature scheme employing trusted hardware
JP6511017B2 (en) Contract agreement method, agreement verification method, contract agreement device and agreement verification device
Li et al. Privacy preserving cloud data auditing with efficient key update
US20200344070A1 (en) Methods and devices for validating transaction in blockchain system
JP6882512B2 (en) Preventing inaccurate notification of input data by participants in secure multi-party calculations
EP3700128A1 (en) Identity authentication method and system, as well as computing device and storage medium
US10867299B2 (en) Methods and devices for providing transaction data to blockchain system for processing
CN111797159A (en) Information management and access control in a database
CN111066285A (en) Method for recovering public key based on SM2 signature
CN111989891A (en) Data processing method, related device and block chain system
CN108769010B (en) Method and device for node invited registration
CN110992031A (en) Data processing method and device
US10887104B1 (en) Methods and systems for cryptographically secured decentralized testing
CN111767569A (en) Access authorization method and node of block chain
CN110995443B (en) Data processing method and device
CN113987554A (en) Method, device and system for obtaining data authorization
CN115885498A (en) Threshold signature
WO2021134898A1 (en) Blockchain transaction data proof supervision method and system, and related device
TW202318833A (en) Threshold signature scheme
CN111385096B (en) Block chain network system, signature processing method, terminal and storage medium
CN111314066A (en) Block chain-based data transfer method, terminal and computer-readable storage medium
CN110910110A (en) Data processing method and device and computer storage medium
CN116349203A (en) Identifying denial of service attacks
CN115516817A (en) DSA threshold signature with secret sharing
CN110266478B (en) Information processing method and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination