Blockchain-based signature processing method, apparatus and electronic device

By obtaining a set of anonymous signatures from the blockchain network and using a pre-defined verification algorithm and oracle function set to verify the connectivity and anonymity of the signatures, the problem of inaccurate verification of abnormal anonymous signatures in the blockchain network is solved, and the traceability and privacy protection of signatures are achieved.

CN115834098BActive Publication Date: 2026-03-24INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-18
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

Existing technologies cannot effectively prevent abnormal anonymous signatures within the signing group in a blockchain network, nor can they accurately identify and track violations such as fake signatures and duplicate signatures.

Method used

By obtaining a set of anonymous signatures, and using a preset verification algorithm and oracle function set to verify the anonymous signatures, the connectivity, anonymity, and exceptionality of the signatures are determined, a traceable anonymous signature is generated, and the smart contract of the blockchain node is used to verify and track abnormal signatures.

Benefits of technology

It improves the accuracy of detecting abnormal anonymous signatures, achieves signature traceability, prevents information leakage, reduces the risk of unauthorized signatures, and protects the privacy and impartiality of the signing group.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115834098B_ABST
    Figure CN115834098B_ABST
Patent Text Reader

Abstract

The application discloses a signature processing method and device based on a block chain and electronic equipment, and relates to the technical field of block chains. The method comprises the following steps: obtaining an anonymous signature set obtained by at least one object signing a to-be-signed event in a block chain; verifying each anonymous signature in the anonymous signature set by using a preset verification algorithm to obtain a verification result; verifying the preset verification algorithm based on a set of prediction functions to obtain a verification result, wherein the set of prediction functions is composed of a plurality of prediction functions, the plurality of prediction functions are functions obtained by setting a hash function based on different input parameters, and the verification result represents whether the preset verification algorithm is successfully executed; and determining that the verification result is a target result in the case that the verification result represents that the preset verification algorithm is successfully executed. The application solves the technical problem that the verification of abnormal anonymous signatures in a block chain network is not accurate in the prior art.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of blockchain technology, and more specifically, to a blockchain-based signature processing method, apparatus, and electronic device. Background Technology

[0002] With the widespread application of blockchain technology, the protection of user privacy and security during operation is increasingly becoming a hot topic of concern. Currently, to prevent the leakage of user privacy, two common methods are used: one is to isolate the signer and the signing author, meaning the signer and the signing author are different, thus effectively reducing the theft of signature information and signer information by eavesdroppers; the other is to use a method where the information publisher hides within the signing group to obfuscate the information, effectively confusing eavesdroppers and preventing them from finding the real information publisher. However, these methods can only prevent privacy theft by eavesdroppers outside the signing group; they cannot effectively prevent or accurately track eavesdropping from within the signing group, such as signers using their signing rights to perform fraudulent signatures, duplicate signatures, or cyberattacks.

[0003] There is currently no effective solution to the above problems. Summary of the Invention

[0004] This invention provides a blockchain-based signature processing method, apparatus, and electronic device to at least solve the technical problem of inaccurate verification of abnormal anonymous signatures in blockchain networks in the prior art.

[0005] According to one aspect of the present invention, a blockchain-based signature processing method is provided, comprising: obtaining an anonymous signature set obtained by at least one object signing an event to be signed in the blockchain, wherein the object is any object in the signature group corresponding to the blockchain, the anonymous signature set is a signature set that does not contain the identity information of at least one object, the anonymous signature set consists of multiple anonymous signatures, and the anonymous signature includes at least tag information, the tag information consisting of the public key set of the signature group and the event number corresponding to the event to be signed; verifying each anonymous signature in the anonymous signature set using a preset verification algorithm to obtain a verification result, the verification result indicating whether the anonymous signature is an abnormal anonymous signature; verifying the preset verification algorithm based on a set of oracle functions to obtain a verification result, wherein the set of oracle functions consists of multiple oracle functions, the multiple oracle functions being functions obtained by setting hash functions based on different input parameters, the verification result indicating whether the preset verification algorithm was successfully executed; and determining the verification result as the target result if the verification result indicates that the preset verification algorithm was successfully executed.

[0006] Furthermore, the blockchain-based signature processing method also includes: verifying multiple attribute information of each anonymous signature in the anonymous signature set based on the oracle function set to obtain the verification result, wherein the multiple attribute information includes at least connectivity, anonymity, and specificity.

[0007] Furthermore, the blockchain-based signature processing method also includes: if the verification result indicates that multiple attribute information is normal, determining that the preset verification algorithm has been successfully executed; if the verification result indicates that multiple attribute information is abnormal, determining that the preset verification algorithm has failed.

[0008] Furthermore, the blockchain-based signature processing method also includes: randomly obtaining multiple anonymous signatures and comparing the label information of the multiple anonymous signatures to obtain a comparison result; when the comparison result indicates that the label information of the multiple anonymous signatures are all different, outputting a first verification result, the first verification result indicating that there is a first type of signature in the set of anonymous signatures, and the first type of signature indicating that different signature objects sign different events.

[0009] Furthermore, the blockchain-based signature processing method also includes: querying a first query queue based on data from at least one anonymous signature to obtain a first query result, wherein the first query queue is calculated by a second oracle function and a third oracle function, the second oracle function being a function generated by randomly selecting parameters from a first data set and inputting them into a hash function, and the third oracle function being a function generated by randomly selecting parameters from a second data set and inputting them into a hash function, the first data set being a finite cyclic multiplication group, and the second data set being a set of integers; when the first query result indicates that there is data in the first query queue that is equal to data from at least one anonymous signature, a second verification result is output, the second verification result indicating that at least one anonymous signature is an unpredictable signature.

[0010] Furthermore, the blockchain-based signature processing method also includes: querying a second query queue based on data from at least one anonymous signature to obtain a second query result, wherein the second query queue is calculated by a first oracle function and a second oracle function, the first oracle function being a function generated by randomly selecting parameters from a first data set and inputting them into a hash function; when the second query result indicates that there is data in the second query queue that is equal to data from at least one anonymous signature, a third verification result is output, the third verification result indicating that there is a second type of signature among at least one anonymous signature, the second type of signature indicating that the same signature object has signed the same event multiple times.

[0011] Furthermore, the blockchain-based signature processing method also includes: generating an event to be signed so that at least one object can anonymously sign the event; obtaining the data set generated during the anonymous signing process of the event by at least one object, and parsing the data set to obtain a data message.

[0012] Furthermore, the blockchain-based signature processing method also includes: performing an integrity check on the data message to obtain a check result; and, if the check result indicates that the data message is complete, signing the event to be signed based on the tag information corresponding to at least one object to obtain an anonymous signature set.

[0013] Furthermore, the blockchain-based signature processing method also includes: invoking the smart contract corresponding to the blockchain node, generating a verification command based on the smart contract to verify each anonymous signature in the anonymous signature set; obtaining a first anonymous signature and a second anonymous signature based on the verification command, wherein the first anonymous signature and the second anonymous signature are any two anonymous signatures in the anonymous signature set; comparing the first anonymous signature and the second anonymous signature to obtain a comparison result, wherein the comparison result indicates whether the first anonymous signature and the second anonymous signature have the same tag information; if the first anonymous signature and the second anonymous signature have the same tag information, determining that the first anonymous signature and the second anonymous signature are abnormal anonymous signatures, and outputting the public key in the tag information of the first anonymous signature.

[0014] Furthermore, the blockchain-based signature processing method also includes: tracking abnormal anonymous signatures based on the public key in the tag information of the first anonymous signature, and determining the target object corresponding to the abnormal anonymous signature.

[0015] According to another aspect of the present invention, a blockchain-based signature processing apparatus is also provided, comprising: an acquisition module, configured to acquire an anonymous signature set obtained by at least one object signing an event to be signed in the blockchain, wherein the object is any object in the signature group corresponding to the blockchain, the anonymous signature set is a signature set that does not contain the identity information of at least one object, the anonymous signature set consists of multiple anonymous signatures, and the anonymous signature includes at least tag information, the tag information consisting of the public key set of the signature group and the event number corresponding to the event to be signed; a verification module, configured to verify each anonymous signature in the anonymous signature set using a preset verification algorithm to obtain a verification result, the verification result indicating whether the anonymous signature is an abnormal anonymous signature; a verification module, configured to verify the preset verification algorithm based on a set of oracle functions to obtain a verification result, wherein the set of oracle functions consists of multiple oracle functions, the multiple oracle functions being functions obtained by setting hash functions based on different input parameters, the verification result indicating whether the preset verification algorithm was successfully executed; and a determination module, configured to determine the verification result as a target result if the verification result indicates that the preset verification algorithm was successfully executed.

[0016] According to another aspect of the present invention, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer program, wherein the computer program is configured to execute the above-described blockchain-based signature processing method at runtime.

[0017] According to another aspect of the present invention, an electronic device is also provided, the electronic device including one or more processors; a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors are configured to run the programs, wherein the programs are configured to execute the above-described blockchain-based signature processing method at runtime.

[0018] According to another aspect of the present invention, a computer program product is also provided, including a computer program / instructions that, when executed by a processor, implement the above-described blockchain-based signature processing method.

[0019] In this embodiment of the invention, a method is adopted to verify whether a preset verification algorithm has been successfully executed. First, an anonymous signature set is obtained by having at least one object sign the event to be signed in the blockchain. Then, the preset verification algorithm is used to verify each anonymous signature in the anonymous signature set to obtain a verification result. Next, the preset verification algorithm is verified based on a set of oracle functions to obtain a verification result. If the verification result indicates that the preset verification algorithm has been successfully executed, the verification result is determined to be the target result. Here, the object is any object in the signature group corresponding to the blockchain; the anonymous signature set is a signature set that does not contain the identity information of at least one object; the anonymous signature set consists of multiple anonymous signatures; each anonymous signature includes at least tag information, which consists of the public key set of the signature group and the event number corresponding to the event to be signed; the verification result indicates whether the anonymous signature is an abnormal anonymous signature; the oracle function set consists of multiple oracle functions, which are functions obtained by setting hash functions based on different input parameters; the verification result indicates whether the preset verification algorithm has been successfully executed.

[0020] In the above process, obtaining an anonymous signature set by at least one object signing the event to be signed in the blockchain provides a data foundation for subsequent verification of anonymous signatures. By using a preset verification algorithm to verify each anonymous signature in the anonymous signature set, abnormal anonymous signatures can be identified from the set, effectively protecting the privacy of the signing group and preventing information leakage, thereby improving the fairness and impartiality of anonymous signatures. By verifying the preset verification algorithm based on a set of oracle functions, it can be determined whether the preset verification algorithm has been successfully executed, providing a theoretical basis for determining the target result of the subsequent verification. If the verification result indicates that the preset verification algorithm has been successfully executed, the verification result is determined to be the target result, improving the accuracy of abnormal anonymous signature verification, realizing the traceability of anonymous signatures, facilitating the organizers of signing activities to discover illegal signatures and control the illegal signature objects, thereby effectively reducing the risk of the event to be signed being illegally signed repeatedly, and thus preventing malicious manipulation within the signing group.

[0021] Therefore, the technical solution of this invention achieves the goal of discovering abnormal anonymous signatures within a signature group, thereby improving the accuracy of abnormal anonymous signature verification in the blockchain network and solving the technical problem of inaccurate verification of abnormal anonymous signatures in the prior art. Attached Figure Description

[0022] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:

[0023] Figure 1 This is a flowchart of an optional blockchain-based signature processing method according to an embodiment of the present invention;

[0024] Figure 2 This is a schematic diagram of an optional blockchain traceable anonymous signature oracle system according to an embodiment of the present invention;

[0025] Figure 3 This is a schematic diagram of information access in an optional blockchain traceable anonymous signature oracle system according to an embodiment of the present invention;

[0026] Figure 4 This is a schematic diagram of an optional blockchain traceable anonymous signature oracle system module according to an embodiment of the present invention;

[0027] Figure 5 This is a flowchart of an optional blockchain traceable anonymous signature oracle system according to an embodiment of the present invention;

[0028] Figure 6 This is a flowchart of an optional blockchain traceable anonymous signature oracle system for signature verification according to an embodiment of the present invention;

[0029] Figure 7 This is an optional blockchain traceable anonymous signature oracle system access flowchart according to an embodiment of the present invention;

[0030] Figure 8 This is a schematic diagram of an optional blockchain-based signature processing device according to an embodiment of the present invention;

[0031] Figure 9 This is a schematic diagram of an optional electronic device according to an embodiment of the present invention. Detailed Implementation

[0032] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0033] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0034] It should be noted that all relevant information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for display, data used for analysis, etc.) involved in this invention are information and data authorized by the user or fully authorized by all parties. For example, this system has an interface with the relevant user or organization. Before obtaining relevant information, it is necessary to send an acquisition request to the aforementioned user or organization through the interface, and obtain the relevant information after receiving consent from the aforementioned user or organization.

[0035] Example 1

[0036] According to an embodiment of the present invention, a method embodiment of a blockchain-based signature processing method is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0037] Figure 1 This is a flowchart of an optional blockchain-based signature processing method according to an embodiment of the present invention, such as... Figure 1 As shown, the method includes the following steps:

[0038] Step S101: Obtain an anonymous signature set obtained by signing the event to be signed by at least one object in the blockchain. Here, the object is any object in the signature group corresponding to the blockchain, the anonymous signature set is a signature set that does not contain the identity information of at least one object, the anonymous signature set consists of multiple anonymous signatures, and the anonymous signature includes at least tag information. The tag information consists of the public key set of the signature group and the event number corresponding to the event to be signed.

[0039] In the above steps, an anonymous signature set obtained by signing an event to be signed in the blockchain by at least one object can be acquired through devices such as application systems, processors, and electronic devices. In this embodiment, this is achieved through methods such as... Figure 2 The illustrated blockchain-traceable anonymous signature oracle system obtains a set of anonymous signatures obtained by at least one object signing events to be signed within the blockchain. For example... Figure 2 As shown, the blockchain traceable anonymous signature oracle system includes: blockchain infrastructure cloud 1, blockchain consensus ledger node 2, gateway access node 3, signing user 4, malicious actor 5, and oracle node 6.

[0040] The blockchain infrastructure cloud 1 is responsible for allocating network, computing, and storage resources based on user requests, creating blockchain networking services, and supporting the selection of blockchain product images and configuration of virtual node resources according to user blockchain product standards to create a blockchain network. Blockchain consensus ledger node 2, located in blockchain infrastructure cloud 1, is a virtual computing node and a fundamental component of the blockchain network. The blockchain network has several blockchain consensus ledger nodes, which, as blockchain computing nodes, are primarily responsible for blockchain transaction access and processing, providing smart contract execution, transaction consensus, and transaction ledger; they also provide security services such as data encryption, decryption, and identity verification for transaction data. Gateway access node 3 is responsible for receiving transaction requests from nodes accessing the blockchain network, routing the requests to the blockchain nodes, and relaying the messages from the blockchain nodes back to the transaction initiator. Signer 4 is a member of the signing group, configured with public and private keys, capable of signing and verifying data messages using a traceable anonymous signature algorithm; as a verifier, the identity of the true signer cannot be known. Malicious actors 5: Members of the signature group who exploit the decentralized and full ledger features of blockchain, along with system security vulnerabilities, to attempt to spy on information, violate activity rules by submitting false or duplicate signatures, and launch cyberattacks to disrupt the smooth running of the activity. Oracle node 6: Responsible for providing proof of the anonymity and forgery resistance of traceable signatures for regulatory audits, and providing the simNIZK algorithm to prove the connectability, anonymity, and exceptionality of traceable signatures.

[0041] Optionally, the object can include both the signer and the malicious actor, who together form a signing group. The multiple anonymous signatures obtained by the signing group after signing the event to be signed constitute an anonymous signature set. These anonymous signatures are traceable, meaning they include tag information consisting of the signing group's public key set and the event number corresponding to the event to be signed. Optionally, the tag information is represented by the letter L, and formally expressed as: ,in, This represents the set of public keys of the signing group, and `issue` represents the event number of the activity, such as the candidate number in an election or the sequence number of a voting event. Members of the signing group can associate tag information `L` with the event to be signed and can verify its legitimacy, but they have no way to discover the identity information of the signer.

[0042] Optionally, the set of algorithms used subsequently will be described here. Let there be an ordered public key set. For a ring, the traceable set of signature functions is represented as follows:

[0043]

[0044] Where: Gen represents a probabilistic multinomial algorithm, and the input is a safety parameter. The output is the public and private keys. Sig represents a probabilistic multinomial algorithm, with the key as input. Trackable tags and data messages The output is the signature S; Ver represents a probabilistic multinomial algorithm, and the input is a traceable tag. Data message The signature is S, and the output is either true or false; Trace represents a probabilistic multinomial algorithm, with a traceable label as input. Two data message / signature pairs, The output can be one of the following optional results:

[0045]

[0046] Specifically, Figure 3 This is a schematic diagram illustrating information access in an optional blockchain-traceable anonymous signature oracle system according to an embodiment of the present invention, such as... Figure 3 As shown, information access includes: Focus Activity 20, Signer 21, Malicious Actor 22, Gateway Access Node 23, Blockchain Network 24, Consensus Ledger Node 25, Identity Authentication Node 26, Verifier 27, and Oracle Node 28.

[0047] In this context, **Focus Activity 20** refers to an event organized and initiated through the blockchain network 24, involving the participation of the signing group. Examples include a voting event, which typically includes data such as an activity description, time, location, and participants. **Signers 21** refer to applications or individuals participating in blockchain-based voting events via the gateway access node 23, signing data messages according to the event requirements. All signers constitute the signing group, jointly participating in the voting event and exchanging activity data messages. In this example, signers include signers A, B, C, D, E (verifiers), and F (malicious actors). **Malicious Actors 22** refer to malicious nodes that illegally intrude into the blockchain network. Malicious actors 22 obtain focus information through message eavesdropping, interception, disguise, and intrusion to illegally acquire spatial information about the event, maliciously injecting false information into the blockchain network, causing information leakage or disrupting the normal operation of the blockchain network. **Gateway Access Node 23** is the sender and receiver of focus information, and also the verification device for focus information. The blockchain network 24 is a decentralized network built using consensus ledger technology. It consists of consensus ledger nodes and authentication nodes. This technology uses a group consensus method to ensure transaction consistency. Ledger data is stored on the consensus ledger nodes, and transaction data has characteristics such as decentralization, immutability, and security. The consensus ledger node 25 stores the transaction world state, encrypts identity data messages, receives instructions from transaction senders and receivers, and provides services such as data routing and information transmission / reception. The identity authentication node 26 issues digital identity certificates in the blockchain network 24, assigning digital identities to the blockchain network. The verifier 27 receives traceable anonymous signature messages and verifies them using the verification algorithm provided by the oracle node 28. The oracle node 28 provides the simNIZK oracle algorithm to prove the connectability, anonymity, and exceptionality of the traceable anonymous signature.

[0048] It should be noted that, in the above process, obtaining the set of anonymous signatures obtained by signing the event to be signed by at least one object in the blockchain can provide an accurate data foundation for subsequent detection of each anonymous signature in the anonymous signature set.

[0049] Step S102: Use a preset verification algorithm to verify each anonymous signature in the anonymous signature set and obtain the verification result. The verification result indicates whether the anonymous signature is an abnormal anonymous signature.

[0050] In the above steps, each anonymous signature in the anonymous signature set can be verified using devices such as application systems, processors, and electronic devices. In this embodiment, verification is performed using methods such as... Figure 4The module of the traceable anonymous signature oracle system shown verifies each anonymous signature in the set of anonymous signatures. For example... Figure 4 As shown, it includes: a main control unit 30, a sensor module 31, an oracle processing module 32, and a wireless communication module 33. The main control unit 30 is responsible for data transmission and the overall invocation of all processing modules. The sensor module 31 is used to sense voting events and generate event focus information m. The oracle processing module 32 is responsible for executing `Sign()` to sign transaction data and executing `ChkSign()` to verify the transaction data signature. It includes a traceable signature connectivity check unit 321, a traceable signature anonymity check unit 322, and a traceable signature exception check unit 323. The communication module 33 is used to execute the wireless transmission protocol to receive transaction information request messages from the transaction information requester, send data information to the transaction information requester, and return false if attribute permission verification fails.

[0051] Optionally, the preset verification algorithm can be the Tracesign() function, which verifies whether each anonymous signature in the anonymous signature set has the same event label information L. If the same label information L is detected, the abnormal anonymous signature can be identified from the anonymous signature set, thus confirming that there is a malicious actor in the signature group who maliciously duplicates the signature for the same event.

[0052] It should be noted that, in the above process, by examining each anonymous signature in the anonymous signature set, abnormal anonymous signatures can be identified from the anonymous signature set, thereby improving the fairness and impartiality of anonymous signatures.

[0053] Step S103: Verify the preset verification algorithm based on the oracle function set to obtain the verification result. The oracle function set consists of multiple oracle functions, which are functions obtained by setting the hash function based on different input parameters. The verification result indicates whether the preset verification algorithm has been successfully executed.

[0054] In the above steps, the hash function is set according to different input parameters to obtain a set of oracle functions, specifically, such as... Figure 7 Step S601 shown: Let G be a multiplicative group of order q, and g be a generator of G. Define hash functions respectively. as follows:

[0055]

[0056]

[0057]

[0058] Where q is a prime number, Let represent an integer modulo q. Define a random oracle as: This yields the set of oracle functions.

[0059] Optionally, through, as Figure 3 The oracle node 28 shown verifies the preset verification algorithm using the simNIZK oracle algorithm, obtaining the verification result, proving that the traceable anonymous signature possesses connectability, anonymity, and exceptionality. Specifically, for each i, the following is calculated: Then calculate c, and put the anonymous signature into the query queue Q for querying. This proves that traceable anonymous signatures lack connectability, anonymity, and exceptionality. The SimNIZK algorithm is as follows:

[0060] enter:

[0061] Output:

[0062] Step 1: FOR EVERY ,

[0063] get

[0064] Set

[0065] Step 2: Set where , ;

[0066] Step 3: IF THEN

[0067] RETUEN false

[0068] ELSE IF

[0069] OUTPUT

[0070] It should be noted that by verifying the preset verification algorithm based on the set of oracle functions, it can be determined whether the preset verification algorithm has been successfully executed, providing a theoretical basis for subsequently determining the verification result as the target result.

[0071] Step S104: If the verification result indicates that the preset verification algorithm has been successfully executed, the verification result is determined to be the target result.

[0072] Optionally, when the verification result indicates that the preset verification algorithm has been successfully executed, that is, when it proves that the traceable anonymous signature has connectability, anonymity and exceptionality, the verification result obtained in the aforementioned process is determined to be the target result, that is, the abnormal anonymous signature determined in the aforementioned process is the correct result.

[0073] It should be noted that when the verification result indicates that the preset verification algorithm has been successfully executed, the verification result is determined to be the target result, which improves the accuracy of abnormal anonymous signature verification and realizes the traceability of anonymous signatures.

[0074] Based on the scheme defined in steps S101 to S104 above, it can be understood that in this embodiment of the invention, the method of verifying whether the preset verification algorithm has been successfully executed is adopted. First, an anonymous signature set obtained by at least one object signing the event to be signed in the blockchain is obtained. Then, the preset verification algorithm is used to verify each anonymous signature in the anonymous signature set to obtain the verification result. Then, the preset verification algorithm is verified based on the oracle function set to obtain the verification result. If the verification result indicates that the preset verification algorithm has been successfully executed, the verification result is determined to be the target result. Here, the object is any object in the signature group corresponding to the blockchain, the anonymous signature set is a signature set that does not contain the identity information of at least one object, the anonymous signature set consists of multiple anonymous signatures, and the anonymous signature includes at least tag information. The tag information consists of the public key set of the signature group and the event number corresponding to the event to be signed. The verification result indicates whether the anonymous signature is an abnormal anonymous signature. The oracle function set consists of multiple oracle functions, which are functions obtained by setting hash functions based on different input parameters. The verification result indicates whether the preset verification algorithm has been successfully executed.

[0075] It is noteworthy that, in the above process, obtaining the set of anonymous signatures obtained by acquiring at least one object signing the event to be signed in the blockchain provides a data foundation for subsequent verification of anonymous signatures. By using a preset verification algorithm to verify each anonymous signature in the set, abnormal anonymous signatures can be identified, effectively protecting the privacy of the signing group and preventing information leakage, thereby improving the fairness and impartiality of anonymous signatures. By verifying the preset verification algorithm based on the oracle function set, it can be determined whether the preset verification algorithm has been successfully executed, providing a theoretical basis for determining the verification result as the target result. If the verification result indicates that the preset verification algorithm has been successfully executed, the verification result is determined as the target result, improving the accuracy of abnormal anonymous signature verification, realizing the traceability of anonymous signatures, facilitating the organizers of signing activities to discover and control illegal signatures, thereby effectively reducing the risk of the event to be signed being illegally signed repeatedly, and thus preventing malicious manipulation within the signing group.

[0076] Therefore, the technical solution of this invention achieves the goal of discovering abnormal anonymous signatures within a signature group, thereby improving the accuracy of abnormal anonymous signature verification in the blockchain network and solving the technical problem of inaccurate verification of abnormal anonymous signatures in the prior art.

[0077] In one optional embodiment, during the process of verifying a preset verification algorithm based on a set of oracle functions to obtain a verification result, multiple attribute information of each anonymous signature in the anonymous signature set is verified based on the set of oracle functions to obtain a verification result, wherein the multiple attribute information includes at least connectability, anonymity, and specificity.

[0078] In one optional embodiment, if the verification result indicates that multiple attribute information is normal, the preset verification algorithm is determined to have been executed successfully; if the verification result indicates that multiple attribute information is abnormal, the preset verification algorithm is determined to have failed.

[0079] Optionally, the signature obtained by signing the associated tag information L for the event to be signed is called a traceable anonymous signature. Traceable anonymous signatures possess connectability, anonymity, and specificity (i.e., exceptionality), such as... Figure 6 As shown, in step 51: The verifier calls the access oracle, that is, verifies the traceable anonymous signature through the oracle function set, and determines whether the traceable anonymous signature has connectability, anonymity, and exceptionality. If the check is successful, the traceable anonymous signature has connectability, anonymity, and exceptionality, and the output is true, indicating that the signature verification is successful, that is, the preset verification algorithm is executed successfully; if the check fails, the traceable anonymous signature does not have connectability, anonymity, and exceptionality, and the output is false, indicating that the signature verification fails, that is, the preset verification algorithm fails.

[0080] Specifically, the security of traceable anonymous signatures is defined as: Tag-Linkability, Anonymity, and Exculpability.

[0081] Among them, Definition 1: For Tag-Linkable algorithms of any probabilistic polynomial degree F, The value of k can be ignored.

[0082] Optionally, a detailed explanation of Tag-Linkability can be provided: Let F represent the adversary model of a probabilistic algorithm, with security parameters as input. The output is and A message and signature pair ,in, F to The advantage is expressed as:

[0083]

[0084] in Represented as: Returns 1, indicating that if and only if for all , And for all , ,in This means that different people can sign different events, and traceable anonymous signatures have connectability.

[0085] Additionally, Definition 2: It is anonymous if for every polynomial degree of the opposing model D, The value of k can be ignored.

[0086] Optionally, a detailed explanation of Anonymity can be provided: Let D denote the opponent model of the probabilistic algorithm, and let... This represents two target public keys, where, and Origin .set up As a random hidden bit, D uses the target public key Start the game. That is, D performs any of the following steps in polynomial order: First, D can add a public key to the global public key queue; second, D can access three signature oracles: ,in: Indicating targeting sign The challenge of oracles; Indicating targeting sign The challenge of oracles; Indicating targeting sign The challenging oracle. Assume L should contain: ,and The following conditions must be met:

[0087] if They are D pairs respectively The two queries, then ;if yes The query, yes or The query, then Finally, D outputs... Define D pairs The advantages are as follows:

[0088]

[0089] Through the above process, it can be seen that traceable anonymous signatures are unpredictable, that is, traceable anonymous signatures have anonymity.

[0090] Additionally, Definition 3: If for any probabilistic multinomial opponent model A, the advantage is achieved in degree k It can be ignored, so it is considered There are exceptions.

[0091] Optionally, provide a detailed explanation of Exculpability: Let A be the adversary probability model, Pk be the target public key, and Depend on Generate. A starts the game by using the target public key pk, that is, performing the following operations in any order within a polynomial degree: A can add a new public key; A can also use sk to send a message to the signature oracle. Request Signature ,in ,and Finally, A outputs two pairs of signatures. and ,in At the same time, satisfy and and So, if It can be said that A lured a player. Define A as... The advantages are:

[0092]

[0093] Through the above process, it can be seen that traceable anonymous signatures can trace the perpetrators, meaning that traceable anonymous signatures have exceptions.

[0094] It should be noted that by verifying multiple attribute information of each anonymous signature in the anonymous signature set based on the oracle function set, a secure authentication basis for traceable anonymous signatures is provided, which effectively prevents signers from signing events repeatedly, and does not rely on the participation of a third-party impartial institution, thus avoiding the leakage of privacy information.

[0095] In an optional embodiment, during the process of verifying multiple attribute information of each anonymous signature in the anonymous signature set based on the oracle function set to obtain the verification result, multiple anonymous signatures are first randomly obtained, and the label information of the multiple anonymous signatures is compared to obtain the comparison result. If the comparison result indicates that the label information of the multiple anonymous signatures are different, a first verification result is output. The first verification result indicates that there is a first type of signature in the anonymous signature set. The first type of signature indicates that different signature objects sign different events.

[0096] Optional, perform as follows Figure 7 Steps 613 and 614 are shown: The oracle executes the Linkability, Anonymity, and Exculpability functions to verify the linkability, anonymity, and exceptionality of the traceable anonymous signature; it determines whether the traceable anonymity check is normal, and if not, it stops; otherwise, it continues.

[0097] Specifically, through, for example Figure 4 The traceable signature connectivity checking unit 321 shown executes the traceable function TraceSign to verify the number of replays. In this embodiment, taking two randomly obtained anonymous signatures as an example, the tag information is compared. The Tracesign() function compares two pairs of tuples. The relationship is defined as whether they share the same event label L. , The inspection steps are as follows:

[0098] Step 1: Analysis ,set up , , ;

[0099] Step 2: For ,calculate At the same time, calculate ;

[0100] Step 3: Initialization ;for ,if ,set up ;

[0101] Step 4: If the list contains only one element pk, output pk;

[0102] if Output "link";

[0103] if ,or The output is "indep".

[0104] Optionally, when the tag information is different and the event information m in the anonymous signature is also different, i.e., if ,or If the output is "indep", it indicates that different signature objects sign different events, thus demonstrating the connectability of anonymous signatures.

[0105] It should be noted that, in the process of comparing the label information of multiple anonymous signatures, a connectability check algorithm for traceable anonymous signatures in the blockchain is proposed. By using two sets of public keys / signatures, their relevance can be determined, and they can be distinguished by Indep, linked, and Pk. This improves the execution efficiency of verifying the attribute information of anonymous signatures, thereby improving the execution efficiency of subsequent tracking of target objects.

[0106] In one optional embodiment, during the verification of multiple attribute information of each anonymous signature in the anonymous signature set based on the oracle function set to obtain the verification result, a first query queue is first queried based on the data of at least one anonymous signature to obtain a first query result. When the first query result indicates that there is data in the first query queue that is equal to the data of at least one anonymous signature, a second verification result is output. The second verification result indicates that at least one anonymous signature is an unpredictable signature. The first query queue is calculated by a second oracle function and a third oracle function. The second oracle function is a function generated by randomly selecting parameters from the first data set and inputting them into a hash function. The third oracle function is a function generated by randomly selecting parameters from the second data set and inputting them into a hash function. The first data set is a finite cyclic multiplication group, and the second data set is a set of integers.

[0107] Optionally, through, as Figure 4 The traceable signature anonymity checking unit 322 shown executes the signature anonymity checking function Anonymity to verify the anonymity of the signature, with the following steps:

[0108] Input: Given an instance Probabilistic opponent model D;

[0109] Output: Whether the signature verification was successful (True or False).

[0110] Step 1: Signer A selects a random number ;

[0111] Step 2: A Settings And randomly selected ;

[0112] Step 3: A will Enter D;

[0113] Step 4: A randomly selects from G and Extract elements and then use the random oracle D to navigate to D. When a new query is submitted, A then stores a query / response queue. , means as follows:

[0114]

[0115] Step 5: A. Randomly select via D-orac Submit a query and get the results. Therefore, A stores the query / response queue. .

[0116] Step 6: A submits the query through D. Give the oracle At the same time Set to: and ,in Therefore, A randomly selected... ,if Already exists A preferentially selects the stored values. A uses these previously stored values ​​to set... and ,Right now:

[0117] calculate , .

[0118] Furthermore, A simulates the NIZK proof language:

[0119]

[0120] Specifically, the simNIZK function is executed to obtain... ,in , If simNIZK returns true, A returns the value of D. Otherwise, the system will shut down.

[0121] Step 7: If b=0, repeat step 6, and A submits the query through D. Give the oracle Otherwise Set to: and ,in .if Already exists A preferentially selects the stored values. A uses these previously stored values ​​to set... and ,Right now:

[0122] calculate , .

[0123] Furthermore, A simulates the NIZK proof language:

[0124]

[0125] Specifically, the simNIZK function is executed to obtain... ,in , If simNIZK returns true, A returns the value of D. Otherwise, the system will shut down.

[0126] Step 8: If b=1, A submits the query through D. Give the oracle Repeat step 7.

[0127] Step 9: Finally, output D. ,if If A outputs 1, then A will output 1; otherwise, A will randomly select... Output. A's advantage over the DDH anonymity problem is:

[0128]

[0129] It should be noted that in the process of verifying the anonymity of traceable anonymous signatures mentioned above, an anonymity checking algorithm for traceable anonymous signatures on the blockchain is proposed. By providing an adversary probability model, its anonymity can be determined, which improves the execution efficiency of verifying the attribute information of anonymous signatures, thereby improving the execution efficiency of subsequent tracking of target objects.

[0130] In one optional embodiment, during the verification of multiple attribute information of each anonymous signature in the anonymous signature set based on the oracle function set to obtain the verification result, firstly, a second query queue is queried based on the data of at least one anonymous signature to obtain a second query result. When the second query result indicates that there is data in the second query queue that is equal to the data of at least one anonymous signature, a third verification result is output. The third verification result indicates that a second type of signature exists among the at least one anonymous signature, and the second type of signature indicates that the same signature object has signed the same event multiple times. The second query queue is calculated by a first oracle function and a second oracle function. The first oracle function is a function generated by randomly selecting parameters from the first data set and inputting them into a hash function.

[0131] Optionally, through, as Figure 4The traceable signature exception checking unit 323 shown executes the exception checking function Exculpability to verify the exception, and the steps are as follows:

[0132] Step 1: Randomly select ,set up for Random selection for If they have already been recorded In the middle, use the recorded value to set .

[0133] Step 2: Calculation Using the simNIZK algorithm, input Output If the simNIZK proof fails, the system will be shut down.

[0134] Step 3: Return And store the query / response results in a queue. Finally, A outputs... and .

[0135] It should be noted that the above process proves that the same signature object can sign the same event multiple times, thus demonstrating that anonymous signatures have an exception to the rule. In this process, an exception checking algorithm for traceable anonymous signatures on the blockchain is proposed. By providing an adversary probability model, the exception can be determined, improving the execution efficiency of verifying the attribute information of anonymous signatures, thereby improving the execution efficiency of subsequent tracking of the target object.

[0136] In one alternative embodiment, before obtaining the set of anonymous signatures obtained by at least one object signing the event to be signed in the blockchain, an event to be signed is first generated so that at least one object can anonymously sign the event to be signed. Then, the set of data generated during the process of at least one object anonymously signing the event to be signed is obtained, and the set of data is parsed to obtain a data message.

[0137] Optional, Figure 7 This is an optional blockchain traceable anonymous signature oracle system access flowchart according to an embodiment of the present invention. This system can provide users with traceable anonymous signature, signature verification, and traceable authentication services. Figure 7 As shown, the initialization step S600 is performed first: the initialization program GlobalSetup() is started, which is used to execute the GlobalSetup() algorithm to initialize variables, input random security parameters, and output global parameters Params.

[0138] Specifically, such as Figure 5 As shown, in step S40: the authentication node starts the initialization program GlobalSetup(), which is used to execute the GlobalSetup() algorithm to initialize variables and input random security parameters. Output the global parameter Params, that is:

[0139]

[0140] in, Params represent security parameters and are shared with other consensus ledger nodes through the blockchain network.

[0141] Further, step S602 is performed: Signer A initiates a signature of a focus event. In this embodiment, taking a voting event as an example, before obtaining the set of anonymous signatures obtained by at least one object signing the event to be signed in the blockchain, signer A first initiates a signature of a voting event to generate an event to be signed, and the signing group anonymously signs the event to be signed.

[0142] Further, step 603 is performed: the gateway access node generates a traceable anonymous signature data message PM, unpacks it, and sends it to the blockchain node. This involves obtaining the data set generated during the anonymous signing process of at least one object for the event to be signed, parsing the data set, and obtaining the data message.

[0143] Specifically, such as Figure 5 As shown, in step S41: the signer initiates a voting event through the access node, generating data information m. Let m be... The signature is The traceable signature function Sign is represented as:

[0144]

[0145] The traceable anonymous signature algorithm is represented as follows:

[0146] enter: ,

[0147] Output:

[0148] The algorithm steps are as follows:

[0149] Step 1: Randomly select ,set up , ,and ;

[0150] Step 2: Random selection ,set up ;

[0151] Step 3: Settings ,in, ,and ;

[0152] Step 4: Settings They respectively satisfy the following formulas:

[0153]

[0154]

[0155] and return ,in, , .

[0156] Further, proceed to step S42: Let S be a traceable signature, formally represented as: , The blockchain network focus message is represented in the following format:

[0157]

[0158] in, Indicates a traceable tag. This represents a voting event, where q is a prime number, g is the generator of G, pk1...pkn are the signer's public keys, and params are cryptographic security parameters. , , chksum is the check digit.

[0159] It should be noted that by parsing and processing the data set to obtain the data message, an accurate data foundation can be provided for subsequent data message integrity judgment, thereby effectively reducing the risk of anonymous signatures being maliciously tampered with.

[0160] In one optional embodiment, in the process of obtaining an anonymous signature set obtained by signing an event to be signed by at least one object in the blockchain, the integrity of the data message is first judged to obtain a judgment result. If the judgment result indicates that the data message is complete, the event to be signed is signed based on the tag information corresponding to at least one object to obtain an anonymous signature set.

[0161] Optionally, after receiving the data message, step S604 is performed: the blockchain consensus ledger node checks whether the message data integrity is normal. If an anomaly is found, the process exits; otherwise, the next step continues. That is, if the judgment result indicates that the data message is complete, the event to be signed is signed based on the tag information corresponding to at least one object, resulting in an anonymous signature set.

[0162] Further, perform steps S605 and S606: Calculate a1, …, an and b1, …, bn for each i (i < N); execute the Sign() function calculation to perform traceable anonymous signature on the focus event.

[0163] Specifically, execute the traceable signature function Sign to generate a traceable anonymous signature. Let the voting event , and the event label is expressed as: , where issue represents the event serial number, represents the public key of the sender. Then the processing flow of Sign is as follows: First, initialize the security parameter and calculate the hash value of the event label L: , calculate the intermediate variable , where is a random number. Let the signer be i, and calculate , , for any signer, initialize as follows: ; then calculate the traceable signature. Let 's signature be [[ID=SIGNATURE]], and the traceable signature function Sign is expressed as:

[0164]

[0165]

[0166]

[0167] ,

[0168]

[0169]

[0170]

[0171] ;

[0172]

[0173] ​​​​​​​​​​​​​​​​​

[0174]

[0175] and return ,in, , .

[0176] Step 5: Output Traceable signature .

[0177] Furthermore, output a traceable signed message, where S is the traceable signature, formally represented as: , The blockchain network focus message is represented in the following format:

[0178]

[0179] in, Indicates a traceable tag. This represents a voting event, where q is a prime number, g is the generator of G, pk1...pkn are the signer's public keys, and params are cryptographic security parameters. , , chksum is the check digit.

[0180] Before executing the traceable signature function `Sign` to generate a traceable anonymous signature, it is necessary to generate the signer's public and private keys. Specifically, the key generation function `Gen` generates the public and private keys for the wireless sensor network. Let's assume the signer... The public and private keys are Select random numbers Perform the following calculations:

[0181]

[0182] Obtain the public and private keys as , is represented as: , Gen is formally represented as: , where g is a generator of G, and q is a large prime number.

[0183] It should be noted that in the above process, the traceable anonymous signature algorithm is used to sign the event to be signed, so that the resulting anonymous signature contains tag information, making the anonymous signature traceable. At the same time, it maintains the flexibility of the event, without the need for special key sharing or the participation of a third-party notary, effectively reducing the risk of the event to be signed being illegally and repeatedly signed, and thus preventing malicious manipulation within the signing group.

[0184] In one optional embodiment, during the process of verifying each anonymous signature in the anonymous signature set using a preset verification algorithm to obtain the verification result, the smart contract corresponding to the blockchain node is first invoked. Based on the smart contract, a verification command is generated to verify each anonymous signature in the anonymous signature set. Then, based on the verification command, a first anonymous signature and a second anonymous signature are obtained. The first and second anonymous signatures are then compared to obtain a comparison result. If the first and second anonymous signatures have the same tag information, they are determined to be abnormal anonymous signatures, and the public key from the tag information of the first anonymous signature is output. Here, the first and second anonymous signatures are any two anonymous signatures in the anonymous signature set, and the comparison result indicates whether the first and second anonymous signatures have the same tag information.

[0185] Optionally, steps S607 to S612 are performed, wherein steps S607, S610, and S611 are the same as the aforementioned steps S601, S604, and S605, and will not be described in detail here.

[0186] Optionally, before invoking the smart contract corresponding to the blockchain node, step S608 is performed first: Validator B receives the focus event data. Specifically, as follows... Figure 6 As shown, in step S50: Initialize signature verification information. The receiver, i.e., verifier B, receives traceable anonymous signature messages. It then parses the message and generates signature verification information:

[0187]

[0188] Further, steps S609 and S612 are performed: Invocation information is generated, the smart contract provided by the blockchain node is invoked, and signature verification processing is initiated. This involves generating a verification command based on the smart contract to verify the signatures in the anonymous signature set, and executing the chksign() function. Based on the calculation result, the verification result is output as true or false. Specifically, the signature verification function Chksign is executed to verify signature S. The Chksign() signature verification algorithm is as follows:

[0189] enter:

[0190] Output: Whether the signature verification was successful (True or False)

[0191] The algorithm steps are as follows:

[0192] Step 1: Analysis ,for Check if the following relationships hold true:

[0193] (2) (3) ;

[0194] Step 2: Settings , For all ,calculate ;

[0195] Step 3: For ,calculate ;

[0196] Step 4: Verify the following congruence formula:

[0197]

[0198] in, , If the above check is successful, the output will be true, indicating successful signature verification; otherwise, the output will be false, indicating signature verification failure.

[0199] Optionally, steps S613 and S614 have been explained in detail in the preceding process and will not be repeated here. Further, proceed to steps S615 and S616: execute the Tracesign() function, output pk, link, and indep respectively based on the calculation results, and receive verification feedback information. Specifically, as follows... Figure 6 As shown, step S52: Execute the traceable function TraceSign to verify the number of replays, and compare two pairs of tuples using the Tracesign() function. The relationship is whether they share the same tag information L.

[0200] Specifically, the traceable function TraceSign is executed to verify the number of replays, and two pairs of data tuples are randomly obtained. That is, the first anonymous signature and the second anonymous signature, where, , Next, the first anonymous signature and the second anonymous signature are compared, as follows:

[0201] Step 1: Analysis ,set up , , ;

[0202] Step 2: For ,calculate At the same time, calculate ;

[0203] Step 3: Initialization ;for ,if ,set up ;

[0204] Step 4: If the list contains only one element pk, output pk;

[0205] if Output "link";

[0206] if ,or Output "indep"

[0207] Optionally, if the first anonymous signature and the second anonymous signature have the same tag information, that is, if the list has only one element pk, the first anonymous signature and the second anonymous signature are determined to be abnormal anonymous signatures, and the public key in the tag information of the first anonymous signature is output, that is, pk is output, indicating that there is a case where the same signature object signs the same event multiple times.

[0208] Optionally, when the tag information of the first anonymous signature and the second anonymous signature are different, but the event information m in the anonymous signatures is the same, that is... When, that is, if If the first and second anonymous signatures are determined to be normal anonymous signatures, then "link" will be output, indicating that there are different signing objects signing the same event.

[0209] Optionally, when the tag information of the first anonymous signature and the second anonymous signature are different, and the event information m in the anonymous signature is also different, that is, if ,or If the output is "indep", it means that different signature objects sign different events, that is, the two signatures are unrelated.

[0210] It should be noted that by comparing whether the first anonymous signature and the second anonymous signature have the same tag information, abnormal anonymous signatures can be accurately identified without the need for special key sharing. This makes it easier for organizers of signing activities to discover illegal signatures, and enables them to track down the offending parties based on the output public key.

[0211] In one optional embodiment, after determining that the verification result is the target result, the abnormal anonymous signature is tracked based on the public key in the tag information of the first anonymous signature to determine the target object corresponding to the abnormal anonymous signature.

[0212] Optionally, after determining that there is an abnormal anonymous signature in the anonymous signature set during the aforementioned process, that is, after there is an abnormal signature object in the signature group, the target object corresponding to the abnormal anonymous signature can be determined based on the output public key, that is, the corresponding malicious actor can be determined based on the public key.

[0213] It should be noted that by using the public key in the tag information to track abnormal anonymous signatures, the target object corresponding to the abnormal anonymous signature can be identified, which improves the security of the signature and also improves the execution efficiency of tracking the target object.

[0214] Therefore, the technical solution of this invention achieves the goal of discovering abnormal anonymous signatures within a signature group, thereby improving the accuracy of abnormal anonymous signature verification in the blockchain network and solving the technical problem of inaccurate verification of abnormal anonymous signatures in the prior art.

[0215] Example 2

[0216] According to an embodiment of the present invention, a blockchain-based signature processing device is provided, wherein... Figure 8 This is a schematic diagram of an optional blockchain-based signature processing apparatus according to an embodiment of the present invention, such as... Figure 8 As shown, the device includes: an acquisition module 801, used to acquire an anonymous signature set obtained by at least one object signing an event to be signed in the blockchain, wherein the object is any object in the signature group corresponding to the blockchain, the anonymous signature set is a signature set that does not contain the identity information of at least one object, the anonymous signature set consists of multiple anonymous signatures, and the anonymous signature includes at least tag information, the tag information consisting of the public key set of the signature group and the event number corresponding to the event to be signed; an verification module 802, used to verify each anonymous signature in the anonymous signature set using a preset verification algorithm to obtain a verification result, the verification result indicating whether the anonymous signature is an abnormal anonymous signature; a verification module 803, used to verify the preset verification algorithm based on a set of oracle functions to obtain a verification result, wherein the set of oracle functions consists of multiple oracle functions, the multiple oracle functions are functions obtained by setting hash functions based on different input parameters, and the verification result indicates whether the preset verification algorithm has been successfully executed; and a determination module 804, used to determine the verification result as the target result if the verification result indicates that the preset verification algorithm has been successfully executed.

[0217] It should be noted that the above-mentioned acquisition module 801, inspection module 802, verification module 803 and determination module 804 correspond to steps S101 to S104 in the above embodiments. The four modules and the corresponding steps implement the same examples and application scenarios, but are not limited to the content disclosed in the above embodiment 1.

[0218] Optionally, the verification module includes: a first verification module, used to verify multiple attribute information of each anonymous signature in the anonymous signature set based on the oracle function set, and obtain a verification result, wherein the multiple attribute information includes at least connectability, anonymity, and specificity.

[0219] Optionally, the blockchain-based signature processing device further includes: a first determining module, used to determine that the preset verification algorithm has been successfully executed if the verification result indicates that multiple attribute information is normal; and a second determining module, used to determine that the preset verification algorithm has failed to execute if the verification result indicates that multiple attribute information is abnormal.

[0220] Optionally, the first verification module includes: a comparison module, used to randomly obtain multiple anonymous signatures and compare the label information of the multiple anonymous signatures to obtain a comparison result; and a first output module, used to output a first verification result when the comparison result indicates that the label information of the multiple anonymous signatures are all different, wherein the first verification result indicates that there is a first type of signature in the set of anonymous signatures, and the first type of signature indicates that different signature objects sign different events.

[0221] Optionally, the first verification module includes: a first query module, used to query a first query queue based on data with at least one anonymous signature, to obtain a first query result, wherein the first query queue is calculated by a second oracle function and a third oracle function, the second oracle function being a function generated by randomly selecting parameters from a first data set and inputting them into a hash function, the third oracle function being a function generated by randomly selecting parameters from a second data set and inputting them into a hash function, the first data set being a finite cyclic multiplication group, and the second data set being a set of integers; and a second output module, used to output a second verification result when the first query result indicates that there is data in the first query queue that is equal to data with at least one anonymous signature, the second verification result indicating that at least one anonymous signature is an unpredictable signature.

[0222] Optionally, the first verification module includes: a second query module, used to query a second query queue based on data with at least one anonymous signature to obtain a second query result, wherein the second query queue is calculated by a first oracle function and a second oracle function, the first oracle function being a function generated by randomly selecting parameters from a first data set and inputting them into a hash function; and a third output module, used to output a third verification result when the second query result indicates that there is data in the second query queue that is equal to data with at least one anonymous signature, the third verification result indicating that there is a second type of signature among at least one anonymous signature, the second type of signature indicating that the same signature object has signed the same event multiple times.

[0223] Optionally, the blockchain-based signature processing device further includes: a generation module for generating an event to be signed, so that at least one object can anonymously sign the event to be signed; and a first acquisition module for acquiring the data set generated during the anonymous signing process of the event to be signed by at least one object, and parsing the data set to obtain a data message.

[0224] Optionally, the acquisition module includes: a judgment module, used to judge the integrity of the data packet and obtain the judgment result; and a signature module, used to sign the event to be signed based on the tag information corresponding to at least one object, if the judgment result indicates that the data packet is complete, to obtain an anonymous signature set.

[0225] Optionally, the verification module includes: a calling module, used to call the smart contract corresponding to the blockchain node, and generate a verification command based on the smart contract to verify each anonymous signature in the anonymous signature set; a second acquisition module, used to acquire the first anonymous signature and the second anonymous signature based on the verification command, wherein the first anonymous signature and the second anonymous signature are any two anonymous signatures in the anonymous signature set; a first comparison module, used to compare the first anonymous signature and the second anonymous signature to obtain a comparison result, wherein the comparison result indicates whether the first anonymous signature and the second anonymous signature have the same tag information; and a third determination module, used to determine that the first anonymous signature and the second anonymous signature are abnormal anonymous signatures if the first anonymous signature and the second anonymous signature have the same tag information, and output the public key in the tag information of the first anonymous signature.

[0226] Optionally, the blockchain-based signature processing device further includes a tracking module, used to track abnormal anonymous signatures based on the public key in the tag information of the first anonymous signature, and determine the target object corresponding to the abnormal anonymous signature.

[0227] Example 3

[0228] According to another aspect of the present invention, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer-readable storage medium, and the computer program is configured to execute the above-described blockchain-based signature processing method at runtime.

[0229] Example 4

[0230] According to another aspect of the present invention, an electronic device is also provided, wherein, Figure 9 This is a schematic diagram of an optional electronic device according to an embodiment of the present invention, such as... Figure 9As shown, the electronic device includes one or more processors; and a memory for storing one or more programs, which, when executed by one or more processors, enable the one or more processors to run the programs, wherein the programs are configured to execute the aforementioned blockchain-based signature processing method at runtime.

[0231] Example 5

[0232] According to another aspect of the present invention, a computer program product is also provided, including a computer program / instruction that, when executed by a processor, implements the above-described blockchain-based signature processing method.

[0233] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0234] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0235] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.

[0236] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0237] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0238] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0239] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. A blockchain-based signature processing method, characterized in that, include: Obtain an anonymous signature set obtained by signing an event to be signed by at least one object in a blockchain, wherein the object is any object in the signature group corresponding to the blockchain, the anonymous signature set is a signature set that does not contain the identity information of the at least one object, the anonymous signature set consists of multiple anonymous signatures, and the anonymous signature includes at least tag information, the tag information consisting of the public key set of the signature group and the event number corresponding to the event to be signed; A preset verification algorithm is used to verify each anonymous signature in the anonymous signature set to obtain a verification result. The verification result indicates whether the anonymous signature is an abnormal anonymous signature. The verification result is obtained by determining whether each anonymous signature has the same event tag information. The preset verification algorithm is verified based on the set of oracle functions to obtain a verification result. The set of oracle functions consists of multiple oracle functions, which are functions obtained by setting the hash function based on different input parameters. The verification result indicates whether the preset verification algorithm is successfully executed. If the verification result indicates that the preset verification algorithm has been successfully executed, the verification result is determined to be the target result.

2. The method according to claim 1, characterized in that, The preset verification algorithm is verified based on the set of oracle functions to obtain verification results, including: The verification result is obtained by verifying multiple attribute information of each anonymous signature in the anonymous signature set based on the oracle function set, wherein the multiple attribute information includes at least connectability, anonymity, and specificity.

3. The method according to claim 2, characterized in that, The method further includes: If the verification results indicate that the multiple attribute information is normal, it is determined that the preset verification algorithm was executed successfully; If the verification results indicate that the multiple attribute information is abnormal, it is determined that the preset verification algorithm has failed.

4. The method according to claim 2, characterized in that, The verification results are obtained by verifying multiple attribute information of each anonymous signature in the anonymous signature set based on the oracle function set, including: Multiple anonymous signatures are randomly obtained, and the tag information of the multiple anonymous signatures is compared to obtain the comparison result; If the comparison result indicates that the label information of the multiple anonymous signatures are all different, a first verification result is output. The first verification result indicates that there is a first type of signature in the set of anonymous signatures. The first type of signature indicates that different signature objects sign different events.

5. The method according to claim 2, characterized in that, The verification results are obtained by verifying multiple attribute information of each anonymous signature in the anonymous signature set based on the oracle function set, including: The first query queue is queried based on data with at least one anonymous signature to obtain a first query result. The first query queue is calculated by a second oracle function and a third oracle function. The second oracle function is a function generated by randomly selecting parameters from the first data set and inputting them into a hash function. The third oracle function is a function generated by randomly selecting parameters from the second data set and inputting them into a hash function. The first data set is a finite cyclic multiplication group, and the second data set is a set of integers. When the first query result indicates that there is data in the first query queue that is equal to the data of the at least one anonymous signature, a second verification result is output, the second verification result indicating that the at least one anonymous signature is an unpredictable signature.

6. The method according to claim 2, characterized in that, The verification results are obtained by verifying multiple attribute information of each anonymous signature in the anonymous signature set based on the oracle function set, including: The second query queue is queried based on data with at least one anonymous signature to obtain a second query result. The second query queue is calculated by a first oracle function and a second oracle function. The first oracle function is a function generated by randomly selecting parameters from a first data set and inputting them into a hash function. When the second query result indicates that there is data in the second query queue that is equal to the data of the at least one anonymous signature, a third verification result is output. The third verification result indicates that there is a second type of signature among the at least one anonymous signature. The second type of signature indicates that the same signature object has signed the same event multiple times.

7. The method according to claim 1, characterized in that, Before obtaining the set of anonymous signatures obtained by signing events to be signed by at least one object in the blockchain, the method further includes: Generate the event to be signed, so that the at least one object anonymously signs the event to be signed; Obtain the data set generated during the anonymous signing process of the at least one object on the event to be signed, and parse the data set to obtain a data message.

8. The method according to claim 7, characterized in that, Obtain the set of anonymous signatures obtained by signing events to be signed by at least one object in the blockchain, including: The integrity of the data packet is checked to obtain the check result; If the judgment result indicates that the data message is complete, the event to be signed is signed based on the tag information corresponding to the at least one object to obtain the anonymous signature set.

9. The method according to claim 1, characterized in that, Each anonymous signature in the anonymous signature set is examined using a preset verification algorithm to obtain the verification results, including: Invoke the smart contract corresponding to the blockchain node, and generate a verification command based on the smart contract to verify each anonymous signature in the anonymous signature set; The first anonymous signature and the second anonymous signature are obtained based on the verification command, wherein the first anonymous signature and the second anonymous signature are any two anonymous signatures in the anonymous signature set; The first anonymous signature and the second anonymous signature are compared to obtain a comparison result, wherein the comparison result indicates whether the first anonymous signature and the second anonymous signature have the same tag information; If the first anonymous signature and the second anonymous signature have the same tag information, determine that the first anonymous signature and the second anonymous signature are the abnormal anonymous signatures, and output the public key in the tag information of the first anonymous signature.

10. The method according to claim 9, characterized in that, After determining that the test result is the target result, the method further includes: Based on the public key in the tag information of the first anonymous signature, the abnormal anonymous signature is tracked to determine the target object corresponding to the abnormal anonymous signature.

11. A blockchain-based signature processing device, characterized in that, include: The acquisition module is used to acquire an anonymous signature set obtained by signing an event to be signed by at least one object in the blockchain. The object is any object in the signature group corresponding to the blockchain. The anonymous signature set is a signature set that does not contain the identity information of the at least one object. The anonymous signature set consists of multiple anonymous signatures. The anonymous signature includes at least tag information. The tag information consists of the public key set of the signature group and the event number corresponding to the event to be signed. The verification module is used to verify each anonymous signature in the anonymous signature set using a preset verification algorithm to obtain a verification result. The verification result indicates whether the anonymous signature is an abnormal anonymous signature. The verification result is obtained by determining whether each anonymous signature has the same event tag information. The verification module is used to verify the preset verification algorithm based on the oracle function set and obtain the verification result. The oracle function set consists of multiple oracle functions, which are functions obtained by setting the hash function based on different input parameters. The verification result indicates whether the preset verification algorithm has been successfully executed. The determination module is used to determine the verification result as the target result when the verification result indicates that the preset verification algorithm has been successfully executed.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein the computer program is configured to execute the blockchain-based signature processing method according to any one of claims 1 to 10 when it is run.

13. An electronic device, characterized in that, The electronic device includes one or more processors; A memory for storing one or more programs, which, when executed by one or more processors, cause the one or more processors to be configured to run the programs, wherein the programs are configured to execute the blockchain-based signature processing method as described in any one of claims 1 to 10.

14. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the blockchain-based signature processing method as described in any one of claims 1 to 10.

Citation Information

Patent Citations

  • Modifiable reputation evaluation system and method based on block chain, and electronic payment system

    CN107967557A

  • Digital signature and blockchain transaction method and apparatus, and electronic device

    CN111371564A

  • Control method and device for group digital signature

    WO2019174403A1