WO2022183998A1 - 一种数据处理方法、装置、设备及存储介质 - Google Patents

一种数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2022183998A1
WO2022183998A1 PCT/CN2022/078155 CN2022078155W WO2022183998A1 WO 2022183998 A1 WO2022183998 A1 WO 2022183998A1 CN 2022078155 W CN2022078155 W CN 2022078155W WO 2022183998 A1 WO2022183998 A1 WO 2022183998A1
Authority
WO
WIPO (PCT)
Prior art keywords
signature
parameter
information
node
data
Prior art date
Application number
PCT/CN2022/078155
Other languages
English (en)
French (fr)
Inventor
李茂材
王宗友
时一防
廖志勇
刘攀
蓝虎
周开班
孔利
朱耿良
刘区城
张劲松
黄焕坤
崔嘉辉
Original Assignee
腾讯科技(深圳)有限公司
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 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to EP22762463.2A priority Critical patent/EP4207674A4/en
Publication of WO2022183998A1 publication Critical patent/WO2022183998A1/zh
Priority to US18/076,689 priority patent/US20230097738A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures

Definitions

  • This application relates to the field of blockchain technology, in particular to related data processing technologies.
  • the aggregator participating in the aggregated signature when the aggregator participating in the aggregated signature receives the data signature information corresponding to a message to be signed sent by other signers, it can perform aggregated signature on the data signature information to obtain the corresponding signature of the message to be signed.
  • aggregated signature information each signer needs to perceive all the signers participating in the aggregated signature (for example, business nodes in the blockchain network) in advance when signing the message to be signed, so that they can participate in the aggregated signature to obtain the message to be signed. Corresponding data signature information.
  • all signers participating in the aggregated signature include business node 1, business node 2, and business node 3 in the blockchain network, for any signer (for example, business node 1), after receiving the pending signature After the message, it is necessary to obtain the interaction data of all signers (for example, the key parameter R 1 generated by the service node 1 itself, the key parameter R 2 sent by the service node 2, and the key parameter R 3 sent by the service node 3 ), and then can The to-be-signed message is subjected to signature processing to obtain data signature information.
  • each signer has a lot of network interaction in the process of signing the message to be signed, so that the aggregated signature scheme has high network complexity, occupies more bandwidth, and aggregates the signature of the signature. Efficiency is reduced.
  • Embodiments of the present application provide a data processing method, apparatus, device, and storage medium, which can reduce the network complexity of aggregated signatures.
  • One aspect of the embodiments of the present application provides a data processing method, where the method is executed by a first service node in a blockchain network, including:
  • the second business node is a node other than the first business node in the blockchain network;
  • the data signature information is obtained by the second service node performing signature processing on the service data information;
  • the data signature information includes the first key parameter and the second key parameter; the first key parameter and the first key parameter
  • the two key parameters are both related to the random parameters determined by the second service node; the random parameters are jointly determined by the second service node based on the private key of the node and the service data information;
  • the aggregated signature is performed on the data signature information corresponding to the target signature verification result.
  • One aspect of the embodiments of the present application provides a data processing method, where the method is executed by a second service node in a blockchain network, including:
  • the embodiments of the present application provide a data processing apparatus, including:
  • a service information acquisition module configured to acquire service data information and send the service data information to a second service node;
  • the second service node is a node other than the first service node in the blockchain network;
  • the signature information receiving module is used to receive the data signature information returned by the second service node; the data signature information is obtained by the second service node signing the service data information; the data signature information includes the first key parameter and the second key parameter The first key parameter and the second key parameter are both related to the random parameter determined by the second service node; the random parameter is jointly determined by the second service node based on the node private key and the service data information;
  • the verification result adding module is used to perform signature verification on the data signature information based on the first key parameter and the second key parameter in the data signature information, obtain the signature verification result, and add the signature verification result to the blockchain network associated with the blockchain network. Validate the result set;
  • the verification result search module is used to search for the signature verification result satisfying the legal signature verification condition in the verification result set, and determine the signature verification result satisfying the legal signature verification condition as the target signature verification result;
  • the aggregated signature module is configured to perform aggregated signature on the data signature information corresponding to the target signature verification result if the number of signatures of the target signature verification result satisfies the aggregated signature condition according to statistics.
  • the embodiments of the present application provide a data processing apparatus, including:
  • a service information receiving module which receives service data information sent by the first service node in the blockchain network
  • a random parameter generation module configured to generate random parameters for performing signature processing on the service data information based on the node private key of the second service node and service data information
  • the signature information determination module is used to generate the first key parameter based on the random parameter and the fixed parameter, generate the second key parameter based on the random parameter, the business data information and the private key of the node, and determine the data based on the first key parameter and the second key parameter signature information;
  • the signature information sending module is used for sending the data signature information to the first service node.
  • An aspect of the embodiments of the present application provides a computer device, including: a processor and a memory;
  • the processor is connected to the memory, where the memory is used to store a computer program, and when the computer program is executed by the processor, the computer device executes the method provided by the embodiments of the present application.
  • One aspect of the embodiments of the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, where the computer program is adapted to be loaded and executed by a processor, so that a computer device having the processor executes the present application Methods provided by the examples.
  • embodiments of the present application provide a computer program product or computer program, where the computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the method provided by the embodiments of the present application.
  • the second service node in the blockchain network after the second service node in the blockchain network obtains the service data information sent by the first service node, it can directly sign the received service data information without sensing the existence of other signers processing, to obtain the data signature information to be returned to the first service node.
  • the data signature information determined by the second service node may include the first key parameter and the second key parameter, both of which are related to the random parameters generated by the second service node, and do not need to be determined according to the interaction data returned by all signers.
  • a first key parameter is determined so that network interactions can be reduced.
  • the random parameter is jointly determined according to the node private key of the second service node and service data information.
  • the first service node in the blockchain network can obtain the data signature information obtained by the signature processing of the same service data information by multiple second service nodes, and then can perform signature verification on each obtained data signature information to obtain each data signature.
  • a signature verification result of the data signature information, and the obtained signature verification result is added to the verification result set associated with the blockchain network.
  • the first service node can find the target signature verification result satisfying the legal signature verification condition in the verification result set, and count the number of signatures of the target signature verification result. When the number of signatures satisfies the aggregated signature condition, the first service node may directly perform aggregated signature on the data signature information corresponding to the target signature verification result.
  • FIG. 1 is a schematic structural diagram of a blockchain node system provided by an embodiment of the present application
  • FIG. 2 is a schematic diagram of a scenario for data interaction provided by an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a data processing method provided by an embodiment of the present application.
  • Fig. 4 is a kind of scenario schematic diagram of broadcasting service data information to the second service node provided by the embodiment of the present application;
  • FIG. 5 is a schematic diagram of a scenario for performing signature verification on data signature information provided by an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of a data processing method provided by an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a data processing apparatus provided by an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a data processing apparatus provided by an embodiment of the present application.
  • FIG. 9 is a schematic diagram of a computer device provided by an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a data processing system provided by an embodiment of the present application.
  • FIG. 1 is a schematic structural diagram of a blockchain node system provided by an embodiment of the present application.
  • the blockchain node system can be a distributed system formed by multiple nodes connected through network communication.
  • the blockchain node system may include multiple nodes.
  • the multiple nodes may specifically be node 10A, node 10B, node 10C, . . . , node 10N.
  • each node eg, node 10A, node 10B, node 10C, . . . , node 10N
  • the blockchain node can be a server accessing the blockchain network, or a user terminal accessing the blockchain network.
  • the specific form of the blockchain node is not limited here. .
  • peer-to-peer Peer To Peer
  • TCP Transmission Control Protocol
  • the data processing method in the embodiment of the present application may involve a non-interactive aggregated signature scheme (for example, Schnorr algorithm).
  • the non-interactive aggregated signature scheme can effectively reduce storage space, network traffic, and verification time, and has a significant effect on scenarios with low signature frequency but high verification frequency.
  • the aggregated signature scheme can be applied to consensus scenarios, multi-party collaboration scenarios, contract signing scenarios, and so on.
  • the aggregated signature here is a kind of multi-signature. Multi-signature means that after obtaining the signature information obtained by multiple signers signing multiple messages or the same message, the multiple signature information is aggregated into a shorter one. signature information to obtain aggregated signature information.
  • the verifier ensures the authenticity of the received message by verifying the aggregated signature information.
  • a blockchain node may be selected as the first service node in the blockchain node system shown in FIG. 1 , for example, node 10A.
  • the first service node may serve as an aggregator participating in the aggregation signature.
  • the blockchain nodes other than the first service node in the blockchain node system may also be regarded as the second service node, and the second service node may be used to broadcast the first service node.
  • the service data information is subjected to signature processing, that is, the second service node can serve as a signer participating in the aggregated signature.
  • the service data information broadcast by the first service node may be a transaction request message of the client, or may be a block to be verified obtained by packaging the transaction request message, and the service data information will not be limited here.
  • the client may include a social client, a multimedia client (eg, a video client), an entertainment client (eg, a game client), an education client, a live client, etc.; the client may be an independent client
  • the client can also be an embedded sub-client integrated in a client (eg, a social client, an education client, a multimedia client, etc.), which is not limited here.
  • the user terminal running the client can be directly or indirectly connected with the blockchain node (for example, the first service node) in the blockchain network through wired or wireless communication, so as to exchange service data.
  • the application embodiments are not limited herein.
  • the user terminal may include smart terminals such as a smart phone, a tablet computer, a notebook computer, a desktop computer, a wearable device, a smart home, and a head-mounted device.
  • the first service node in this embodiment of the present application may be a background server corresponding to the client.
  • the first service node may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or may provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, Cloud servers for basic cloud computing services such as cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.
  • the first service node may send the service data information to the second service node (ie, the signer) in the blockchain network, so that the second service node performs signature processing on the service data information.
  • the second service node receives the service data information, it does not need to perceive the existence of other signers, and can directly obtain a random number for generating the first key parameter and the second key parameter based on its own node private key and service data information. parameters, and then obtain the data signature information corresponding to the service data information. In this way, network interactions during the aggregation signature process can be reduced.
  • the first business node After receiving the data signature information returned by the second service node, the first business node can perform signature verification on the data signature information, and then count the target signature verification results that meet the legal signature verification conditions, so that the number of signatures in the target signature verification result satisfies the When aggregating the signature conditions, perform an aggregate signature on the data signature information corresponding to the target signature verification result. Since the network interaction between the signers in the signing process is reduced, the network complexity of the aggregated signature can be reduced, thereby improving the signature efficiency of the aggregated signature.
  • the node 20A may be the first service node in the blockchain network, that is, the aggregator participating in the aggregation signature.
  • the node 20A may be the node in the blockchain node system shown in FIG. 1 above. 10A.
  • the node 20B, the node 20C, the node 20D, ..., and the node 20N may be the second service nodes in the blockchain network.
  • the second service node may be the blockchain node system shown in FIG. 1 above. Nodes other than node 10A.
  • the node 20A may acquire the service data information to be sent to the second service node, so that the second service node performs signature processing on the service data information to obtain data signature information.
  • the service data information here may be directly sent by the user terminal running the client, or may be forwarded by other nodes in the blockchain network, which is not limited here.
  • the service data information may be an asset transfer message initiated by the user of the user terminal through the client terminal, and the asset transfer message may be used to request the transfer of virtual assets such as bitcoin, ether, game gold coins, game diamonds, and electronic bills.
  • the data signature information generated by the second service node may include the first key parameter and the second key parameter. Both the first key parameter and the second key parameter here are related to random parameters generated by the second service node.
  • the random parameter may be jointly determined by the second service node based on its own node private key and service data information received by the second service node.
  • the node 20B shown in FIG. 2 can generate a random parameter (for example, a random parameter for signing the service data information) based on the node private key of the node 20B and the service data information. , parameter r 1 ). Further, the node 20B may generate a first key parameter (eg, key parameter R 1 ) based on the random parameter, and a fixed parameter (eg, parameter G) associated with the non-interactive aggregated signature rule. In addition, the node 20B may also generate a second key parameter (eg, the key parameter s 1 ) based on the random parameter, the service data information and the node private key of the node 20B. At this time, the node 20B may determine the data signature information (eg, signature information 1, ie ⁇ R 1 , s 1 >) for feedback to the node 20A based on the first key parameter and the second key parameter.
  • a random parameter for example, a random parameter for signing the service data information
  • the node 20B may generate a first
  • the node 20A can perform signature verification on the received data signature information based on the first key parameter and the second key parameter in the data signature information, The signature verification result is obtained, and then the signature verification result can be added to the verification result set associated with the blockchain network (for example, the verification result set 200x shown in FIG. 2 ).
  • the node 20A may search the verification result set 200x for a signature verification result satisfying the legal signature verification condition, and determine the found signature verification result satisfying the legal signature verification condition as the target signature verification result.
  • the legal signature verification condition may be successful signature verification; exemplarily, the node 20A may determine the first auxiliary parameter and the second auxiliary parameter based on the received data signature information and the non-interactive aggregated signature rule, and then determine the two Is it consistent.
  • the target signature verification results found in the verification result set 200x by the node 20A may include signature verification result 1, signature verification result 2, . . . , and signature verification result n.
  • the signature verification result 1 may be the signature verification result obtained after the node 20A performs signature verification on the data signature information 1 returned by the node 20B.
  • the node 20A can count the number of signatures of the target signature verification result. If it is counted that the number of signatures of the target signature verification result reaches the number threshold (for example, n) specified by the aggregate signature condition, the node 20A can determine that the number of signatures of the target signature verification result satisfies the aggregated signature condition.
  • the data signature information corresponding to each target signature verification result is aggregated and signed to obtain aggregated signature information.
  • n is a positive integer, where n can be dynamically adjusted according to actual requirements, which is not limited here.
  • the data signature information corresponding to the target signature verification result found by the node 20A may include the signature information 1 corresponding to the signature verification result 1 (for example, ⁇ R 1 , s 1 >), the signature corresponding to the signature verification result 2 Information 2 (eg, ⁇ R 2 , s 2 >), ..., and signature information n (eg, ⁇ R n , s n >) corresponding to the signature verification result n.
  • the node 20A can perform aggregated signatures on the n pieces of data signature information to obtain aggregated signature information (eg, ⁇ R, s>) shown in FIG. 2 .
  • the aggregation key parameter R may be referred to as the first aggregation key parameter
  • the aggregation key parameter s may be referred to as the second aggregation key parameter.
  • a virtual asset can be jointly held by multiple parties.
  • n eg, 5 users.
  • These 5 users may include users in the camp who have game identities such as group leader and battalion leader.
  • the virtual asset needs to be processed (for example, asset transfer)
  • the five users with asset management authority are required to perform signature processing on the virtual asset, so as to obtain data signature information corresponding to the virtual asset.
  • the node 20A (for example, the node corresponding to the head of the group) may collect the data signature information returned by the second service node.
  • the second service node may be a service node corresponding to a user who has the asset management authority for the virtual asset (for example, a node corresponding to a battalion commander or a regiment commander).
  • the node 20A may perform an aggregate signature on the five data signature information.
  • the second service node in the embodiment of the present application obtains the service data information broadcast by the node 20A, it does not need to perceive the existence of other signers, and can directly perform signature processing on the service data information to obtain the data signature information .
  • Each second service node uniformly returns the obtained data signature information to the node 20A, so that when the node 20A collects enough data signature information corresponding to the target signature verification results that satisfy the legal signature verification conditions, Aggregate signatures are performed on all data signature information.
  • This method does not need to obtain the interaction data of all signers when the signer performs signature processing on the business data information, thereby reducing the data interaction between networks, thereby reducing the network complexity of aggregated signatures. Improved the signature efficiency of aggregated signatures.
  • FIG. 3 is a schematic flowchart of a data processing method provided by an embodiment of the present application.
  • the method can be executed by the first service node in the blockchain network (that is, the aggregator participating in the aggregation signature), and the first service node can be a user terminal accessing the blockchain network, or It can be a server accessing the blockchain network, which is not limited here.
  • the embodiment of the present application takes the first service node as the server (for example, the node 10A in the blockchain node system shown in FIG. 1 ) as an example for description, and the method may include at least the following steps S101 to S105:
  • Step S101 acquiring service data information, and sending the service data information to a second service node.
  • the first service node may acquire the service data information to be processed and the user signature information carried in the service request.
  • the user signature information may be obtained by the user terminal signing the service data information to be processed based on the user private key corresponding to the user terminal.
  • the first service node can obtain the user's public key corresponding to the user's private key, and then can verify the user's signature information based on the user's public key to obtain the user's signature verification result. If the user's signature verification result indicates that the signature verification is successful, the first service node may use the service data information to be processed as the service data information to be sent to the second service node in the blockchain network.
  • a trigger operation can be performed through the client terminal.
  • the trigger operation here may include contact operations such as clicking and long pressing, and may also include non-contact operations such as voice and gesture, which will not be limited here.
  • the user terminal may generate to-be-processed service data information associated with the client terminal.
  • the user terminal may obtain the user private key of user A, and perform signature processing on the service data information to be processed based on the user private key to obtain user signature information.
  • the user terminal may generate a service request to be sent to the first service node based on the user signature information and the service data information to be processed.
  • the first service node After receiving the service request sent by the user terminal, the first service node can obtain the user public key of user A, and verify the user signature information in the service request to obtain the user signature verification result. If the user signature verification result indicates that signature verification fails, the first service node may determine that the received service request is an illegal request. If the user's signature verification result indicates that the signature verification is successful, the first service node may determine that the received service request is a legitimate request, and at this time, the first service node may regard the pending service data information in the service request as to-be-sent To the service data information of the second service node in the blockchain network.
  • the first business node When the first business node broadcasts the business data information to the second business node in the blockchain network, in order to ensure the security of data transmission, the first business node can obtain the node public key of the second business node, and then can Encrypt the service data information based on the public key of the node to obtain the encrypted data information. At this time, the first service node can send the encrypted data information to the second service node, so that the second service node can decrypt the encrypted data information based on its own private key of the node, thereby obtaining the service data information.
  • FIG. 4 is a schematic diagram of a scenario in which service data information is broadcast to a second service node provided by an embodiment of the present application.
  • the node 40A may be the first service node in the blockchain network.
  • the node 40A may be the node 10A in the blockchain network shown in FIG. 1 above.
  • the node 40B can be the second service node in the blockchain network, which can be used to perform signature processing on the service data information, and the node 40B can be a region other than the node 10A in the blockchain network shown in FIG. 1 above.
  • the user terminal 400a may be a user terminal having a network connection relationship with the node 40A, and is used to send a service request carrying service data information to the node 40A.
  • the user of the user terminal 400a can perform a trigger operation (for example, a click operation) through the client terminal, so that the user terminal 400a responds to the trigger operation and generates pending service data information for broadcasting in the blockchain network (for example, Fig. 4 shown in the business data information 4). Further, the user terminal 400a may perform signature processing on the service data information 4 based on the user private key corresponding to the user terminal 400a to obtain user signature information of the service data information 4 . It can be understood that the user terminal 400a can perform hash calculation on the service data information 4 to obtain the summary information h of the service data information 4 . Further, the user terminal 400a may digitally sign the digest information h based on the user private key corresponding to the user terminal 400a to obtain user signature information. At this time, the user terminal 400a may generate the service request shown in FIG. 4 based on the user signature information and the service data information 4, and then send the service request to the node 40A shown in FIG. 4 .
  • a trigger operation for example, a click operation
  • the node 40A When the node 40A receives the service request, it can obtain the service data information 4 and the user signature information from the service request. Further, the node 40A can obtain the user public key corresponding to the user private key corresponding to the user terminal 400a, and then can verify the user signature information based on the user public key to obtain the user signature verification result. It can be understood that the node 40A can verify the digital signature in the user's signature information based on the user's public key, obtain the summary information h of the service data information 4, and use the same hash algorithm as the user terminal 400a. The service data information 4 is hashed to obtain the summary information H of the service data information 4 .
  • the node 40A may compare the summary information h obtained by the signature verification with the summary information H obtained by performing hash calculation to obtain the user signature verification result. If the user signature verification result indicates that the summary information h is different from the summary information H, it can be determined that the node 40A fails the signature verification, that is, the service request is an illegal request. If the user's signature verification result indicates that the summary information h is the same as the summary information H, it can be determined that the node 40A's signature verification is successful, that is, the service request is a legitimate request.
  • the node 40A may use the service data information 4 as the service data information to be sent to the second service node in the blockchain network.
  • the node 40A in order to ensure the security of data transmission, the node 40A can obtain the node public key of the node 40B, and then can perform the service data information 4 based on the node public key of the node 40B. Encryption processing to obtain encrypted data information.
  • the node 40B After the node 40B receives the encrypted data information sent by the node 40A, the node 40B can decrypt the encrypted data information based on its own node private key, so as to obtain the service data information 4 .
  • Step S102 Receive the data signature information returned by the second service node.
  • the second service node can obtain the non-interactive aggregated signature rule indicated by the aggregated signature condition, and perform signature processing on the service data information to obtain the service Data signature information of data information.
  • the first service node can receive the information returned by multiple second service nodes.
  • the non-interactive aggregated signature rule may include various protocols, and the embodiment of the present application uses the Schnorr algorithm as an example to illustrate the principle of digital signature based on an elliptic curve.
  • the Schnorr algorithm is a public key electronic signature scheme, which can be easily transformed into an efficient aggregated signature due to its computational linearity.
  • E can be set to be an elliptic curve defined on a finite field, the points on E form a cyclic group, and the order is a prime number n, denoted by is a ring of integers modulo n,
  • n denoted by is a ring of integers modulo n
  • the value range of the elements is ⁇ 0, 1, 2, ..., n-1 ⁇ ; is the multiplicative group of integers modulo n,
  • the value range of the elements is ⁇ 1, 2, ..., n-1 ⁇ .
  • the random parameter in the embodiment of the present application may be jointly determined according to the node private key of the signer (for example, the second service node) and the service data information.
  • the random parameter can also be obtained by using the private key of another node (or a non-public value bound with the private key of the node) and the service data information to be obtained by operation and combination.
  • the non-public value here refers to a mapping operation on the private key of the node.
  • the random parameter may also have other generating manners, which will not be limited here.
  • the embodiment of the present application can select random parameters As the node private key of a blockchain node in a blockchain network, for example, the node private key of a blockchain node (eg, node i) in the blockchain network can be represented as k i , where k i ⁇ ⁇ k 1 ,k 2 ,...,k N ⁇ . Based on the non-interactive aggregated signature rule, the embodiment of the present application can use the product of the node private key of the blockchain node and the fixed parameter G as the node public key of the node.
  • the node private key of a blockchain node in a blockchain network for example, the node private key of a blockchain node (eg, node i) in the blockchain network can be represented as k i , where k i ⁇ ⁇ k 1 ,k 2 ,...,k N ⁇ .
  • the embodiment of the present application can use the product of the node private key of the blockchain node and the fixed parameter G as the node public key of the no
  • the fixed parameter G here may be related to the non-interactive aggregated signature rule, and the fixed parameter may refer to a fixed point on the elliptic curve E and is a generator.
  • the signer ie, the second service node, eg, node i
  • the specific calculation method of the data signature information ⁇ R i , s i > can refer to the following formula (1)-formula (4):
  • ri represents the random parameter generated by node i
  • ki represents the node private key of node i
  • m represents the message to be signed (for example, business data information)
  • the prime number n can be the order, is the multiplicative group of integers modulo n
  • the value range of the elements is ⁇ 1, 2, ..., n-1 ⁇ .
  • R i represents the first key parameter determined by node i
  • G represents a fixed parameter associated with the non-interactive aggregated signature rule.
  • m represents the message to be signed
  • e represents the hash value corresponding to the message to be signed determined by node i (for example, the verification hash value corresponding to the service data information)
  • n is the ring of integers modulo n
  • the value range of the elements is ⁇ 0, 1, 2, ..., n-1 ⁇ .
  • si represents the second key parameter determined by node i
  • ri represents the random parameter generated by node i
  • ki represents the node private key of node i
  • e represents the hash value corresponding to the message to be signed determined by node i.
  • the aggregated signature verification result corresponding to the statistically determined target signature verification result can be
  • the data signature information (that is, the n pieces of data signature information) is aggregated and signed to obtain aggregated signature information.
  • the specific calculation method for the node P to determine the aggregated signature information ⁇ R, s> can refer to the following formula (5)-formula (6):
  • R i represents the first key parameter in the data signature information returned by node i
  • R represents the aggregated key parameter (ie, the first aggregated key parameter) obtained by node p by combining the acquired n first key parameters.
  • si represents the second key parameter in the data signature information returned by node i
  • s represents the aggregated key parameter (ie, the second aggregated key parameter) obtained by node p by combining the acquired n second key parameters.
  • the specific formula for the signature verification party (that is, the second service node) to verify the received aggregated signature information ⁇ R, s> (that is, to verify whether S 1 is equal to S 2 ) can refer to the following Equation (7) - Equation (9):
  • m represents the message to be signed
  • E represents the hash value of the message to be signed determined by the signature verification party (for example, the hash value of the message corresponding to the service data information).
  • s represents the second aggregation key parameter
  • G represents a fixed parameter associated with the non-interactive aggregation signature rule.
  • S 1 represents an aggregation auxiliary parameter (ie, the first aggregation auxiliary parameter) for the sign verification party to verify the signature of the message to be signed.
  • R represents the first aggregate key parameter
  • E represents the hash value of the message to be signed determined by the verifier
  • Pi represents the node public key of the signer (for example, node i )
  • S 2 represents the message to be signed by the verifier
  • the aggregation auxiliary parameter for signature verification ie, the second aggregation auxiliary parameter).
  • the second service node After acquiring the service data information sent by the first service node in the blockchain network, the second service node (for example, node i) can perform splicing processing on its own node private key and service data information to obtain splicing information. Further, node i can obtain the hash determination rule in the non-interactive aggregated signature rule, and then based on the hash determination rule shown in the above formula (1), determine the splicing hash value corresponding to the splicing information, and the splicing The hash value is used as a random parameter (eg, parameter r i ) for signing the service data information.
  • a random parameter eg, parameter r i
  • the node i can obtain the fixed parameter (eg, G) associated with the non-interactive aggregated signature rule, and then can use the first product of the random parameter and the fixed parameter as the first key parameter according to the above formula (2). (eg key parameter R i ).
  • the second service node can also determine the second product of the verification hash value corresponding to the service data information and the node private key based on the formula (3) and formula (4) in the non-interactive aggregated signature rule, and then the first The square product and the random parameter are summed to obtain the second key parameter (eg, the key parameter s i ).
  • the second service node may determine, based on the first key parameter and the second key parameter, the data signature information ⁇ R i , s i > for performing signature processing on the service data information.
  • the random parameter generated by the second service node in the embodiment of the present application when signing the service data information is jointly determined by the node private key of the second service node and the service data information, which can effectively ensure that different
  • the random parameters are different when the message to be signed is signed, so as to protect the private key of the node, and it can effectively ensure that the data signature information obtained by signing the same message to be signed by the same node private key is the same.
  • multiple blockchain nodes in the blockchain network for example, nodes belonging to the same institution
  • they will sign the block and store it in the blockchain network respectively.
  • On the blockchain it can effectively ensure that the blockchain data stored by each node is consistent.
  • Step S103 based on the first key parameter and the second key parameter in the data signature information, perform signature verification on the data signature information, obtain a signature verification result, and add the signature verification result to the verification result set associated with the blockchain network.
  • the first service node can perform signature verification on the data signature information based on the first key parameter and the second key parameter in the data signature information to obtain a signature Validation results.
  • the signature verification result is a successful signature verification result
  • the first service node may add the signature verification result to the legal result set in the verification result set.
  • the signature verification result is the signature verification failure result
  • the first service node may add the signature verification result to the illegal result set in the verification result set.
  • the first service node When the first service node receives the data signature information returned by the second service node, it can obtain the first auxiliary parameter (for example, the auxiliary parameter according to the second key parameter and the fixed parameter in the data signature information based on the above formula (8). S1 ) . Further, the first service node can obtain the message hash value (for example, the hash value E) corresponding to the service data information based on the formula (9) in the above-mentioned non-interactive aggregated signature rule, and after obtaining the second service node After the public key of the node is obtained, a second auxiliary parameter (eg, auxiliary parameter S 2 ) is obtained based on the public key of the node, the first key parameter, and the message hash value. At this time, the first service node may determine the signature verification result based on the first auxiliary parameter and the second auxiliary parameter.
  • the specific verification process can refer to the following formula (10):
  • the first service node may compare the first auxiliary parameter with the second auxiliary parameter to obtain a comparison result.
  • the comparison result indicates that the first auxiliary parameter is consistent with the second auxiliary parameter
  • the first service node can obtain a successful signature verification result corresponding to the data signature information, in other words, the first service node has successfully verified the signature.
  • the comparison result indicates that the first auxiliary parameter is inconsistent with the second auxiliary parameter
  • the first service node may obtain a signature verification failure result corresponding to the data signature information, in other words, the first service node fails in signature verification.
  • the first service node may determine the signature verification success result or the signature verification failure result as the signature verification result.
  • FIG. 5 is a schematic diagram of a scenario for performing signature verification on data signature information according to an embodiment of the present application.
  • the node 50A in the embodiment of the present application may be the first service node for acquiring the service data information to be broadcast in the blockchain network.
  • the node 50A may be the one shown in FIG. 1 above.
  • Node 10A in the blockchain network may be the one shown in FIG. 1 above.
  • the node 50B in the embodiment of the present application may be the second service node in the blockchain network, that is, the signer used to perform signature processing on the service data information, and the node 50B may be the first service node in the blockchain network A blockchain node other than the node, for example, the node 10B in the blockchain network shown in FIG. 1 above.
  • the node 50B in the embodiment of the present application can perform signature processing on the service data information to obtain the data signature information of the service data information (for example, as shown in FIG. 5 ).
  • the data signature information 5a may include a first key parameter (eg, the key parameter R 5 shown in FIG. 5 ) and a second key parameter (eg, the key parameter s 5 shown in FIG. 5 ).
  • the key parameter R 5 is determined by the node 50B based on a random parameter and a fixed parameter (eg, G) associated with the non-interactive aggregated signature rule, and the key parameter s 5 is determined by the node 50B based on the random parameter, the node private key of the node 50B, and the service
  • the verification hash value (for example, the hash value e) corresponding to the data information is determined, and the verification hash value here is determined by the node 50B based on the service data information and the non-interactive aggregated signature rule.
  • the node 50B sends the data signature information 5a to the node 50A, so that the node 50A obtains the signature verification for the data signature information 5a according to the key parameter s 5 and the fixed parameter in the data signature information 5a based on the above formula (8).
  • the first auxiliary parameter of eg, auxiliary parameter S 1 .
  • the node 50A can also determine the message hash value (for example, the hash value E) corresponding to the service data information based on the formula (9) in the above-mentioned non-interactive aggregated signature rule, and obtain the node public key (for example, the hash value E) of the node 50B.
  • a second auxiliary parameter (eg, auxiliary parameter S 2 ) for signature verification of the data signature information 5a is obtained.
  • the node 50A can determine the signature verification result corresponding to the data signature information 5a (for example, the signature verification result 5b shown in FIG. 5 ) based on the auxiliary parameter S 1 and the auxiliary parameter S 2 .
  • the node 50A may compare the auxiliary parameter S 1 with the auxiliary parameter S 2 to obtain a comparison result.
  • the comparison result indicates that the auxiliary parameter S1 is consistent with the auxiliary parameter S2
  • the node 50A can determine that the signature verification is successful, that is, the signature verification result 5b corresponding to the data signature information 5a is the signature verification successful result.
  • the node 50A can change the signature Verification result 5b is added to a legal result set (eg, legal result set 510 ) in verification result set 500x shown in FIG. 5 .
  • the node 50A may determine that the signature verification fails, that is, the signature verification result 5b corresponding to the data signature information 5a is the signature verification failure result.
  • Verification result 5b is added to an illegal result set in verification result set 500x (eg, illegal result set 520 shown in FIG. 5).
  • step S104 the signature verification result satisfying the legal signature verification condition is searched in the verification result set, and the signature verification result satisfying the legal signature verification condition is determined as the target signature verification result.
  • the first service node may search for a signature verification result satisfying the legal signature verification condition in the verification result set, and then determine the found signature verification result satisfying the legal signature verification condition as the target signature verification result.
  • the signature verification result that satisfies the legal signature verification condition may refer to the signature verification result belonging to the successful signature verification result, that is, if the first service node determines the first If the first auxiliary parameter is consistent with the second auxiliary parameter, the signature verification result of the data signature information is the signature verification result satisfying the legal signature verification condition.
  • the embodiment of the present application can directly determine the signature verification result in the legal result set as the target signature verification result.
  • the target signature verification result determined by the node 50A ie, the first service node
  • Step S105 if it is statistically determined that the number of signatures of the target signature verification result satisfies the aggregated signature condition, perform aggregated signature on the data signature information corresponding to the target signature verification result.
  • the number of nodes of the second business node in the blockchain network can be N; where N is a positive integer; a signature verification result in the verification result set is to perform signature verification on a data signature information returned by a second business node Determined; a data signature message may include a first key parameter and a second key parameter.
  • the first service node may obtain the quantity threshold in the aggregated signature conditions, and count the number of signatures of the target signature verification result in the verification result set. If the number of signatures reaches the number threshold, the first service node may determine that the number of signatures satisfies the aggregated signature condition.
  • the number of signatures may be n; n is a positive integer less than or equal to N.
  • the first service node may obtain the first key parameter and the second key parameter in each data signature information from the n pieces of data signature information corresponding to the n target signature verification results. Further, the first service node may perform merge processing on the n first key parameters, use the merged n first key parameters as the first aggregated key parameters, and perform merge processing on the n second key parameters, The combined processed n second key parameters are used as the second aggregated key parameters. At this time, the first service node may perform an aggregated signature on the first aggregated key parameter and the second aggregated key parameter based on the non-interactive aggregated signature rule indicated by the aggregated signature condition.
  • the node 20A (ie, the first service node) can obtain the quantity threshold in the aggregated signature condition.
  • the number threshold for example, 4
  • the node 20A can determine that the number of signatures satisfies the aggregated signature condition, and at this time, the node 20A can check the corresponding target signature verification result.
  • the data signature information is aggregated signed to obtain aggregated signature information corresponding to the service data information.
  • the four target signature verification results that meet the aggregated signature condition counted by the node 20A include signature verification result 1, signature verification result 2, signature verification result 3 and signature verification result 4, and the data signature information corresponding to signature verification result 1 is the signature Information 1 ⁇ R 1 , s 1 >, the data signature information corresponding to signature verification result 2 is signature information 2 ⁇ R 2 , s 2 >, and the data signature information corresponding to signature verification result 3 is signature information 3 ⁇ R 3 , s 3 >, the data signature information corresponding to the signature verification result 4 is the signature information 4 ⁇ R 4 , s 4 >.
  • the node 20A can obtain the first key parameter (for example, the key parameter R 1 , the key parameter R 2 , the key parameter R 3 , respectively) in each data signature information from the four pieces of data signature information corresponding to the four target signature verification results. and key parameter R 4 ) and the second key parameter (eg, key parameter s 1 , key parameter s 2 , key parameter s 3 , and key parameter s 4 ) in each data signature message. Further, the node 20A may perform a merge process on the acquired 4 first key parameters, use the result of the merge process as the first aggregate key parameter (for example, aggregate key parameter R), and use the acquired 4 second key parameters as the result of the merge process.
  • the first key parameter for example, the key parameter R 1 , the key parameter R 2 , the key parameter R 3 , respectively
  • the second key parameter eg, key parameter s 1 , key parameter s 2 , key parameter s 3 , and key parameter s 4
  • the first service node may perform an aggregated signature on the aggregated key parameter R and the aggregated key parameter s based on the non-interactive aggregated signature rule indicated by the aggregated signature condition to obtain aggregated signature information ⁇ R, s>.
  • the second service node in the blockchain network obtains the service data information sent by the first service node, it does not need to perceive the existence of other signers, and can directly perform signature processing on the received service data information , to obtain the data signature information that needs to be returned to the first service node.
  • the data signature information determined by the second service node may include a first key parameter and a second key parameter, both of which are related to random parameters generated by the second service node, and do not need to be based on interactions returned by all signers Data to determine the first key parameter can reduce network interaction.
  • the random parameter is jointly determined according to the node private key of the second service node and service data information.
  • the first service node in the blockchain network can obtain the data signature information obtained by the signature processing of the same service data information by multiple second service nodes, and then can perform signature verification on each obtained data signature information, and obtain each data signature information.
  • the signature verification result of the data signature information, and the obtained signature verification result is added to the verification result set associated with the blockchain network.
  • the first business node can find the target signature verification results that meet the legal signature verification conditions in the verification result set, and count the number of signatures in the target signature verification results. When the number of signatures meets the aggregated signature conditions, the first business node can directly sign the target signature.
  • the data signature information corresponding to the verification result is aggregated and signed.
  • FIG. 6 is a schematic flowchart of a data processing method provided by an embodiment of the present application.
  • the method can be performed collaboratively by a first service node and a second service node in the blockchain network.
  • the first service node can be an aggregator participating in the aggregation signature.
  • the first service node can be It is the node 10A in the blockchain network shown in FIG. 1 above.
  • the second service node may be a signer participating in the aggregated signature, and the second service node may be a blockchain node other than the first service node in the blockchain network.
  • the second service node may be the above-mentioned figure Node 10B in the blockchain network shown in 1.
  • the method may include at least the following steps S201-S209:
  • Step S201 the first service node sends the acquired service data information to the second service node;
  • Step S202 after the second service node receives the service data information sent by the first service node, based on the node private key of the second service node and the service data information, generates a random parameter for performing signature processing on the service data information;
  • Step S203 the second service node generates the first key parameter based on the random parameter and the fixed parameter, generates the second key parameter based on the random parameter, the service data information and the private key of the node, and determines the data based on the first key parameter and the second key parameter. signature information;
  • Step S204 the second service node sends the data signature information to the first service node
  • Step S205 after receiving the data signature information returned by the second service node, the first service node performs signature verification on the data signature information based on the first key parameter and the second key parameter in the data signature information to obtain a signature verification result , adding the signature verification result to the verification result set associated with the blockchain network;
  • Step S206 the first service node searches the verification result set for the signature verification result satisfying the legal signature verification condition, and determines the signature verification result satisfying the legal signature verification condition as the target signature verification result;
  • Step S207 if it is statistically determined that the number of signatures of the target signature verification result satisfies the aggregated signature condition, the first service node performs aggregated signature on the data signature information corresponding to the target signature verification result;
  • Step S208 the first service node sends the aggregated signature information obtained by the aggregated signature to the second service node;
  • the aggregated signature information may be obtained by the first service node performing aggregated signatures on the data signature information corresponding to the target signature verification result; the target signature verification result here may be found by the first service node in the verification result set that satisfies the legal signature verification Conditional signature verification result; a signature verification result is determined by the first service node performing signature verification on a piece of data signature information returned by a second service node.
  • the aggregated signature information may include a first aggregated key parameter (eg, aggregated key parameter R shown in FIG. 2 ) and a second aggregated key parameter (eg, aggregated key parameter s shown in FIG. 2 ).
  • Step S209 when receiving the aggregated signature information, the second service node performs signature verification on the aggregated signature information to obtain an aggregated verification result.
  • the second service node can obtain the node public key of the second service node associated with the target signature verification result, and combine the obtained node public keys. , get the target public key. Further, the second service node can obtain the first aggregation auxiliary parameter based on the second aggregation key parameter and the fixed-point parameter associated with the non-interactive aggregation signature rule. In addition, the second service node can obtain the data hash value corresponding to the service data information based on the non-interactive aggregation signature rule, and then can obtain the second aggregation auxiliary parameter based on the target public key, the data hash value and the first aggregation key parameter .
  • the second service node may determine the aggregation signature verification result corresponding to the aggregation signature information as a legal result.
  • the second service node may determine the aggregation signature verification result corresponding to the aggregation signature information as an illegal result.
  • the aggregated signature information generated by the node 20A (ie, the first service node) is generated by the node 20A based on the counted target signature verification result when the number of signatures of the target signature verification result meets the aggregated signature condition.
  • the data signature information is determined.
  • the data signature information corresponding to the target signature verification result counted by node 20A may include signature information 1 returned by node 20B, signature information 2 returned by node 20C, signature information 3 returned by node 20D, and signature information 4 returned by node 20E , the node 20A can determine the aggregated signature information according to the signature information 1, the signature information 2, the signature information 3 and the comprehensive information 4.
  • node 20B When the second service node (eg, node 20B) in the blockchain network obtains the aggregated signature information broadcast by node 20A, node 20B can obtain the node public key (eg, P 1 ) of node 20B and the node public key of node 20C (for example, P 2 ), the node public key (for example, P 3 ) of the node 20D, and the node public key (for example, P 4 ) of the node 20E, and then the obtained four public keys can be combined to obtain The target public key (i.e. the aggregated public key).
  • the node 20B may, according to formula (8) in the above-mentioned non-interactive aggregated signature rule, according to the second aggregated key parameter (for example, aggregated key parameter s) and the fixed-point parameter associated with the non-interactive aggregated signature rule ( For example, G), obtain the first aggregation auxiliary parameter (eg, aggregation auxiliary parameter S 1 ) for performing signature verification on the aggregation signature information.
  • the second aggregated key parameter for example, aggregated key parameter s
  • the fixed-point parameter associated with the non-interactive aggregated signature rule For example, G
  • the node 20B can obtain the data hash value (for example, the hash value E) corresponding to the service data information based on the formula (7) and the formula (9) in the above-mentioned non-interactive aggregated signature rule, and then can be based on the target public key , the data hash value, and the first aggregation key parameter to obtain the second aggregation auxiliary parameter (eg, the aggregation auxiliary parameter S 2 ) for performing signature verification on the aggregation signature information.
  • the second service node may determine the aggregation signature verification result corresponding to the aggregation signature information as a legal result. If the first aggregation auxiliary parameter is inconsistent with the second aggregation auxiliary parameter, the second service node may determine the aggregation signature verification result corresponding to the aggregation signature information as an illegal result.
  • the business data information received by the second business node may be blocks to be verified that include multiple transaction request messages, and each signer can then verify the blocks in the blocks to be verified.
  • the signature processing is performed on different transaction request messages, and the data signature information corresponding to each transaction request message is obtained.
  • the second service node may determine the second aggregated auxiliary parameter corresponding to the aggregated signature information.
  • the calculation formula of the second aggregation auxiliary parameter can refer to formula (11):
  • m here refers to the number of messages to be signed
  • n refers to the number of signers participating in the aggregated signature.
  • E j represents the hash value of the message to be signed (for example, transaction request message j) determined by the verification party
  • P i represents the signer (eg, the node public key of node i).
  • the verification hash values that is, the hash value e
  • the blockchain node with packaging function for example, the first business node
  • these signature information can be combined into a total signature information (ie, aggregated signature information).
  • the consensus nodes in the blockchain network agree on the packaged blocks, they need to pay attention to all Whether the signature information of the transaction request message is correct, although the verification efficiency is not much different from the one-by-one verification efficiency, it can greatly reduce the number of signatures and save a lot of storage space and network traffic.
  • the aggregated signature scheme involved in the embodiments of the present application can effectively reduce storage space, network traffic, and verification time, and has a significant effect on scenarios where the signature frequency is low but the verification frequency is high.
  • the node public keys of each signer can be simply aggregated into an aggregated public key (that is, the target public key), which is expressed as
  • the owner of the virtual asset may be the aggregated public key of the multiple parties.
  • the aggregator ie, the first service node
  • the first service node needs to perform an aggregate signature on the data signature information of each signer (eg, the second service node).
  • the signers do not need to perceive the existence of other signers, and can directly sign their own signatures, and then one of them (for example, the first business node) collects the data signature information, and performs aggregate signature and verification when the aggregate signature conditions are met. can be calculated based on the aggregated signature information and aggregated public key.
  • the transaction is consensus in the blockchain network as business data information, it will be propagated in the blockchain network so that multiple blockchain nodes can store the transaction, so the transaction may be stored at any time. To be verified, that is, the verification frequency is high.
  • the use of the aggregated signature scheme can reduce storage space, network traffic, and verification time, thereby improving the overall performance of the blockchain system.
  • FIG. 7 is a schematic structural diagram of a data processing apparatus provided by an embodiment of the present application.
  • the data processing apparatus 1 may be a computer program (including program code) running in a computer device, for example, the data processing apparatus 1 is an application software; the data processing apparatus 1 may be used to execute the methods provided by the embodiments of the present application corresponding steps in .
  • the data processing apparatus 1 may run on the first service node in the blockchain network, and the first service node may be the node 20A in the embodiment shown in FIG. 2 above.
  • the data processing apparatus 1 may include: a business information acquisition module 10 , a signature information receiving module 20 , a verification result adding module 30 , a verification result searching module 40 and an aggregate signature module 50 .
  • the service information acquisition module 10 is configured to acquire service data information and send the service data information to a second service node; the second service node is a node other than the first service node in the blockchain network;
  • the service information acquisition module 10 includes a user signature information acquisition unit 101 , a user signature verification result determination unit 102 and a service information determination unit 103 .
  • the user signature information obtaining unit 101 is configured to, after receiving the service request sent by the user terminal, obtain service data information to be processed and user signature information carried in the service request; the user signature information is treated based on the user private key corresponding to the user terminal. After processing business data information and signing it;
  • the user signature verification result determination unit 102 is configured to obtain the user public key corresponding to the user's private key, and perform signature verification on the user signature information based on the user's public key to obtain the user signature verification result;
  • the service information determining unit 103 is configured to use the service data information to be processed as the service data information if the user's signature verification result indicates that the signature verification is successful.
  • the specific implementation of the user signature information acquisition unit 101, the user signature verification result determination unit 102 and the service information determination unit 103 can refer to the description of step S101 in the embodiment shown in FIG. 3, and will not be repeated here. .
  • the signature information receiving module 20 is used to receive the data signature information returned by the second service node; the data signature information is obtained by the second service node signing the service data information; the data signature information includes the first key parameter and the second key parameter. key parameters; both the first key parameter and the second key parameter are related to the random parameter determined by the second service node; the random parameter is jointly determined by the second service node based on the node private key and service data information.
  • the signature information receiving module 20 includes: a node public key obtaining unit 201 , an encryption processing unit 202 and an encrypted information sending unit 203 .
  • the node public key obtaining unit 201 is configured to obtain the node public key of the second service node
  • the encryption processing unit 202 is configured to perform encryption processing on the service data information based on the node public key to obtain the encrypted data information;
  • the encrypted information sending unit 203 is configured to send encrypted data information to the second service node.
  • the specific implementation of the node public key obtaining unit 201, the encryption processing unit 202 and the encrypted information sending unit 203 may refer to the description of step S102 in the embodiment shown in FIG. 3, and will not be repeated here.
  • the verification result adding module 30 is configured to perform signature verification on the data signature information based on the first key parameter and the second key parameter, obtain a signature verification result, and add the signature verification result to the verification result set associated with the blockchain network .
  • the verification result set includes legal result set and illegal result set
  • the verification result adding module 30 includes: a signature verification unit 301 , a first adding unit 302 and a second adding unit 303 .
  • the signature verification unit 301 is configured to perform signature verification on the data signature information based on the first key parameter and the second key parameter to obtain a signature verification result.
  • the first key parameter is determined by the second service node based on random parameters and fixed parameters associated with the non-interactive aggregated signature rule;
  • the second key parameter is determined by the second service node based on random parameters, node private key and verification hash The hash value is determined;
  • the verification hash value is determined by the second service node based on the service data information and the non-interactive aggregated signature rule;
  • the signature verification unit 301 includes: a first auxiliary parameter determination subunit 3011 , a second auxiliary parameter determination subunit 3012 and a signature verification result determination subunit 3013 .
  • the first auxiliary parameter determination subunit 3011 is configured to obtain the first auxiliary parameter based on the second key parameter and the fixed parameter;
  • the second auxiliary parameter determination subunit 3012 is configured to obtain the message hash value corresponding to the service data information based on the non-interactive aggregated signature rule, based on the node public key of the second service node, the first key parameter, and the message hash value. value, get the second auxiliary parameter;
  • the signature verification result determination subunit 3013 is configured to determine the signature verification result based on the first auxiliary parameter and the second auxiliary parameter.
  • signature verification result determination subunit 3013 is specifically used for:
  • a successful signature verification result or a failed signature verification result is determined as the signature verification result.
  • first auxiliary parameter determination subunit 3011 the second auxiliary parameter determination subunit 3012 and the signature verification result determination subunit 3013 may refer to the description of the signature verification result in the embodiment shown in FIG. No further description will be given.
  • the first adding unit 302 is configured to add the signature verification result to the legal result set in the verification result set when the signature verification result is a successful signature verification result;
  • the second adding unit 303 is configured to add the signature verification result to the illegal result set in the verification result set when the signature verification result is the signature verification failure result.
  • the specific implementation of the signature verification unit 301 , the first adding unit 302 and the second adding unit 303 may refer to the description of step S103 in the embodiment shown in FIG. 3 above, which will not be repeated here.
  • This verification result search module 40 is used for searching the signature verification result satisfying the legal signature verification condition in the verification result set, and determining the signature verification result satisfying the legal signature verification condition as the target signature verification result;
  • the aggregate signature module 50 is configured to perform aggregate signature on the data signature information corresponding to the target signature verification result if it is statistically determined that the number of signatures of the target signature verification result satisfies the aggregate signature condition.
  • the number of nodes of the second business node in the blockchain network is N; N is a positive integer; a signature verification result in the verification result set is determined by signature verification of a data signature information returned by a second business node ;
  • a data signature information includes: a first key parameter and a second key parameter;
  • the aggregate signature module 50 includes: a quantity counting unit 501 , a condition satisfying unit 502 , a parameter obtaining unit 503 , a merging processing unit 504 and an aggregate signature unit 505 .
  • the quantity statistics unit 501 is used to obtain the quantity threshold in the aggregated signature condition, and count the number of signatures of the target signature verification result in the verification result set;
  • the condition satisfying unit 502 is used to determine that the number of signatures satisfies the aggregated signature condition if the number of signatures reaches the number threshold; the number of signatures is n; n is a positive integer less than or equal to N;
  • the parameter obtaining unit 503 is configured to obtain the first key parameter and the second key parameter in each data signature information from the n pieces of data signature information corresponding to the n pieces of target signature verification results;
  • the merging processing unit 504 is configured to perform merging processing on the n first key parameters, use the merged n first key parameters as the first aggregation key parameters, perform merging processing on the n second key parameters, and combine the The processed n second key parameters are used as the second aggregation key parameters;
  • the aggregated signature unit 505 is configured to perform aggregated signatures on the first aggregated key parameter and the second aggregated key parameter based on the non-interactive aggregated signature rule indicated by the aggregated signature condition.
  • step S105 in the embodiment shown in FIG. 3 above, which will not be described here. Let's go on and on.
  • step S105 the specific implementation of the business information acquisition module 10, the signature information receiving module 20, the verification result adding module, 30, the verification result search module 40 and the aggregated signature module 50 can be referred to in the above-mentioned embodiment corresponding to FIG. 3 for steps S101-
  • step S105 The description of step S105 will not be repeated here.
  • the description of the beneficial effects of using the same method will not be repeated.
  • FIG. 8 is a schematic structural diagram of a data processing apparatus provided by an embodiment of the present application.
  • the data processing apparatus 2 may be a computer program (including program code) running in a computer device, for example, the data processing apparatus 2 is an application software; the data processing apparatus 2 may be used to execute the methods provided by the embodiments of the present application corresponding steps in .
  • the data processing apparatus 2 may run on a second service node in the blockchain network, for example, the second service node may be the node 20B in the embodiment shown in FIG. 2 above.
  • the data processing device 2 may include: a service information receiving module 100, a random parameter generating module 200, a signature information determining module 300, a signature information sending module 400, an aggregated signature information obtaining module 500, a target public key determining module 600, a first parameter determining module Module 700 , second parameter determination module 800 and legal result determination module 900 .
  • the service information receiving module 100 is configured to receive service data information sent by the first service node in the blockchain network.
  • the random parameter generating module 200 is configured to generate random parameters for performing signature processing on the service data information based on the node private key of the second service node and service data information.
  • the random parameter generation module 200 includes: a splicing processing unit 2010 , a splicing hash value determining unit 2020 and a random parameter determining unit 2030 .
  • the splicing processing unit 2010 is configured to perform splicing processing on the node private key of the second service node and the service data information to obtain splicing information;
  • the splicing hash value determination unit 2020 is used to obtain the hash determination rule in the non-interactive aggregated signature rule, and determine the splicing hash value corresponding to the splicing information based on the hash determination rule;
  • the random parameter determination unit 2030 is configured to use the concatenated hash value as a random parameter.
  • the specific implementation of the splicing processing unit 2010, the splicing hash value determining unit 2020 and the random parameter determining unit 2030 can refer to the description of step S202 in the embodiment shown in FIG. 6 above, which will not be repeated here.
  • the signature information determination module 300 is configured to generate a first key parameter based on random parameters and fixed parameters, generate a second key parameter based on the random parameter, business data information and node private key, and determine based on the first key parameter and the second key parameter. Data signature information.
  • the signature information determination module 300 includes: a first key parameter determination unit 3010 , a second key parameter determination unit 3020 and a signature information determination unit 3030 .
  • the first key parameter determining unit 3010 is configured to obtain the fixed parameter associated with the non-interactive aggregated signature rule, and use the first product of the random parameter and the fixed parameter as the first key parameter;
  • the second key parameter determination unit 3020 is configured to, based on the non-interactive aggregated signature rule, determine the second product of the verification hash value corresponding to the service data information and the node private key, and perform a summation process on the second product and the random parameter, get the second key parameter;
  • the signature information determining unit 3030 is configured to determine data signature information based on the first key parameter and the second key parameter.
  • first key parameter determination unit 3010 the second key parameter determination unit 3020 and the signature information determination unit 3030 can refer to the description of step S203 in the embodiment shown in FIG. 6 above, and will not be continued here. Repeat.
  • the signature information sending module 400 is configured to send the data signature information to the first service node.
  • the aggregated signature information obtaining module 500 is configured to receive aggregated signature information sent by the first service node; the aggregated signature information is obtained by the first service node performing aggregated signatures on the data signature information corresponding to the target signature verification result; the target signature verification result is: The signature verification result found by the first business node in the verification result set that satisfies the legal signature verification condition; the signature verification result is determined by the first business node performing signature verification on the data signature information; the aggregated signature information includes the first aggregated key parameter and the second aggregate key parameter;
  • the target public key determination module 600 is used for obtaining the node public key of the second service node associated with the target signature verification result, and combining the obtained node public keys to obtain the target public key;
  • the first parameter determination module 700 is configured to obtain the first auxiliary aggregation parameter based on the second key aggregation parameter and the fixed parameter associated with the non-interactive aggregation signature rule;
  • the second parameter determination module 800 is configured to obtain the data hash value corresponding to the service data information based on the non-interactive aggregate signature rule, and obtain the second aggregation assistant based on the target public key, the data hash value and the first aggregation key parameter parameter;
  • the legal result determination module 900 is configured to determine that the aggregated signature verification result corresponding to the aggregated signature information is a legal result if the first aggregated auxiliary parameter is consistent with the second aggregated auxiliary parameter.
  • the business information receiving module 100, the random parameter generating module 200, the signature information determining module 300, the signature information sending module 400, the aggregated signature information obtaining module 500, the target public key determining module 600, the first parameter determining module 700, the second For the specific implementation of the parameter determination module 800 and the legal result determination module 900, reference may be made to the descriptions of steps S201 to S209 in the embodiment shown in FIG. 6, which will not be repeated here. In addition, the description of the beneficial effects of using the same method will not be repeated.
  • the computer device 3000 may include: at least one processor 3001 , such as a CPU, at least one network interface 3004 , user interface 3003 , memory 3005 , and at least one communication bus 3002 .
  • the communication bus 3002 is used to realize the connection communication between these components.
  • the user interface 3003 may include a display screen (Display) and a keyboard (Keyboard), and the network interface 3004 may optionally include a standard wired interface and a wireless interface (eg, a WI-FI interface).
  • the memory 3005 may be high-speed RAM memory or non-volatile memory, such as at least one disk memory.
  • the storage 3005 may optionally also be at least one storage device located remotely from the aforementioned processor 3001 .
  • the memory 3005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a device control application program.
  • the network interface 3004 is mainly used for network communication; the user interface 3003 is mainly used to provide an input interface for the user; and the processor 3001 can be used to call the device control stored in the memory 3005
  • the application should understand that the computer device 3000 described in the embodiment of the present application can execute the description of the data processing method in the embodiment shown in FIG. 3 or FIG. The description of the data processing apparatus 1 or the data processing apparatus 2 in the embodiment shown in FIG. 8 will not be repeated here. In addition, the description of the beneficial effects of using the same method will not be repeated.
  • the embodiment of the present application further provides a computer-readable storage medium, and the computer-readable storage medium stores the computer executed by the aforementioned data processing apparatus 1 or data processing apparatus 2 in the computer-readable storage medium.
  • the computer program includes program instructions.
  • the processor executes the program instructions, it can execute the description of the data processing method in the embodiment shown in FIG. 3 or FIG.
  • the description of the beneficial effects of using the same method will not be repeated.
  • program instructions may be deployed to execute on one computing device, or on multiple computing devices located at one site, or alternatively, on multiple computing devices distributed across multiple sites and interconnected by a communications network
  • multiple computing devices distributed in multiple locations and interconnected by a communication network can form a blockchain system.
  • One aspect of the present application provides a computer program product or computer program, the computer program product or computer program including computer instructions stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device can execute the description of the data processing method in the foregoing embodiment shown in FIG. 3 or FIG. 6 , here No longer.
  • the description of the beneficial effects of using the same method will not be repeated.
  • FIG. 10 is a schematic structural diagram of a data processing system provided by an embodiment of the present application.
  • the data processing system 3 may include a data processing device 1a and a data processing device 2a.
  • the data processing apparatus 1a may be the data processing apparatus 1 in the embodiment corresponding to FIG. 7. It can be understood that the data processing apparatus 1a may be integrated in the node 20A (ie the first node 20A) in the embodiment corresponding to FIG. 2 above. service node), therefore, it will not be repeated here.
  • the data processing device 2a may be the data processing device 2 in the embodiment corresponding to FIG. 8. It is understood that the data processing device 2a may be integrated in the node 20B (ie the second node) in the embodiment corresponding to FIG. 2.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种数据处理方法、装置、设备及存储介质,该方法包括:第一业务节点将业务数据信息发送至第二业务节点,以使第二业务节点得到数据签名信息;数据签名信息中的第一关键参数和第二关键参数均与随机参数相关;随机参数是第二业务节点基于节点私钥以及业务数据信息确定的;基于第一关键参数和第二关键参数对接收到的数据签名信息进行签名验证,将签名验证得到的签名验证结果添加至验证结果集;在验证结果集中查找满足合法验签条件的目标签名验证结果;若统计到目标签名验证结果的签名数量满足聚合签名条件,则对统计到的数据签名信息进行聚合签名。采用本申请实施例,可以降低聚合签名的网络复杂度。

Description

一种数据处理方法、装置、设备及存储介质
本申请要求于2021年03月02日提交中国专利局、申请号为2021102272886、申请名称为“一种数据处理方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及区块链技术领域,尤其涉及相关的数据处理技术。
背景技术
在数字签名应用中,有时需要多个签名方对多条消息或者同一条消息进行签名,这种操作可以被称为多重签名或者聚合签名。
在多重签名的应用场景中,参与聚合签名的聚合方接收到由其它签名方发送的某待签名消息对应的数据签名信息时,可以对该数据签名信息进行聚合签名,以得到该待签名消息对应的聚合签名信息。其中,各签名方在对该待签名消息进行签名处理时,均需要事先感知所有参与聚合签名的签名方(例如,区块链网络中的业务节点),这样才能参与聚合签名得到该待签名消息对应的数据签名信息。
例如,假设参与聚合签名的所有签名方包括区块链网络中的业务节点1、业务节点2以及业务节点3,则对于任意一个签名方(例如,业务节点1)而言,在接收到待签名消息后,需要获取所有签名方的交互数据(例如,业务节点1自身生成的关键参数R 1、业务节点2发送的关键参数R 2以及业务节点3发送的关键参数R 3),进而才可以对该待签名消息进行签名处理,以得到数据签名信息。
在上述聚合签名方案中,各签名方在对待签名消息进行签名处理的过程中存在较多的网络交互,以至于该聚合签名方案存在较高的网络复杂度,占用较多带宽,聚合签名的签名效率降低。
发明内容
本申请实施例提供一种数据处理方法、装置、设备及存储介质,可以降低聚合签名的网络复杂度。
本申请实施例一方面提供一种数据处理方法,该方法由区块链网络中的第一业务节点执行,包括:
获取业务数据信息,将业务数据信息发送至第二业务节点;第二业务节点为区块链网络中除第一业务节点之外的节点;
接收第二业务节点返回的数据签名信息;数据签名信息是第二业务节点对业务数据信息进行签名处理得到的;数据签名信息中包括第一关键参数和第二关键参数;第一关键参数与第二关键参数均与第二业务节点确定的随机 参数相关;随机参数是第二业务节点基于节点私钥以及业务数据信息共同确定的;
基于数据签名信息中的第一关键参数和第二关键参数,对数据签名信息进行签名验证,得到签名验证结果,将签名验证结果添加至与区块链网络相关联的验证结果集;
在验证结果集中查找满足合法验签条件的签名验证结果,将满足合法验签条件的签名验证结果确定为目标签名验证结果;
若统计确定目标签名验证结果的签名数量满足聚合签名条件,则对目标签名验证结果对应的数据签名信息进行聚合签名。
本申请实施例一方面提供一种数据处理方法,该方法由区块链网络中的第二业务节点执行,包括:
接收区块链网络中的第一业务节点发送的业务数据信息;
基于第二业务节点的节点私钥和业务数据信息,生成用于对业务数据信息进行签名处理的随机参数;
基于随机参数以及固定参数生成第一关键参数,基于随机参数、业务数据信息以及节点私钥生成第二关键参数,基于第一关键参数和第二关键参数,确定数据签名信息;
将数据签名信息发送至第一业务节点。
本申请实施例一方面提供一种数据处理装置,包括:
业务信息获取模块,用于获取业务数据信息,将业务数据信息发送至第二业务节点;第二业务节点为所述区块链网络中除第一业务节点之外的节点;
签名信息接收模块,用于接收第二业务节点返回的数据签名信息;数据签名信息是第二业务节点对业务数据信息进行签名处理得到的;数据签名信息中包括第一关键参数和第二关键参数;第一关键参数与第二关键参数均与第二业务节点确定的随机参数相关;随机参数是第二业务节点基于节点私钥以及业务数据信息共同确定的;
验证结果添加模块,用于基于数据签名信息中的第一关键参数和第二关键参数,对数据签名信息进行签名验证,得到签名验证结果,将签名验证结果添加至与区块链网络相关联的验证结果集;
验证结果查找模块,用于在验证结果集中查找满足合法验签条件的签名验证结果,将满足合法验签条件的签名验证结果确定为目标签名验证结果;
聚合签名模块,用于若统计确定目标签名验证结果的签名数量满足聚合签名条件,则对目标签名验证结果对应的数据签名信息进行聚合签名。
本申请实施例一方面提供一种数据处理装置,包括:
业务信息接收模块,接收区块链网络中的第一业务节点发送的业务数据信息;
随机参数生成模块,用于基于第二业务节点的节点私钥和业务数据信息, 生成用于对业务数据信息进行签名处理的随机参数;
签名信息确定模块,用于基于随机参数以及固定参数生成第一关键参数,基于随机参数、业务数据信息以及节点私钥生成第二关键参数,且基于第一关键参数和第二关键参数,确定数据签名信息;
签名信息发送模块,用于将数据签名信息发送至第一业务节点。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的方法。
在本申请实施例中,区块链网络中的第二业务节点获取到的第一业务节点发送的业务数据信息后,无需感知其他签名方的存在,可以直接对接收到的业务数据信息进行签名处理,得到待返回至第一业务节点的数据签名信息。第二业务节点确定的数据签名信息中可以包括第一关键参数和第二关键参数,这两个关键参数均与第二业务节点生成的随机参数相关,而无需根据所有签名方返回的交互数据来确定第一关键参数,从而可以减少网络交互。该随机参数是根据第二业务节点的节点私钥以及业务数据信息共同确定的。区块链网络中的第一业务节点能够获取多个第二业务节点对同一业务数据信息进行签名处理得到的数据签名信息,进而可以对获取到的每个数据签名信息进行签名验证,以得到每个数据签名信息的签名验证结果,并将得到的签名验证结果添加至与区块链网络相关联的验证结果集。第一业务节点可以在验证结果集中查找到满足合法验签条件的目标签名验证结果,并统计目标签名验证结果的签名数量。当签名数量满足聚合签名条件时,第一业务节点可以直接对目标签名验证结果对应的数据签名信息进行聚合签名。在整个聚合签名过程中,由于签名方无需感知其他签名方的存在,可以直接对接收到的业务数据信息进行签名处理,因此减少了签名方的签名过程中的网络交互,从而可以降低聚合签名的网络复杂度,提高聚合签名的签名效率。
附图说明
图1是本申请实施例提供的一种区块链节点系统的结构示意图;
图2是本申请实施例提供的一种进行数据交互的场景示意图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4是本申请实施例提供的一种向第二业务节点广播业务数据信息的场 景示意图;
图5是本申请实施例提供的一种对数据签名信息进行签名验证的场景示意图;
图6是本申请实施例提供的一种数据处理方法的流程示意图;
图7是本申请实施例提供的一种数据处理装置的结构示意图;
图8是本申请实施例提供的一种数据处理装置的结构示意图;
图9是本申请实施例提供的一种计算机设备的示意图;
图10是本申请实施例提供的一种数据处理系统的结构示意图。
具体实施方式
请参见图1,图1是本申请实施例提供的一种区块链节点系统的结构示意图。如图1所示,该区块链节点系统可以是由多个节点通过网络通信的形式连接形成的分布式系统。该区块链节点系统中可以包括多个节点。这多个节点具体可以为节点10A、节点10B、节点10C、…、节点10N。本申请实施例可以将该区块链网络中的每个节点(例如,节点10A、节点10B、节点10C、…、节点10N)统称为区块链节点。可以理解的是,该区块链节点可以为接入该区块链网络中的服务器,也可以为接入该区块链网络中的用户终端,这里对区块链节点的具体形式不做限定。
应当理解,这些区块链节点可以用于维护同一区块链网络,该区块链网络中的任意两个区块链节点之间可以形成点对点(P2P,Peer To Peer)网络,该点对点网络可以采用P2P协议,该P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。
本申请实施例中的数据处理方法可以涉及一种非交互式聚合签名方案(例如,Schnorr算法)。该非交互式聚合签名方案可以有效降低存储空间、减少网络流量、缩短验证时间,对签名频次较低但验证频次较高的场景有显著效果。比如,该聚合签名方案可以应用于共识场景、多方协作场景、合同签署场景等。这里的聚合签名是一种多重签名,多重签名是指在获取到多个签名方对多条消息或者同一消息进行签名处理后得到的签名信息后,将这多个签名信息聚合成一个较短的签名信息,以得到聚合签名信息。验证方通过对聚合签名信息的验证,来确保接收到的消息的真实性。
为便于理解,本申请实施例可以在图1所示区块链节点系统中选择一个区块链节点作为第一业务节点,例如,节点10A。该第一业务节点可以作为参与聚合签名的聚合方。此外,本申请实施例还可以将该区块链节点系统中除第一业务节点之外的区块链节点视为第二业务节点,该第二业务节点可以用于对第一业务节点广播的业务数据信息进行签名处理,即该第二业务节点可以作为参与聚合签名的签名方。该第一业务节点广播的业务数据信息可以是客户端的交易请求消息,也可以是对交易请求消息进行打包处理得到的待验证区块,这里将不对该业务数据信息进行限定。其中,该客户端可以包括 社交客户端、多媒体客户端(例如,视频客户端)、娱乐客户端(例如,游戏客户端)、教育客户端、直播客户端等;该客户端可以为独立的客户端,也可以为集成在某客户端(例如,社交客户端、教育客户端以及多媒体客户端等)中的嵌入式子客户端,在此不做限定。
应当理解,运行有客户端的用户终端可以通过有线或无线的通信方式与区块链网络中的区块链节点(例如,第一业务节点)进行直接或间接地连接,以进行业务数据交互,本申请实施例在此不做限制。该用户终端可以包括智能手机、平板电脑、笔记本电脑、桌上型电脑、可穿戴设备、智能家居、头戴设备等智能终端。本申请实施例中的第一业务节点可以为该客户端对应的后台服务器。该第一业务节点可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
在本申请实施例中,第一业务节点可以将业务数据信息发送至区块链网络中的第二业务节点(即签名方),以使该第二业务节点对业务数据信息进行签名处理。该第二业务节点在接收到该业务数据信息时,无需感知其他签名方的存在,可以直接基于自身的节点私钥和业务数据信息,得到用于生成第一关键参数和第二关键参数的随机参数,进而得到业务数据信息对应的数据签名信息。如此,可以减少聚合签名过程中的网络交互。第一业务节点接收到第二业务节点返回的数据签名信息后,可以对该数据签名信息进行签名验证,进而统计满足合法验签条件的目标签名验证结果,以在目标签名验证结果的签名数量满足聚合签名条件时,对目标签名验证结果对应的数据签名信息进行聚合签名。由于减少了签名过程中签名方之间的网络交互,因此可以降低聚合签名的网络复杂度降低,进而提高聚合签名的签名效率。
为便于理解,进一步地,请参见图2,图2是本申请实施例提供的一种进行数据交互的场景示意图。如图2所示,节点20A可以为区块链网络中的第一业务节点,即参与聚合签名的聚合方,例如,该节点20A可以为上述图1所示的区块链节点系统中的节点10A。节点20B、节点20C、节点20D、…、以及节点20N可以为该区块链网络中的第二业务节点,例如,该第二业务节点可以为上述图1所示的区块链节点系统中除节点10A以外的节点。
节点20A可以获取待发送至第二业务节点的业务数据信息,以使第二业务节点对业务数据信息进行签名处理,得到数据签名信息。这里的业务数据信息可以是由运行有客户端的用户终端直接发送的,还可以是由该区块链网络中的其他节点转发的,在此不做限定。其中,该业务数据信息可以是该用户终端的使用用户通过客户端发起的资产转移消息,该资产转移消息可以用于请求转移比特币、以太币、游戏金币、游戏钻石以及电子票据等虚拟资产。
第二业务节点生成的数据签名信息可以包括第一关键参数和第二关键参 数。这里的第一关键参数和第二关键参数均与第二业务节点生成的随机参数相关。该随机参数可以是由第二业务节点基于自身的节点私钥以及该第二业务节点接收到的业务数据信息共同确定的。
例如,图2所示的节点20B接收到节点20A广播的业务数据信息后,可以基于节点20B的节点私钥和该业务数据信息,生成用于对该业务数据信息进行签名处理的随机参数(例如,参数r 1)。进一步地,该节点20B可以基于该随机参数、以及与非交互式聚合签名规则相关联的固定参数(例如,参数G),生成第一关键参数(例如,关键参数R 1)。并且,该节点20B还可以基于该随机参数、该业务数据信息以及节点20B的节点私钥,生成第二关键参数(例如,关键参数s 1)。此时,该节点20B可以基于第一关键参数和第二关键参数,确定用于反馈给节点20A的数据签名信息(例如,签名信息1,即<R 1,s 1>)。
进一步地,节点20A接收到第二业务节点返回的数据签名信息后,该节点20A可以基于该数据签名信息中的第一关键参数和第二关键参数,对接收到的数据签名信息进行签名验证,得到签名验证结果,进而可以将签名验证结果添加至与区块链网络相关联的验证结果集(例如,图2所示的验证结果集200x)中。
该节点20A可以在验证结果集200x中查找满足合法验签条件的签名验证结果,并将查找到的满足合法验签条件的签名验证结果确定为目标签名验证结果。其中,合法验签条件可以是验签成功;示例性的,节点20A可以基于接收到的数据签名信息和非交互式聚合签名规则,确定出第一辅助参数和第二辅助参数,进而确定二者是否一致。如图2所示,该节点20A在验证结果集200x中查找到的目标签名验证结果可以包括签名验证结果1、签名验证结果2、…、以及签名验证结果n。其中,签名验证结果1可以为节点20A对节点20B返回的数据签名信息1进行签名验证后得到的签名验证结果。
进而,该节点20A可以统计目标签名验证结果的签名数量。若统计到目标签名验证结果的签名数量达到聚合签名条件规定的数量阈值(例如,n),则节点20A可以确定目标签名验证结果的签名数量满足聚合签名条件,此时,节点20A可以对这n个目标签名验证结果对应的数据签名信息进行聚合签名,得到聚合签名信息。其中,n为正整数,这里的n可以根据实际需求进行动态调整,在此不做限定。
如图2所示,节点20A查找到的目标签名验证结果对应的数据签名信息可以包括签名验证结果1对应的签名信息1(例如,<R 1,s 1>)、签名验证结果2对应的签名信息2(例如,<R 2,s 2>)、…、以及签名验证结果n对应的签名信息n(例如,<R n,s n>)。在目标签名验证结果的签名数量满足聚合签名条件时,节点20A可以对这n个数据签名信息进行聚合签名,得到图2所示的聚合签名信息(例如,<R,s>)。其中,聚合关键参数R可以称之为第一聚合关 键参数,聚合关键参数s可以称之为第二聚合关键参数。
例如,在多方协作场景下,一笔虚拟资产可以由多方共同持有,比如,在某游戏中可以设定某阵营获得的仓库游戏金币需要由n个(例如,5个)用户共同管理。这5个用户可以包括该阵营中具有团长、营长等游戏身份的用户。在需要对该虚拟资产进行处理(例如,资产转移)时,需要这5个具有资产管理权限的用户分别对这笔虚拟资产进行签名处理,以得到这笔虚拟资产对应的数据签名信息。进一步地,节点20A(例如,团长对应的节点)可以收集第二业务节点返回的数据签名信息。其中,该第二业务节点可以为对该笔虚拟资产具有资产管理权限的用户对应的业务节点(例如,营长或者团长等对应的节点)。在节点20A收集到5个满足合法验签条件的目标签名验证结果各自对应的数据签名信息时,节点20A可以对这5个数据签名信息进行聚合签名。
由此可见,本申请实施例中的第二业务节点在获取到节点20A广播的业务数据信息的情况下,无需感知其他签名方的存在,可以直接对业务数据信息进行签名处理,得到数据签名信息。每个第二业务节点将所得到的数据签名信息统一返回至节点20A,以使节点20A在收集到足够多的满足合法验签条件的目标签名验证结果对应的数据签名信息时,对收集到的所有数据签名信息进行聚合签名,该方法无需在签名方对业务数据信息进行签名处理时,获取所有签名方的交互数据,从而减少了网络间的数据交互,从而降低了聚合签名的网络复杂度,提高了聚合签名的签名效率。
本申请实施例提供的数据处理方法的具体实现方式可以参见下述图3-图6所对应的实施例。
请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图。如图3所示,该方法可以由区块链网络中的第一业务节点(即参与聚合签名的聚合方)执行,该第一业务节点可以为接入区块链网络中的用户终端,也可以为接入区块链网络中的服务器,在此不做限定。为便于理解,本申请实施例以第一业务节点为服务器(例如,图1所示的区块链节点系统中的节点10A)为例进行说明,该方法至少可以包括以下步骤S101-步骤S105:
步骤S101,获取业务数据信息,将所述业务数据信息发送至第二业务节点。
具体地,第一业务节点接收到用户终端发送的业务请求后,可以获取该业务请求中携带的待处理业务数据信息和用户签名信息。该用户签名信息可以是由用户终端基于用户终端对应的用户私钥,对该待处理业务数据信息进行签名处理得到的。进一步地,第一业务节点可以获取用户私钥对应的用户公钥,进而可以基于用户公钥对用户签名信息进行验签,得到用户验签结果。若用户验签结果指示验签成功,则该第一业务节点可以将待处理业务数据信息作为待发送至区块链网络中的第二业务节点的业务数据信息。
示例性的,当用户终端对应的用户(例如,用户A)需要在客户端上执行某 笔交易业务(例如,资产转移业务)时,可以通过客户端执行触发操作。这里的触发操作可以包括点击、长按等接触性操作,也可以包括语音、手势等非接触性操作,这里将不对其进行限定。进一步地,该用户终端可以响应该触发操作,生成与客户端相关联的待处理业务数据信息。此时,用户终端可以获取用户A的用户私钥,并基于该用户私钥对该待处理业务数据信息进行签名处理,得到用户签名信息。进一步地,该用户终端可以基于用户签名信息和待处理业务数据信息,生成向第一业务节点发送的业务请求。
该第一业务节点接收到用户终端发送的业务请求后,可以获取用户A的用户公钥,对业务请求中的用户签名信息进行验签,得到用户验签结果。若用户验签结果指示验签失败,则该第一业务节点可以确定接收到的业务请求为非法请求。若用户验签结果指示验签成功,则该第一业务节点可以确定接收到的业务请求为合法请求,此时,该第一业务节点可以将该业务请求中的待处理业务数据信息作为待发送至区块链网络中的第二业务节点的业务数据信息。
第一业务节点在将业务数据信息广播至区块链网络中的第二业务节点时,为了保证数据传输时的安全性,该第一业务节点可以获取第二业务节点的节点公钥,进而可以基于该节点公钥对业务数据信息进行加密处理,以得到加密数据信息。此时,第一业务节点可以将加密数据信息发送至第二业务节点,以使第二业务节点基于自身的节点私钥对加密数据信息进行解密处理,进而可以得到业务数据信息。
为便于理解,进一步地,请参见图4,图4是本申请实施例提供一种向第二业务节点广播业务数据信息的场景示意图。如图4所示,节点40A可以为区块链网络中的第一业务节点,例如,该节点40A可以为上述图1所示的区块链网络中的节点10A。节点40B可以为该区块链网络中的第二业务节点,可以用于对业务数据信息进行签名处理,该节点40B可以为上述图1所示的区块链网络中除节点10A之外的区块链节点,例如,节点10B。用户终端400a可以为与节点40A具有网络连接关系的用户终端,用于向节点40A发送携带业务数据信息的业务请求。
用户终端400a的使用用户可以通过客户端执行触发操作(例如,点击操作),以使用户终端400a响应该触发操作,生成用于在区块链网络中广播的待处理业务数据信息(例如,图4所示的业务数据信息4)。进一步地,该用户终端400a可以基于该用户终端400a对应的用户私钥,对该业务数据信息4进行签名处理,以得到该业务数据信息4的用户签名信息。其中,可以理解的是,该用户终端400a可以对业务数据信息4进行哈希计算,得到业务数据信息4的摘要信息h。进一步地,该用户终端400a可以基于该用户终端400a对应的用户私钥,对该摘要信息h进行数字签名,以得到用户签名信息。此时,该用户终端400a可以基于该用户签名信息和业务数据信息4,生成图4 所示的业务请求,进而将该业务请求发送至图4所示的节点40A。
节点40A在接收到业务请求时,可以从业务请求中获取业务数据信息4和用户签名信息。进一步地,该节点40A可以获取与用户终端400a对应的用户私钥对应的用户公钥,进而可以基于该用户公钥,对用户签名信息进行验签,以得到用户验签结果。其中,可以理解的是,节点40A可以基于用户公钥对该用户签名信息中的数字签名进行验签,得到业务数据信息4的摘要信息h,并利用与该用户终端400a相同的哈希算法对该业务数据信息4进行哈希计算,得到该业务数据信息4的摘要信息H。进一步地,节点40A可以将验签得到的摘要信息h与进行哈希计算得到的摘要信息H进行比对,得到用户验签结果。若该用户验签结果指示摘要信息h与摘要信息H不相同,则可以确定节点40A验签失败,即该业务请求为非法请求。若该用户验签结果指示摘要信息h与摘要信息H相同,则可以确定节点40A验签成功,即业务请求为合法请求。
在用户验签结果指示业务请求为合法请求时,该节点40A可以将该业务数据信息4作为待发送至区块链网络中的第二业务节点的业务数据信息。节点40A在将业务数据信息4发送至节点40B的过程中,为了确保数据传输的安全性,节点40A可以获取节点40B的节点公钥,进而可以基于节点40B的节点公钥对业务数据信息4进行加密处理,以得到加密数据信息。节点40B接收到由节点40A发送的加密数据信息后,节点40B可以基于自身的节点私钥,对该加密数据信息进行解密处理,从而可以得到业务数据信息4。
步骤S102,接收第二业务节点返回的数据签名信息。
进一步地,第二业务节点获取到第一业务节点发送的业务数据信息后,第二业务节点可以获取聚合签名条件指示的非交互式聚合签名规则,对该业务数据信息进行签名处理,以得到业务数据信息的数据签名信息。
在本申请实施例中,由于第一业务节点向区块链网络中各第二业务节点广播的业务数据信息为同一条消息,因此,第一业务节点可以接收到由多个第二业务节点返回的针对同一条消息的数据签名信息。其中,非交互式聚合签名规则可以包括多种协议,本申请实施例以Schnorr算法为例,基于椭圆曲线阐述数字签名原理。
该Schnorr算法是一种公钥电子签名方案,由于其计算上的线性特征,很容易改造成高效的聚合签名。在Schnorr算法流程中,可以设E为定义在有限域上的椭圆曲线,E上的点形成一个循环群,阶为质数n,记
Figure PCTCN2022078155-appb-000001
为模n整数环,
Figure PCTCN2022078155-appb-000002
的元素取值范围为{0,1,2,…,n-1};
Figure PCTCN2022078155-appb-000003
为模n整数乘法群,
Figure PCTCN2022078155-appb-000004
的元素取值范围为{1,2,…,n-1}。本申请实施例中的随机参数可以根据签名方(例如,第二业务节点)的节点私钥和业务数据信息共同确定。可选的,该随机参数还可以使用其他节点私钥(或者与节点私钥绑定的一个非公开值)和业务数据信息进行运算组合得到。这里的非公开值是指对节 点私钥的一种映射运算。当然,该随机参数还可以具有其他生成方式,这里将不对其进行限定。
基于非交互式聚合签名规则对业务数据信息进行签名处理时,本申请实施例可以选择随机参数
Figure PCTCN2022078155-appb-000005
作为区块链网络中的区块链节点的节点私钥,例如,该区块链网络中的区块链节点(例如,节点i)的节点私钥可以表示为k i,其中,k i∈{k 1,k 2,…,k N}。基于非交互式聚合签名规则,本申请实施例可以将该区块链节点的节点私钥与固定参数G的乘积作为该节点的节点公钥。这里的固定参数G可以与该非交互式聚合签名规则相关,该固定参数可以是指椭圆曲线E上的一个定点,且为生成元。例如,区块链网络中的区块链节点(例如,节点i)的节点公钥可以表示为P i(即P i=k iG),其中,P i∈{P 1,P 2,…,P N}。
具体地,本申请实施例中的非交互式聚合签名规则可以参见下述公式(1)-公式(9)。在非交互式聚合签名规则中,签名方(即第二业务节点,例如,节点i)可以对业务数据信息进行签名处理,得到数据签名信息。其中,数据签名信息<R i,s i>的具体计算方式可以参见下述公式(1)-公式(4):
Figure PCTCN2022078155-appb-000006
其中,r i表示节点i生成的随机参数,k i表示节点i的节点私钥,m表示待签名消息(例如,业务数据信息),质数n可以为阶,
Figure PCTCN2022078155-appb-000007
为模n整数乘法群,
Figure PCTCN2022078155-appb-000008
的元素取值范围为{1,2,…,n-1}。
R i=r iG,       (2)
其中,R i表示节点i确定的第一关键参数,G表示为与该非交互式聚合签名规则相关联的固定参数。
Figure PCTCN2022078155-appb-000009
其中,m表示为待签名消息,e表示节点i确定的待签名消息对应的哈希值(例如,业务数据信息对应的验证哈希值),
Figure PCTCN2022078155-appb-000010
是指模n整数环,
Figure PCTCN2022078155-appb-000011
的元素取值范围为{0,1,2,…,n-1}。
Figure PCTCN2022078155-appb-000012
其中,s i表示节点i确定的第二关键参数,r i表示节点i生成的随机参数,k i表示节点i的节点私钥,e表示节点i确定的待签名消息对应的哈希值。
在非交互式聚合签名规则中,聚合方(即第一业务节点,例如,节点p)统计确定目标签名验证结果的签名数量n满足聚合签名条件时,可以对统计确定的目标签名验证结果对应的数据签名信息(即n个数据签名信息)进行聚合签名,得到聚合签名信息。其中,节点P确定聚合签名信息<R,s>的具体计算方式可以参见下述公式(5)-公式(6):
Figure PCTCN2022078155-appb-000013
其中,R i表示节点i返回数据签名信息中的第一关键参数,R表示节点p对获取到的n个第一关键参数进行合并处理得到的聚合关键参数(即第一聚合关键参数)。
Figure PCTCN2022078155-appb-000014
其中,s i表示节点i返回的数据签名信息中的第二关键参数,s表示节点p对获取到n个的第二关键参数进行合并处理得到的聚合关键参数(即第二聚合关键参数)。
在非交互式聚合签名规则中,验签方(即第二业务节点)对接收到聚合签名信息<R,s>进行验签(即验证S 1是否等于S 2)的具体公式可以参见下述公式(7)-公式(9):
Figure PCTCN2022078155-appb-000015
其中,m表示为待签名消息,E表示验签方确定的待签名消息的哈希值(例如,业务数据信息对应的消息哈希值)。
S 1=sG,          (8)
其中,s表示第二聚合关键参数,G表示与该非交互式聚合签名规则相关联的固定参数。S 1表示验签方对待签名消息进行验签的聚合辅助参数(即第一聚合辅助参数)。
Figure PCTCN2022078155-appb-000016
其中,R表示第一聚合关键参数,E表示验签方确定的待签名消息的哈希值,P i表示签名方(例如,节点i)的节点公钥,S 2表示验签方对待签名消息进行验签的聚合辅助参数(即第二聚合辅助参数)。
第二业务节点(例如,节点i)获取到区块链网络中的第一业务节点发送的业务数据信息后,可以对自身的节点私钥和业务数据信息进行拼接处理,得到拼接信息。进一步地,节点i可以获取非交互式聚合签名规则中的哈希确定规则,进而可以基于上述公式(1)所示的哈希确定规则,确定拼接信息对应的拼接哈希值,且将该拼接哈希值作为用于对业务数据信息进行签名处理的随机参数(例如,参数r i)。
进一步地,该节点i可以获取与非交互式聚合签名规则相关联的固定参数(例如,G),进而可以根据上述公式(2),将随机参数和固定参数的第一乘积作为第一关键参数(例如,关键参数R i)。并且,该第二业务节点还可以基于 非交互式聚合签名规则中的公式(3)以及公式(4),确定业务数据信息对应的验证哈希值和节点私钥的第二乘积,进而对第二乘积和随机参数进行求和处理,得到第二关键参数(例如,关键参数s i)。此时,第二业务节点可以基于第一关键参数和第二关键参数,确定用于对业务数据信息进行签名处理的数据签名信息<R i,s i>。
本申请实施例中的第二业务节点在对业务数据信息进行签名处理时生成的随机参数是由该第二业务节点的节点私钥和业务数据信息共同决定的,这样既可以有效保证对不同的待签名消息进行签名处理时随机参数不同,以保护节点私钥,又可以有效保证同一个节点私钥对同一条待签名消息进行签名处理得到的数据签名信息是相同的。比如,当区块链网络中的多个区块链节点(例如,隶属于同一机构的节点)共享一个节点私钥时,它们会分别对区块进行签名并存储至区块链网络中的区块链上,从而可以有效确保每个节点存储的区块链数据一致。由于对同一条消息进行签名时使用的随机参数是相同的,即随机参数的差值恒为0,因此每个签名方(即第二业务节点)基于非交互式聚合签名规则进行聚合签名时,确定业务数据信息对应的验证哈希值e时将无需依赖于关键参数R,可以直接对业务数据信息进行哈希计算,以得到关键参数R,从而可以降低验证聚合签名信息的复杂度。
步骤S103,基于数据签名信息中的第一关键参数和第二关键参数,对数据签名信息进行签名验证,得到签名验证结果,将签名验证结果添加至与区块链网络相关联的验证结果集。
具体地,第一业务节点接收到第二业务节点返回的数据签名信息后,可以基于该数据签名信息中的第一关键参数和第二关键参数,对该数据签名信息进行签名验证,以得到签名验证结果。在签名验证结果为验签成功结果时,该第一业务节点可以将签名验证结果添加至验证结果集中的合法结果集。在签名验证结果为验签失败结果时,第一业务节点可以将签名验证结果添加至验证结果集中的非法结果集。
第一业务节点在接收到第二业务节点返回的数据签名信息时,可以基于上述公式(8),根据数据签名信息中的第二关键参数以及固定参数,得到第一辅助参数(例如,辅助参数S 1)。进一步地,第一业务节点可以基于上述非交互式聚合签名规则中的公式(9),获取业务数据信息对应的消息哈希值(例如,哈希值E),且在获取到第二业务节点的节点公钥后,基于该节点公钥、第一关键参数、以及消息哈希值,得到第二辅助参数(例如,辅助参数S 2)。此时,该第一业务节点可以基于第一辅助参数与第二辅助参数,确定签名验证结果。具体验证过程可以参见下述公式(10):
Figure PCTCN2022078155-appb-000017
其中,第一业务节点可以将第一辅助参数与第二辅助参数进行比对,得到比对结果。在比对结果指示第一辅助参数与第二辅助参数一致时,第一业务节点可以得到数据签名信息对应的验签成功结果,换言之,第一业务节点验签成功。在比对结果指示第一辅助参数与第二辅助参数不一致时,第一业务节点可以得到数据签名信息对应的验签失败结果,换言之,第一业务节点验签失败。第一业务节点可以将验签成功结果或者验签失败结果确定为签名验证结果。
为便于理解,进一步地,请参见图5,图5是本申请实施例提供的一种对数据签名信息进行签名验证的场景示意图。如图5所示,本申请实施例中的节点50A可以为用于获取待广播至区块链网络中的业务数据信息的第一业务节点,例如,该节点50A可以为上述图1所示的区块链网络中的节点10A。本申请实施例中的节点50B可以为该区块链网络中的第二业务节点,即用于对业务数据信息进行签名处理的签名方,该节点50B可以为区块链网络中除第一业务节点之外的区块链节点,例如,上述图1所示的区块链网络中的节点10B。
如图5所示,本申请实施例中的节点50B接收到由节点50A广播的业务数据信息后,可以对业务数据信息进行签名处理,得到该业务数据信息的数据签名信息(例如,图5所示的数据签名信息5a)。该数据签名信息5a中可以包括第一关键参数(例如,图5所示的关键参数R 5)和第二关键参数(例如,图5所示的关键参数s 5)。关键参数R 5是节点50B基于随机参数和与非交互式聚合签名规则相关联的固定参数(例如,G)确定的,关键参数s 5是节点50B基于随机参数、节点50B的节点私钥以及业务数据信息对应的验证哈希值(例如,哈希值e)确定的,这里的验证哈希值是节点50B基于业务数据信息和非交互式聚合签名规则确定的。
节点50B将该数据签名信息5a发送至节点50A,以使节点50A基于上述公式(8),根据数据签名信息5a中的关键参数s 5以及固定参数,得到用于对数据签名信息5a进行签名验证的第一辅助参数(例如,辅助参数S 1)。节点50A还可以基于上述非交互式聚合签名规则中的公式(9),确定业务数据信息对应的消息哈希值(例如,哈希值E),并在获取到节点50B的节点公钥(例如,P 5)后,基于节点公钥P 5、关键参数R 5以及消息哈希值,得到用于对数据签名信息5a进行签名验证的第二辅助参数(例如,辅助参数S 2)。此时,该节点50A可以基于辅助参数S 1和辅助参数S 2,确定数据签名信息5a对应的签名验证结果(例如,图5所示的签名验证结果5b)。
该节点50A可以对辅助参数S 1与辅助参数S 2进行比对,得到比对结果。在比对结果指示辅助参数S 1与辅助参数S 2一致时,节点50A可以确定验签成功,即数据签名信息5a对应的签名验证结果5b为验签成功结果,此时,节点50A可以将签名验证结果5b添加至图5所示的验证结果集500x中的合 法结果集(例如,合法结果集510)。在比对结果指示辅助参数S 1与辅助参数S 2不一致时,节点50A可以确定验签失败,即数据签名信息5a对应的签名验证结果5b为验签失败结果,此时,节点50A可以将签名验证结果5b添加至验证结果集500x中的非法结果集(例如,图5所示的非法结果集520)。
步骤S104,在验证结果集中查找满足合法验签条件的签名验证结果,将满足合法验签条件的签名验证结果确定为目标签名验证结果。
具体地,第一业务节点可以在验证结果集中查找满足合法验签条件的签名验证结果,进而将查找到的满足合法验签条件的签名验证结果确定为目标签名验证结果。其中,满足合法验签条件的签名验证结果可以是指属于验签成功结果的签名验证结果,即若第一业务节点基于接收到的数据签名信息和非交互式聚合签名规则,所确定出的第一辅助参数和第二辅助参数一致,则该数据签名信息的签名验证结果即为满足合法验签条件的签名验证结果。
当与区块链网络相关联的验证结果集包括非法结果集和合法结果集时,本申请实施例可以直接将合法结果集中的签名验证结果确定为目标签名验证结果。如图5所示,节点50A(即第一业务节点)所确定的目标签名验证结果可以为合法结果集510中的签名验证结果。
步骤S105,若统计确定目标签名验证结果的签名数量满足聚合签名条件,则对目标签名验证结果对应的数据签名信息进行聚合签名。
区块链网络中的第二业务节点的节点数量可以为N个;这里的N为正整数;该验证结果集中的一个签名验证结果是对一个第二业务节点返回的一个数据签名信息进行签名验证确定的;一个数据签名信息中可以包括一个第一关键参数和一个第二关键参数。第一业务节点可以获取聚合签名条件中的数量阈值,统计验证结果集中的目标签名验证结果的签名数量。若签名数量达到数量阈值,则第一业务节点可以确定签名数量满足聚合签名条件。其中,该签名数量可以为n个;n为小于或者等于N的正整数。此时,第一业务节点可以从n个目标签名验证结果对应的n个数据签名信息中,获取每个数据签名信息中的第一关键参数以及第二关键参数。进一步地,第一业务节点可以对n个第一关键参数进行合并处理,将合并处理后的n个第一关键参数作为第一聚合关键参数,并且对n个第二关键参数进行合并处理,将合并处理后的n个第二关键参数作为第二聚合关键参数。此时,第一业务节点可以基于聚合签名条件指示的非交互式聚合签名规则,对第一聚合关键参数和第二聚合关键参数进行聚合签名。
如图2所示,节点20A(即第一业务节点)可以获取聚合签名条件中的数量阈值。当节点20A统计到的目标签名验证结果的签名数量达到数量阈值(例如,4)时,节点20A可以确定签名数量满足聚合签名条件,此时,节点20A可以对统计到的目标签名验证结果对应的数据签名信息进行聚合签名,以得到业务数据信息对应的聚合签名信息。
假设该节点20A统计到的满足聚合签名条件的4个目标签名验证结果包括签名验证结果1、签名验证结果2、签名验证结果3以及签名验证结果4,签名验证结果1对应的数据签名信息为签名信息1<R 1,s 1>,签名验证结果2对应的数据签名信息为签名信息2<R 2,s 2>,签名验证结果3对应的数据签名信息为签名信息3<R 3,s 3>,签名验证结果4对应的数据签名信息为签名信息4<R 4,s 4>。
节点20A可以从这4个目标签名验证结果对应的4个数据签名信息中,分别获取每个数据签名信息中的第一关键参数(例如,关键参数R 1、关键参数R 2、关键参数R 3和关键参数R 4)以及每个数据签名信息中的第二关键参数(例如,关键参数s 1、关键参数s 2、关键参数s 3和关键参数s 4)。进一步地,节点20A可以对获取到的4个第一关键参数进行合并处理,将合并处理的结果作为第一聚合关键参数(例如,聚合关键参数R),并且对获取到的4个第二关键参数进行合并处理,将合并处理的结果作为第二聚合关键参数(例如,聚合关键参数s)。此时,第一业务节点可以基于聚合签名条件指示的非交互式聚合签名规则,对聚合关键参数R和聚合关键参数s进行聚合签名,以得到聚合签名信息<R,s>。
在本申请实施例中,区块链网络中的第二业务节点获取到第一业务节点发送的业务数据信息后,无需感知其他签名方的存在,可以直接对接收到的业务数据信息进行签名处理,以得到需要返回至第一业务节点的数据签名信息。其中,第二业务节点确定的数据签名信息中可以包括第一关键参数和第二关键参数,这两个关键参数均与第二业务节点生成的随机参数相关,并且无需根据所有签名方返回的交互数据来确定第一关键参数,可以减少网络交互。该随机参数是根据第二业务节点的节点私钥以及业务数据信息共同确定的。区块链网络中的第一业务节点能够获取多个第二业务节点对同一业务数据信息进行签名处理得到的数据签名信息,进而可以对获取到的每个数据签名信息进行签名验证,得到每个数据签名信息的签名验证结果,且将得到的签名验证结果添加至与区块链网络相关联的验证结果集。第一业务节点可以在验证结果集中查找到满足合法验签条件的目标签名验证结果,并统计目标签名验证结果的签名数量,当签名数量满足聚合签名条件时,第一业务节点可以直接对目标签名验证结果对应的数据签名信息进行聚合签名。在整个聚合签名过程中,由于签名方无需感知其他签名方的存在,可以直接对接收到的业务数据信息进行签名处理,因此减少了签名方的签名过程中的网络交互,从而可以降低聚合签名的网络复杂度,提高聚合签名的签名效率。
进一步地,请参见图6,图6是本申请实施例提供的一种数据处理方法的流程示意图。如图6所示,该方法可以由区块链网络中的第一业务节点以及第二业务节点协同执行,该第一业务节点可以为参与聚合签名的聚合方,例如,该第一业务节点可以为上述图1所示的区块链网络中的节点10A。该 第二业务节点可以为参与聚合签名的签名方,该第二业务节点可以是区块链网络中除第一业务节点之外的区块链节点,例如,该第二业务节点可以为上述图1所示的区块链网络中的节点10B。该方法至少可以包括以下步骤S201-步骤S209:
步骤S201,第一业务节点将获取到的业务数据信息发送至第二业务节点;
步骤S202,第二业务节点接收到第一业务节点发送的业务数据信息后,基于第二业务节点的节点私钥和业务数据信息,生成用于对业务数据信息进行签名处理的随机参数;
步骤S203,第二业务节点基于随机参数以及固定参数生成第一关键参数,基于随机参数、业务数据信息以及节点私钥生成第二关键参数,且基于第一关键参数和第二关键参数,确定数据签名信息;
步骤S204,第二业务节点将数据签名信息发送至第一业务节点;
步骤S205,第一业务节点接收到第二业务节点返回的数据签名信息后,基于该数据签名信息中的第一关键参数和第二关键参数,对该数据签名信息进行签名验证,得到签名验证结果,将签名验证结果添加至与区块链网络相关联的验证结果集;
步骤S206,第一业务节点在验证结果集中查找满足合法验签条件的签名验证结果,将满足合法验签条件的签名验证结果确定为目标签名验证结果;
步骤S207,若统计确定目标签名验证结果的签名数量满足聚合签名条件,则第一业务节点对目标签名验证结果对应的数据签名信息进行聚合签名;
其中,该步骤S201-步骤S207的具体实施方式可参见上述图3对应实施例中对步骤S101-步骤S105的描述,这里将不再赘述。
步骤S208,第一业务节点将聚合签名得到的聚合签名信息发送至第二业务节点;
其中,聚合签名信息可以是第一业务节点对目标签名验证结果对应的数据签名信息进行聚合签名得到的;这里的目标签名验证结果可以为第一业务节点在验证结果集中查找到的满足合法验签条件的签名验证结果;一个签名验证结果是第一业务节点对一个第二业务节点返回的一个数据签名信息进行签名验证确定的。该聚合签名信息可以包括第一聚合关键参数(例如,图2所示的聚合关键参数R)和第二聚合关键参数(例如,图2所示的聚合关键参数s)。
步骤S209,第二业务节点在接收到聚合签名信息时,对聚合签名信息进行签名验证,得到聚合验证结果。
具体地,第二业务节点获取到第一业务节点发送的聚合签名信息后,可以获取与目标签名验证结果相关联的第二业务节点的节点公钥,并对获取到的节点公钥进行合并处理,得到目标公钥。进一步地,第二业务节点可以基于第二聚合关键参数以及与非交互式聚合签名规则相关联的定点参数,得到 第一聚合辅助参数。并且,第二业务节点可以基于非交互式聚合签名规则,获取业务数据信息对应的数据哈希值,进而可以基于目标公钥、数据哈希值以及第一聚合关键参数,得到第二聚合辅助参数。若第一聚合辅助参数与第二聚合辅助参数一致,则第二业务节点可以将聚合签名信息对应的聚合验签结果确定为合法结果。可选的,若第一聚合辅助参数与第二聚合辅助参数不一致,则第二业务节点可以将聚合签名信息对应的聚合验签结果确定为非法结果。
如图2所示,节点20A(即第一业务节点)生成的聚合签名信息是由节点20A在统计到目标签名验证结果的签名数量满足聚合签名条件时,基于所统计的目标签名验证结果对应的数据签名信息确定的。例如,假设节点20A统计到的目标签名验证结果对应的数据签名信息可以包括节点20B返回的签名信息1、节点20C返回的签名信息2、节点20D返回的签名信息3以及节点20E返回的签名信息4,则节点20A可以根据签名信息1、签名信息2、签名信息3和全面信息4确定聚合签名信息。
区块链网络中的第二业务节点(例如,节点20B)获取到节点20A广播的聚合签名信息时,节点20B可以获取节点20B的节点公钥(例如,P 1),节点20C的节点公钥(例如,P 2),节点20D的节点公钥(例如,P 3)以及节点20E的节点公钥(例如,P 4),进而可以对获取到的这4个公钥进行合并处理,以得到目标公钥(即聚合公钥)。
进一步地,该节点20B可以根据上述非交互式聚合签名规则中的公式(8),根据第二聚合关键参数(例如,聚合关键参数s)以及与非交互式聚合签名规则相关联的定点参数(例如,G),得到用于对聚合签名信息进行签名验证的第一聚合辅助参数(例如,聚合辅助参数S 1)。并且,节点20B可以基于上述非交互式聚合签名规则中的公式(7)和公式(9),获取业务数据信息对应的数据哈希值(例如,哈希值E),进而可以基于目标公钥、数据哈希值以及第一聚合关键参数,得到用于对聚合签名信息进行签名验证的第二聚合辅助参数(例如,聚合辅助参数S 2)。若第一聚合辅助参数与第二聚合辅助参数一致,则第二业务节点可以将聚合签名信息对应的聚合验签结果确定为合法结果。若第一聚合辅助参数与第二聚合辅助参数不一致,则第二业务节点可以将聚合签名信息对应的聚合验签结果确定为非法结果。
在对区块交易进行聚合签名的场景中,第二业务节点接收到的业务数据信息可以是包括多个交易请求消息的待验证区块,此时各签名方可以对该待验证区块中的不同交易请求消息进行签名处理,得到每个交易请求消息对应的数据签名信息。第二业务节点对聚合签名信息进行签名验证时,可以确定聚合签名信息对应的第二聚合辅助参数。其中,该第二聚合辅助参数的计算公式可以参见公式(11):
Figure PCTCN2022078155-appb-000018
其中,这里的m是指待签名消息的消息数量,n是指参与聚合签名的签名方数量。
Figure PCTCN2022078155-appb-000019
是指对待签名消息(例如,交易请求消息j)进行验签的聚合辅助参数,E j表示验签方确定的待签名消息(例如,交易请求消息j)的哈希值,P i表示签名方(例如,节点i)的节点公钥。
由于待验证区块中包括不同的待签名消息,因此导致根据非交互式聚合签名规则中的公式(3)确定的待签名消息对应的验证哈希值(即哈希值e)不同,相应地,对聚合签名信息进行验证时,公式(11)中的
Figure PCTCN2022078155-appb-000020
的计算无法优化,但这并不影响签名的聚合。在区块链中,假设一个区块中有1000笔交易请求消息,每个交易请求消息均有自己的签名信息,具有打包功能的区块链节点(例如,第一业务节点)将这1000笔交易请求消息打包成区块后,可以将这些签名信息合成一个总的签名信息(即聚合签名信息),由于区块链网络中的共识节点在对所打包的区块进行共识时,需要在意所有交易请求消息的签名信息是否正确,虽然这样的验证效率跟逐个验证效率没有太大的区别,但可以大大减少签名数量,节省大量存储空间和网络流量。
可以理解的是,本申请实施例涉及的聚合签名方案可以有效降低存储空间、减少网络流量、缩短验证时间,对签名频次较低但验证频次较高的场景有显著效果。比如,在多方协作(例如,签名方固定)的场景下,此时各签名方的节点公钥可以简单聚合为一个聚合公钥(即目标公钥),表示为
Figure PCTCN2022078155-appb-000021
例如,在一笔虚拟资产由多方共同持有时,该虚拟资产的归属方可以为多方的聚合公钥。对该虚拟资产进行处理(例如,资产转移交易)时,需要聚合方(即第一业务节点)对各签名方(例如,第二业务节点)的数据签名信息进行聚合签名。整个聚合签名过程,签名方无需感知其他签名方的存在,可以直接各自进行签名,再由其中一方(例如,第一业务节点)收集数据签名信息,并在满足聚合签名条件时进行聚合签名,验证时可以根据聚合签名信息和聚合公钥做计算。当这笔交易作为业务数据信息在区块链网络中进行共识时,会在区块链网络中进行传播,以使多个区块链节点对该交易进行存储,因此该笔交易可能在任何时候被校验,即校验频次较高,此时采用聚合签名方案能够降低存储空间、且减少网络流量、缩短验证时间,进而可以提升区块链系统的整体性能。
进一步地,请参见图7,图7是本申请实施例提供的一种数据处理装置的结构示意图。该数据处理装置1可以是运行于计算机设备中的一个计算机 程序(包括程序代码),例如,该数据处理装置1为一个应用软件;该数据处理装置1可以用于执行本申请实施例提供的方法中的相应步骤。如图7所示,该数据处理装置1可以运行于区块链网络中的第一业务节点,该第一业务节点可以为上述图2所示实施例中的节点20A。该数据处理装置1可以包括:业务信息获取模块10,签名信息接收模块20,验证结果添加模块30,验证结果查找模块40以及聚合签名模块50。
该业务信息获取模块10,用于获取业务数据信息,将业务数据信息发送至第二业务节点;第二业务节点为区块链网络中除第一业务节点之外的节点;
其中,该业务信息获取模块10包括:用户签名信息获取单元101,用户验签结果确定单元102以及业务信息确定单元103。
该用户签名信息获取单元101,用于接收到由用户终端发送的业务请求后,获取业务请求中携带的待处理业务数据信息和用户签名信息;用户签名信息为基于用户终端对应的用户私钥对待处理业务数据信息进行签名处理后到的;
该用户验签结果确定单元102,用于获取用户私钥对应的用户公钥,基于用户公钥对用户签名信息进行验签,得到用户验签结果;
该业务信息确定单元103,用于若用户验签结果指示验签成功,则将待处理业务数据信息作为业务数据信息。
其中,该用户签名信息获取单元101,用户验签结果确定单元102以及业务信息确定单元103的具体实现方式可以参见上述图3所示实施例中对步骤S101的描述,这里将不再继续进行赘述。
该签名信息接收模块20,用于接收第二业务节点返回的数据签名信息;数据签名信息是第二业务节点对业务数据信息进行签名处理得到的;数据签名信息中包括第一关键参数和第二关键参数;第一关键参数与第二关键参数均与第二业务节点确定的随机参数相关;随机参数是第二业务节点基于节点私钥以及业务数据信息共同确定的。
其中,该签名信息接收模块20包括:节点公钥获取单元201、加密处理单元202和加密信息发送单元203。
该节点公钥获取单元201,用于获取第二业务节点的节点公钥;
该加密处理单元202,用于基于节点公钥对业务数据信息进行加密处理,得到加密数据信息;
该加密信息发送单元203,用于将加密数据信息发送至第二业务节点。
其中,该节点公钥获取单元201、加密处理单元202和加密信息发送单元203的具体实现方式可以参见上述图3所示实施例中对步骤S102的描述,这里将不再继续进行赘述。该验证结果添加模块30,用于基于第一关键参数和第二关键参数,对数据签名信息进行签名验证,得到签名验证结果,将签名验证结果添加至与区块链网络相关联的验证结果集。
其中,验证结果集包括合法结果集和非法结果集;
该验证结果添加模块30包括:签名验证单元301,第一添加单元302以及第二添加单元303。
该签名验证单元301,用于基于第一关键参数和第二关键参数,对数据签名信息进行签名验证,得到签名验证结果。
其中,第一关键参数是第二业务节点基于随机参数、和与非交互式聚合签名规则相关联的固定参数确定的;第二关键参数是第二业务节点基于随机参数、节点私钥以及验证哈希值确定的;验证哈希值是第二业务节点基于业务数据信息和非交互式聚合签名规则确定的;
该签名验证单元301包括:第一辅助参数确定子单元3011,第二辅助参数确定子单元3012以及签名验证结果确定子单元3013。
该第一辅助参数确定子单元3011,用于基于第二关键参数以及固定参数,得到第一辅助参数;
该第二辅助参数确定子单元3012,用于基于非交互式聚合签名规则,获取业务数据信息对应的消息哈希值,基于第二业务节点的节点公钥时、第一关键参数、以及消息哈希值,得到第二辅助参数;
该签名验证结果确定子单元3013,用于基于第一辅助参数与第二辅助参数,确定签名验证结果。
其中,该签名验证结果确定子单元3013具体用于:
将第一辅助参数与第二辅助参数进行比对,得到比对结果;
在比对结果指示第一辅助参数与第二辅助参数一致时,得到数据签名信息对应的验签成功结果;
在比对结果指示第一辅助参数与第二辅助参数不一致时,得到数据签名信息对应的验签失败结果;
将验签成功结果或者验签失败结果确定为签名验证结果。
其中,该第一辅助参数确定子单元3011,第二辅助参数确定子单元3012以及签名验证结果确定子单元3013的具体实现方式可以参见上述图3所示实施例中对签名验证结果的描述,这里将不再继续进行赘述。
该第一添加单元302,用于在签名验证结果为验签成功结果时,将签名验证结果添加至验证结果集中的合法结果集;
该第二添加单元303,用于在签名验证结果为验签失败结果时,将签名验证结果添加至验证结果集中的非法结果集。
其中,该签名验证单元301,第一添加单元302以及第二添加单元303的具体实现方式可以参见上述图3所示实施例中对步骤S103的描述,这里将不再继续进行赘述。
该验证结果查找模块40,用于在验证结果集中查找满足合法验签条件的签名验证结果,将满足合法验签条件的签名验证结果确定为目标签名验证结 果;
该聚合签名模块50,用于若统计确定目标签名验证结果的签名数量满足聚合签名条件,则对目标签名验证结果对应的数据签名信息进行聚合签名。
其中,区块链网络中的第二业务节点的节点数量为N个;N为正整数;验证结果集中的一个签名验证结果是对一个第二业务节点返回的一个数据签名信息进行签名验证确定的;一个数据签名信息中包括:一个第一关键参数和一个第二关键参数;
该聚合签名模块50包括:数量统计单元501,条件满足单元502,参数获取单元503,合并处理单元504以及聚合签名单元505。
该数量统计单元501,用于获取聚合签名条件中的数量阈值,统计验证结果集中目标签名验证结果的签名数量;
该条件满足单元502,用于若签名数量达到数量阈值,则确定签名数量满足聚合签名条件;签名数量为n个;n为小于或者等于N的正整数;
该参数获取单元503,用于从n个目标签名验证结果对应的n个数据签名信息中,获取每个数据签名信息中的第一关键参数以及第二关键参数;
该合并处理单元504,用于对n个第一关键参数进行合并处理,将合并处理后的n个第一关键参数作为第一聚合关键参数,对n个第二关键参数进行合并处理,将合并处理后的n个第二关键参数作为第二聚合关键参数;
该聚合签名单元505,用于基于聚合签名条件指示的非交互式聚合签名规则,对第一聚合关键参数和第二聚合关键参数进行聚合签名。
其中,该数量统计单元501,条件满足单元502,参数获取单元503,合并处理单元504以及聚合签名单元405的具体实现方式可以参见上述图3所示实施例中对步骤S105的描述,这里将不再继续进行赘述。
其中,该业务信息获取模块10,签名信息接收模块20,验证结果添加模块,30,验证结果查找模块40以及聚合签名模块50的具体实现方式可以参见上述图3所对应实施例中对步骤S101-步骤S105的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图8,图8是本申请实施例提供的一种数据处理装置的结构示意图。该数据处理装置2可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该数据处理装置2为一个应用软件;该数据处理装置2可以用于执行本申请实施例提供的方法中的相应步骤。如图8所示,该数据处理装置2可以运行于区块链网络中的第二业务节点,例如,该第二业务节点可以为上述图2所示实施例中的节点20B。该数据处理装置2可以包括:业务信息接收模块100,随机参数生成模块200,签名信息确定模块300,签名信息发送模块400,聚合签名信息获取模块500,目标公钥确定模块600,第一参数确定模块700,第二参数确定模块800以及合法结果确定模块900。
该业务信息接收模块100,用于接收区块链网络中的第一业务节点发送的业务数据信息。
该随机参数生成模块200,用于基于第二业务节点的节点私钥和业务数据信息,生成用于对业务数据信息进行签名处理的随机参数。
其中,该随机参数生成模块200包括:拼接处理单元2010,拼接哈希值确定单元2020以及随机参数确定单元2030。
该拼接处理单元2010,用于对第二业务节点的节点私钥和业务数据信息进行拼接处理,得到拼接信息;
该拼接哈希值确定单元2020,用于获取非交互式聚合签名规则中的哈希确定规则,基于哈希确定规则确定拼接信息对应的拼接哈希值;
该随机参数确定单元2030,用于将拼接哈希值作为随机参数。
其中,该拼接处理单元2010,拼接哈希值确定单元2020以及随机参数确定单元2030的具体实现方式可以参见上述图6所示实施例中对步骤S202的描述,这里将不再继续进行赘述。
该签名信息确定模块300,用于基于随机参数以及固定参数生成第一关键参数,基于随机参数、业务数据信息以及节点私钥生成第二关键参数,基于第一关键参数和第二关键参数,确定数据签名信息。
其中,该签名信息确定模块300包括:第一关键参数确定单元3010,第二关键参数确定单元3020以及签名信息确定单元3030。
该第一关键参数确定单元3010,用于获取与非交互式聚合签名规则相关联的固定参数,将随机参数和固定参数的第一乘积作为第一关键参数;
该第二关键参数确定单元3020,用于基于非交互式聚合签名规则,确定业务数据信息对应的验证哈希值和节点私钥的第二乘积,对第二乘积和随机参数进行求和处理,得到第二关键参数;
该签名信息确定单元3030,用于基于第一关键参数和第二关键参数,确定数据签名信息。
其中,该第一关键参数确定单元3010,第二关键参数确定单元3020以及签名信息确定单元3030的具体实现方式可以参见上述图6所示实施例中对步骤S203的描述,这里将不再继续进行赘述。
该签名信息发送模块400,用于将数据签名信息发送至第一业务节点。
该聚合签名信息获取模块500,用于接收第一业务节点发送的聚合签名信息;聚合签名信息是第一业务节点对目标签名验证结果对应的数据签名信息进行聚合签名得到的;目标签名验证结果为第一业务节点在验证结果集中查找到的满足合法验签条件的签名验证结果;所述签名验证结果是第一业务节点对数据签名信息进行签名验证确定的;聚合签名信息包括第一聚合关键参数和第二聚合关键参数;
该目标公钥确定模块600,用于获取与目标签名验证结果相关联的第二 业务节点的节点公钥,对获取到的节点公钥进行合并处理,得到目标公钥;
该第一参数确定模块700,用于基于第二聚合关键参数、以及与非交互式聚合签名规则相关联的固定参数,得到第一聚合辅助参数;
该第二参数确定模块800,用于基于非交互式聚合签名规则,获取业务数据信息对应的数据哈希值,基于目标公钥、数据哈希值以及第一聚合关键参数,得到第二聚合辅助参数;
该合法结果确定模块900,用于若第一聚合辅助参数与第二聚合辅助参数一致,则确定聚合签名信息对应的聚合验签结果为合法结果。
其中,该业务信息接收模块100,随机参数生成模块200,签名信息确定模块300,签名信息发送模块400,聚合签名信息获取模块500,目标公钥确定模块600,第一参数确定模块700,第二参数确定模块800以及合法结果确定模块900的具体实现方式可以参见上述图6所示实施例中对步骤S201-步骤S209的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图9,图9是本申请实施例提供的一种计算机设备的示意图。如图9所示,该计算机设备3000可以包括:至少一个处理器3001,例如CPU,至少一个网络接口3004,用户接口3003,存储器3005,至少一个通信总线3002。其中,通信总线3002用于实现这些组件之间的连接通信。其中,用户接口3003可以包括显示屏(Display)、键盘(Keyboard),网络接口3004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器3005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储3005可选地还可以是至少一个位于远离前述处理器3001的存储装置。如图9所示,作为一种计算机存储介质的存储器3005可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图9所示的计算机设备3000中,网络接口3004主要用于进行网络通信;而用户接口3003主要用于为用户提供输入的接口;而处理器3001可以用于调用存储器3005中存储的设备控制应用程序应当理解,本申请实施例中所描述的计算机设备3000可执行前文图3或者图6所示实施例中对该数据处理方法的描述,也可执行前文图7所示实施例中对该数据处理装置1或者图8所示实施例中对该数据处理装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且该计算机可读存储介质中存储有前文提及的数据处理装置1或者数据处理装置2所执行的计算机程序,且该计算机程序包括程序指令,当该处理器执行该程序指令时,能够执行前文图3或者图6所示实施例中对该数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有 益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
本申请一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可执行前文图3或者图6所示实施例中对数据处理方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步的,请参见图10,图10是本申请实施例提供的一种数据处理系统的结构示意图。该数据处理系统3可以包含数据处理装置1a和数据处理装置2a。其中,数据处理装置1a可以为上述图7所对应实施例中的数据处理装置1,可以理解的是,该数据处理装置1a可以集成在上述图2所对应实施例中的节点20A(即第一业务节点),因此,这里将不再进行赘述。其中,数据处理装置2a可以为上述图8所对应实施例中的数据处理装置2,可以理解的是,该数据处理装置2a可以集成在上述图2所对应实施例中的节点20B(即第二业务节点),因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的数据处理系统实施例中未披露的技术细节,请参照本申请方法实施例的描述。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (16)

  1. 一种数据处理方法,所述方法由区块链网络中的第一业务节点执行,包括:
    获取业务数据信息,将所述业务数据信息发送至第二业务节点;所述第二业务节点为所述区块链网络中除所述第一业务节点之外的节点;
    接收所述第二业务节点返回的数据签名信息;所述数据签名信息是所述第二业务节点对所述业务数据信息进行签名处理得到的;所述数据签名信息中包括第一关键参数和第二关键参数;所述第一关键参数与所述第二关键参数均与所述第二业务节点确定的随机参数相关;所述随机参数是所述第二业务节点基于节点私钥以及所述业务数据信息共同确定的;
    基于所述数据签名信息中的所述第一关键参数和所述第二关键参数,对所述数据签名信息进行签名验证,得到签名验证结果,将所述签名验证结果添加至与所述区块链网络相关联的验证结果集;
    在所述验证结果集中查找满足合法验签条件的签名验证结果,将满足所述合法验签条件的签名验证结果确定为目标签名验证结果;
    若统计确定所述目标签名验证结果的签名数量满足聚合签名条件,则对所述目标签名验证结果对应的数据签名信息进行聚合签名。
  2. 根据权利要求1所述的方法,所述获取业务数据信息,包括:
    接收到由用户终端发送的业务请求后,获取所述业务请求中携带的待处理业务数据信息和用户签名信息;所述用户签名信息为基于所述用户终端对应的用户私钥对所述待处理业务数据信息进行签名处理得到的;
    获取所述用户私钥对应的用户公钥,基于所述用户公钥对所述用户签名信息进行验签,得到用户验签结果;
    若所述用户验签结果指示验签成功,则将所述待处理业务数据信息作为所述业务数据信息。
  3. 根据权利要求1所述的方法,所述将所述业务数据信息发送至第二业务节点,包括:
    获取所述第二业务节点的节点公钥;
    基于所述节点公钥对所述业务数据信息进行加密处理,得到加密数据信息;
    将所述加密数据信息发送至所述第二业务节点。
  4. 根据权利要求1所述的方法,所述验证结果集包括合法结果集和非法结果集;
    所述基于所述数据签名信息中的所述第一关键参数和所述第二关键参数,对所述数据签名信息进行签名验证,得到签名验证结果,将所述签名验证结果添加至与所述区块链网络相关联的验证结果集,包括:
    基于所述第一关键参数和所述第二关键参数,对所述数据签名信息进行 签名验证,得到签名验证结果;
    在所述签名验证结果为验签成功结果时,将所述签名验证结果添加至所述验证结果集中的所述合法结果集;
    在所述签名验证结果为验签失败结果时,将所述签名验证结果添加至所述验证结果集中的所述非法结果集。
  5. 根据权利要求1或4所述的方法,所述第一关键参数是所述第二业务节点基于所述随机参数、和与非交互式聚合签名规则相关联的固定参数确定的;所述第二关键参数是所述第二业务节点基于所述随机参数、所述节点私钥以及验证哈希值确定的;所述验证哈希值是所述第二业务节点基于所述业务数据信息和所述非交互式聚合签名规则确定的;
    所述基于所述数据签名信息中的所述第一关键参数和所述第二关键参数,对所述数据签名信息进行签名验证,得到签名验证结果,包括:
    基于所述第二关键参数以及所述固定参数,得到第一辅助参数;
    基于所述非交互式聚合签名规则,获取所述业务数据信息对应的消息哈希值;基于所述第二业务节点的节点公钥、所述第一关键参数、以及所述消息哈希值,得到第二辅助参数;
    基于所述第一辅助参数与所述第二辅助参数,确定签名验证结果。
  6. 根据权利要求5所述的方法,所述基于所述第一辅助参数与所述第二辅助参数,确定签名验证结果,包括:
    将所述第一辅助参数与所述第二辅助参数进行比对,得到比对结果;
    在所述比对结果指示所述第一辅助参数与所述第二辅助参数一致时,得到所述数据签名信息对应的验签成功结果;
    在所述比对结果指示所述第一辅助参数与所述第二辅助参数不一致时,得到所述数据签名信息对应的验签失败结果;
    将所述验签成功结果或者所述验签失败结果确定为所述签名验证结果。
  7. 根据权利要求1所述的方法,所述区块链网络中的所述第二业务节点的节点数量为N个;所述N为正整数;所述验证结果集中的一个签名验证结果是对一个第二业务节点返回的一个数据签名信息进行签名验证确定的;一个数据签名信息中包括:一个第一关键参数和一个第二关键参数;
    所述若统计确定所述目标签名验证结果的签名数量满足聚合签名条件,则对所述目标签名验证结果对应的数据签名信息进行聚合签名,包括:
    获取聚合签名条件中的数量阈值,统计所述验证结果集中所述目标签名验证结果的签名数量;
    若所述签名数量达到所述数量阈值,则确定所述签名数量满足所述聚合签名条件;所述签名数量为n个;所述n为小于或者等于N的正整数;
    从n个目标签名验证结果对应的n个数据签名信息中,获取每个数据签名信息中的第一关键参数以及第二关键参数;
    对n个第一关键参数进行合并处理,将合并处理后的n个第一关键参数作为第一聚合关键参数,对n个第二关键参数进行合并处理,将合并处理后的n个第二关键参数作为第二聚合关键参数;
    基于所述聚合签名条件指示的非交互式聚合签名规则,对所述第一聚合关键参数和所述第二聚合关键参数进行聚合签名。
  8. 一种数据处理方法,所述方法由区块链网络中的第二业务节点执行,包括:
    接收所述区块链网络中的第一业务节点发送的业务数据信息;
    基于所述第二业务节点的节点私钥和所述业务数据信息,生成用于对所述业务数据信息进行签名处理的随机参数;
    基于所述随机参数以及固定参数生成第一关键参数,基于所述随机参数、所述业务数据信息以及所述节点私钥生成第二关键参数,基于所述第一关键参数和所述第二关键参数,确定数据签名信息;
    将所述数据签名信息发送至所述第一业务节点。
  9. 根据权利要求8所述的方法,所述基于所述第二业务节点的节点私钥和所述业务数据信息,生成用于对所述业务数据信息进行签名处理的随机参数,包括:
    对所述第二业务节点的节点私钥和所述业务数据信息进行拼接处理,得到拼接信息;
    获取非交互式聚合签名规则中的哈希确定规则,基于所述哈希确定规则确定所述拼接信息对应的拼接哈希值;
    将所述拼接哈希值作为所述随机参数。
  10. 根据权利要求8所述的方法,所述基于所述随机参数以及固定参数生成第一关键参数,基于所述随机参数、所述业务数据信息以及所述节点私钥生成第二关键参数,包括:
    获取与非交互式聚合签名规则相关联的固定参数,将所述随机参数和所述固定参数的第一乘积作为所述第一关键参数;
    基于所述非交互式聚合签名规则,确定所述业务数据信息对应的验证哈希值和所述节点私钥的第二乘积,对所述第二乘积和所述随机参数进行求和处理,得到所述第二关键参数。
  11. 根据权利要求8所述的方法,所述方法还包括:
    接收所述第一业务节点发送的聚合签名信息;所述聚合签名信息是所述第一业务节点对目标签名验证结果对应的数据签名信息进行聚合签名得到的;所述目标签名验证结果为所述第一业务节点在所述验证结果集中查找到的满足合法验签条件的签名验证结果;所述签名验证结果是所述第一业务节点对所述数据签名信息进行签名验证确定的;所述聚合签名信息包括第一聚合关键参数和第二聚合关键参数;
    获取与所述目标签名验证结果相关联的第二业务节点的节点公钥,对获取到的节点公钥进行合并处理,得到目标公钥;
    基于所述第二聚合关键参数、以及与非交互式聚合签名规则相关联的定点参数,得到第一聚合辅助参数;
    基于所述非交互式聚合签名规则,获取所述业务数据信息对应的数据哈希值,基于所述目标公钥、所述数据哈希值以及所述第一聚合关键参数,得到第二聚合辅助参数;
    若所述第一聚合辅助参数与所述第二聚合辅助参数一致,则确定所述聚合签名信息对应的聚合验签结果为合法结果。
  12. 一种数据处理装置,包括:
    业务信息获取模块,用于获取业务数据信息,将所述业务数据信息发送至第二业务节点;所述第二业务节点为所述区块链网络中除所述第一业务节点之外的节点;
    签名信息接收模块,用于接收所述第二业务节点返回的数据签名信息;所述数据签名信息是所述第二业务节点对所述业务数据信息进行签名处理得到的;所述数据签名信息中包括第一关键参数和第二关键参数;所述第一关键参数与所述第二关键参数均与所述第二业务节点确定的随机参数相关;所述随机参数是所述第二业务节点基于节点私钥以及所述业务数据信息共同确定的;
    验证结果添加模块,用于基于所述数据签名信息中的所述第一关键参数和所述第二关键参数,对所述数据签名信息进行签名验证,得到签名验证结果,将所述签名验证结果添加至与所述区块链网络相关联的验证结果集;
    验证结果查找模块,用于在所述验证结果集中查找满足合法验签条件的签名验证结果,将满足所述合法验签条件的签名验证结果确定为目标签名验证结果;
    聚合签名模块,用于若统计确定所述目标签名验证结果的签名数量满足聚合签名条件,则对所述目标签名验证结果对应的数据签名信息进行聚合签名。
  13. 一种数据处理装置,包括:
    业务信息接收模块,用于接收区块链网络中的第一业务节点发送的业务数据信息;
    随机参数生成模块,用于基于第二业务节点的节点私钥和所述业务数据信息,生成用于对所述业务数据信息进行签名处理的随机参数;
    签名信息确定模块,用于基于所述随机参数以及固定参数生成第一关键参数,基于所述随机参数、所述业务数据信息以及所述节点私钥生成第二关键参数,基于所述第一关键参数和所述第二关键参数,确定数据签名信息;
    签名信息发送模块,用于将所述数据签名信息发送至所述第一业务节点。
  14. 一种计算机设备,包括:处理器和存储器;
    所述处理器与存储器相连,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-11任一项所述的方法。
  15. 一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-11任一项所述的方法。
  16. 一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机实现如权利要求1-11中任一项所述的方法。
PCT/CN2022/078155 2021-03-02 2022-02-28 一种数据处理方法、装置、设备及存储介质 WO2022183998A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22762463.2A EP4207674A4 (en) 2021-03-02 2022-02-28 DATA PROCESSING METHOD AND DEVICE, DEVICE AND STORAGE MEDIUM
US18/076,689 US20230097738A1 (en) 2021-03-02 2022-12-07 Data processing method and apparatus, device, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110227288.6 2021-03-02
CN202110227288.6A CN112600671B (zh) 2021-03-02 2021-03-02 一种数据处理方法、装置、设备及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/076,689 Continuation US20230097738A1 (en) 2021-03-02 2022-12-07 Data processing method and apparatus, device, and storage medium

Publications (1)

Publication Number Publication Date
WO2022183998A1 true WO2022183998A1 (zh) 2022-09-09

Family

ID=75207666

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/078155 WO2022183998A1 (zh) 2021-03-02 2022-02-28 一种数据处理方法、装置、设备及存储介质

Country Status (4)

Country Link
US (1) US20230097738A1 (zh)
EP (1) EP4207674A4 (zh)
CN (1) CN112600671B (zh)
WO (1) WO2022183998A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112600671B (zh) * 2021-03-02 2021-06-01 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
CN113987594A (zh) * 2021-10-26 2022-01-28 深圳前海微众银行股份有限公司 一种区块链签名管理方法及装置
CN113935070B (zh) * 2021-12-16 2022-06-07 北京百度网讯科技有限公司 基于区块链的数据处理方法、装置、设备以及存储介质
CN115567228B (zh) * 2022-12-07 2023-03-24 北京邮电大学 数据传输方法、装置、电子设备和存储介质
CN117155584B (zh) * 2023-10-27 2024-01-26 北京信安世纪科技股份有限公司 Schnorr数字签名方法、系统及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111628868A (zh) * 2020-05-26 2020-09-04 腾讯科技(深圳)有限公司 数字签名生成方法、装置、计算机设备和存储介质
US20200389321A1 (en) * 2017-04-11 2020-12-10 nChain Holdings Limited Secure re-use of private key for dynamic group of nodes
CN112600671A (zh) * 2021-03-02 2021-04-02 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10158492B2 (en) * 2015-02-25 2018-12-18 Guardtime Ip Holdings Limited Blockchain-supported device location verification with digital signatures
CN107453870A (zh) * 2017-09-12 2017-12-08 京信通信系统(中国)有限公司 基于区块链的移动终端认证管理方法、装置及相应的移动终端
GB201805633D0 (en) * 2018-04-05 2018-05-23 Nchain Holdings Ltd Computer implemented method and system
CN110929288B (zh) * 2018-12-07 2021-06-01 深圳市智税链科技有限公司 生成公钥证书的方法、证书授权中心和介质
CN111385096B (zh) * 2018-12-28 2023-08-08 北京沃东天骏信息技术有限公司 一种区块链网络系统、签名处理方法、终端及存储介质
CN110998580A (zh) * 2019-04-29 2020-04-10 阿里巴巴集团控股有限公司 在区块链系统中确认交易有效性的方法和设备
CN110247774A (zh) * 2019-06-28 2019-09-17 深圳市网心科技有限公司 一种区块链数据的共识方法及相关设备
CN110300172B (zh) * 2019-06-28 2022-06-07 深圳市迅雷网络技术有限公司 一种区块链数据的共识方法及相关设备
CN114730420A (zh) * 2019-08-01 2022-07-08 科恩巴斯公司 用于生成签名的系统和方法
CN111209334B (zh) * 2019-12-23 2024-03-22 国网河北省电力有限公司雄安新区供电公司 基于区块链的电力终端数据安全管理方法
CN111427957B (zh) * 2020-03-26 2021-05-11 财付通支付科技有限公司 区块链投票信息校验方法、装置、设备以及存储介质
CN111445334B (zh) * 2020-03-30 2023-09-05 北京数字认证股份有限公司 一种区块链系统的聚合签名方法、装置及存储介质
CN111476573B (zh) * 2020-04-13 2021-07-27 腾讯科技(深圳)有限公司 一种账户数据处理方法、装置、设备及存储介质
CN111478775B (zh) * 2020-06-22 2020-10-23 杭州趣链科技有限公司 一种交互式聚合签名方法、设备及存储介质
CN111970129B (zh) * 2020-10-21 2021-01-01 腾讯科技(深圳)有限公司 一种基于区块链的数据处理方法、设备以及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200389321A1 (en) * 2017-04-11 2020-12-10 nChain Holdings Limited Secure re-use of private key for dynamic group of nodes
CN111628868A (zh) * 2020-05-26 2020-09-04 腾讯科技(深圳)有限公司 数字签名生成方法、装置、计算机设备和存储介质
CN112600671A (zh) * 2021-03-02 2021-04-02 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4207674A4

Also Published As

Publication number Publication date
EP4207674A4 (en) 2024-04-17
US20230097738A1 (en) 2023-03-30
EP4207674A1 (en) 2023-07-05
CN112600671B (zh) 2021-06-01
CN112600671A (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
WO2022183998A1 (zh) 一种数据处理方法、装置、设备及存储介质
Zhu et al. A secure and efficient data integrity verification scheme for cloud-IoT based on short signature
Wang et al. Blockchain based data integrity verification for large-scale IoT data
US11283627B2 (en) Method and apparatus for generating blockchain transaction
CN111066285B (zh) 基于sm2签名恢复公钥的方法
CN113055188B (zh) 一种数据处理方法、装置、设备及存储介质
Li et al. A method for achieving provable data integrity in cloud computing
Li et al. A Blockchain‐Based Public Auditing Scheme for Cloud Storage Environment without Trusted Auditors
Li et al. Cryptanalysis and improvement for certificateless aggregate signature
Ji et al. Flexible identity-based remote data integrity checking for cloud storage with privacy preserving property
Yan et al. A dynamic integrity verification scheme of cloud storage data based on lattice and Bloom filter
Li et al. Lattice-based privacy-preserving and forward-secure cloud storage public auditing scheme
Li et al. Verifiable Chebyshev maps‐based chaotic encryption schemes with outsourcing computations in the cloud/fog scenarios
Shao et al. Efficient TPA-based auditing scheme for secure cloud storage
WO2022116175A1 (zh) 数字签名的生成方法、装置和服务器
Kalapaaking et al. Blockchain-enabled and multisignature-powered verifiable model for securing federated learning systems
Boyd et al. Fair client puzzles from the bitcoin blockchain
Yu et al. ID‐based dynamic replicated data auditing for the cloud
CN111865948A (zh) 基于匿名身份的对等云认证和密钥协商方法、系统和计算机存储介质
WO2023159849A1 (zh) 一种数字签名方法、计算机设备及介质
Wang et al. A lightweight data integrity verification with data dynamics for mobile edge computing
Xu et al. Software Service Signature (S 3) for authentication in cloud computing
Elbuz et al. Designing a secure blockchain-based trading platform for internet of things
Suguna et al. Privacy preserving data auditing protocol for secure storage in mobile cloud computing
Wang et al. Blockchain-Based Unbalanced PSI with Public Verification and Financial Security

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22762463

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022762463

Country of ref document: EP

Effective date: 20230331

NENP Non-entry into the national phase

Ref country code: DE