Method, device, computer equipment and storage medium for anonymous data uploading

By detecting the validity of the registration number and using an anonymous private key signature to anonymously upload data to the chain, the security and efficiency issues caused by the integration of user identity and electronic authentication services are resolved, and efficient and secure anonymous transactions are achieved.

CN116527681BActive Publication Date: 2025-09-16INDUSTRIAL AND COMMERCIAL BANK OF CHINA +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211592419.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-13
Publication Date
2025-09-16
Estimated Expiration
2042-12-13

AI Technical Summary

Technical Problem

The existing anonymous data chain-up method integrates user identity with electronic authentication services, resulting in a decrease in the security of anonymous transactions when the electronic authentication service is hacked. In addition, a new anonymous transaction certificate must be generated for each anonymous transaction, affecting transaction efficiency.

Method used

By checking the validity of the registration number, if it is valid, it uses the anonymous private key to sign and initiate a transaction on-chain request. The blockchain node interacts with the anonymous transaction party and the regulator to verify the identity, generate and manage the registration number and anonymous private key, and avoid generating a new certificate before each transaction, thereby improving transaction efficiency and enhancing security.

Benefits of technology

It improves transaction efficiency and ensures user information security. Even if blockchain nodes, anonymous transaction parties and regulators are attacked maliciously, user identity information will not be leaked, thereby enhancing the security of user identity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116527681B_ABST
    Figure CN116527681B_ABST
Patent Text Reader

Abstract

The present application relates to a method, device, computer equipment, and storage medium for anonymous data chaining. The method includes: if there is a demand for anonymous transaction chaining, then detecting whether the current registration number is valid; if valid, signing the transaction to be chained based on the anonymous private key to obtain a digital signature pair; based on the user's registration number, digital signature pair, and the transaction to be chained, initiating a transaction chaining request to the blockchain network, so that the blockchain node can interact with the anonymous transaction party and the regulator based on the registration number and digital signature pair; after the user's identity is successfully verified, the transaction to be chained is stored on the chain. The use of this method can improve transaction efficiency, and it is necessary to interact with the anonymous transaction party and the regulator based on the registration number and digital signature to verify the identity of the user. Even if any of the blockchain node, the anonymous transaction party, and the regulator is attacked maliciously, it will not cause the leakage of user identity information, and more effectively protect the security of the user's identity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of blockchain technology, and in particular to a method, apparatus, computer equipment, and storage medium for anonymously uploading data to a blockchain. Background Art

[0002] With the development of blockchain technology, anonymous data uploading is gradually emerging.

[0003] Existing methods for anonymously uploading data to blockchains generally integrate electronic authentication services (CA services) with user identities. This allows the user to request an anonymous transaction certificate, which the authentication service generates through hashing using a key and a random number. This anonymous transaction certificate is then used to conduct anonymous transactions on the blockchain. This solution integrates user identity with the authentication service. Once the authentication service is compromised, the security of anonymous transactions on the blockchain is compromised, and a new anonymous transaction certificate must be generated for each anonymous transaction, impacting transaction efficiency. Summary of the Invention

[0004] Based on this, it is necessary to provide a data anonymous chain method, device, computer equipment, computer-readable storage medium and computer program product that can improve transaction efficiency and user information security in response to the above technical problems.

[0005] In a first aspect, this application provides a method for anonymously uploading data to a blockchain. The method comprises:

[0006] If there is a need for anonymous transactions on the blockchain, check whether the current registration number is valid;

[0007] If valid, the transaction on the chain is signed based on the anonymous private key to obtain a digital signature pair;

[0008] Based on the user's registration number, digital signature pair and the transaction to be on-chain, a transaction on-chain request is initiated to the blockchain network, so that the blockchain node can interact with the anonymous transaction party and the regulator based on the registration number and digital signature pair. After the user's identity is successfully verified, the transaction to be on-chain is stored on the chain; among them, the anonymous private key and registration number are generated by the anonymous transaction party based on the regulatory private key sent by the regulator.

[0009] In one embodiment, based on the user's registration number, digital signature pair, and transaction to be uploaded, a transaction upload request is initiated to the blockchain network, including:

[0010] Based on the user's corresponding unified certificate, registration number, digital signature pair and transaction to be on-chain, a transaction on-chain request is initiated to the blockchain network.

[0011] In one embodiment, the method further comprises:

[0012] If it is detected that the current registration number is invalid, a registration random number is generated;

[0013] Based on the registration random number and user information, a registration request is generated and sent to the supervisor. In response to the registration request, the supervisor generates a supervisory private key corresponding to the user information based on the registration random number and sends it to the anonymous transaction party. The anonymous transaction party generates a registration number and an anonymous private key based on the supervisory private key and feeds them back to the user.

[0014] Receive the registration number and anonymous private key fed back by the anonymous party of the transaction.

[0015] In a second aspect, this application provides a method for anonymously uploading data to a blockchain. The method includes:

[0016] In response to a transaction on-chain request initiated by the user, the user's registration number, digital signature pair, and transaction to be on-chain are obtained; the anonymous private key and registration number are generated by the anonymous transaction party based on the supervisory private key sent by the supervisor;

[0017] The user's registration number and digital signature pair are sent to the anonymous transaction party. After the anonymous transaction party verifies the digital signature based on the registration number, it generates a supervisory private key and sends it to the supervisor. The supervisor determines the user information based on the supervisory private key and feeds it back to the blockchain node.

[0018] Authenticate the user based on the user information provided by the regulator;

[0019] If the verification is successful, the transaction to be uploaded will be stored on the chain.

[0020] In one embodiment, in response to a transaction on-chain request initiated by a user, obtaining the user's registration number, digital signature pair, and transaction to be on-chain includes:

[0021] Responding to a transaction on-chain request initiated by the user, obtaining the user's unified certificate, registration number, digital signature pair, and the transaction to be on-chain;

[0022] Accordingly, the user's registration number and digital signature pair are sent to the anonymous party of the transaction, including:

[0023] Verify the user's unified certificate;

[0024] If the verification is successful, the user's registration number and digital signature pair will be sent to the anonymous transaction party.

[0025] In a third aspect, this application provides a method for anonymously uploading data to a blockchain. The method includes:

[0026] Receive the user's registration number and digital signature pair sent by the blockchain node; the registration number and digital signature pair are obtained by the blockchain node in response to the transaction on-chain request initiated by the user;

[0027] According to the registration number, search the local anonymous public key corresponding to the registration number;

[0028] Signature verification of digital signature pairs using anonymous public keys;

[0029] If the verification is successful, a regulatory private key will be generated and sent to the regulator. The regulator will use the regulatory private key to determine the corresponding user information and send it to the blockchain node. The blockchain node will then store the user's pending transactions on the chain after the user's identity is authenticated based on the user information.

[0030] In one embodiment, generating a private custodial key includes:

[0031] Determine the inverse of the private key based on the private key of the anonymous party in the transaction;

[0032] Determine the obfuscation inverse element based on the obfuscation key corresponding to the locally stored registration number;

[0033] The supervisory private key is determined based on the private key inverse, the obfuscated inverse and the anonymous public key.

[0034] In one embodiment, the method further comprises:

[0035] Receive the supervisory private key sent by the supervisor; the supervisory private key is generated by the supervisor based on the registration random number and user information in the registration request sent by the user;

[0036] Generate anonymous private key and anonymous public key based on obfuscation key, transaction anonymous party private key and supervisory private key;

[0037] Determine the registration number based on the anonymous public key;

[0038] Send the registration number and anonymous private key to the user;

[0039] The registration number, obfuscation key, and anonymous public key are stored locally in association.

[0040] In one embodiment, generating an anonymous private key and an anonymous public key based on the obfuscation key, the transaction anonymous party private key, and the supervisory private key includes:

[0041] Generate an anonymous private key based on the obfuscation key, the transaction anonymous party private key and the supervisory private key;

[0042] Based on the anonymous private key, an elliptic curve is used to generate an anonymous public key.

[0043] In one embodiment, the registration number, the obfuscation key, and the anonymous public key are stored locally in association, including:

[0044] Obtain a first encryption identifier from the encryption service provider;

[0045] Based on the first encryption identifier, the registration number, the obfuscation key, and the anonymous public key are encrypted to obtain first encrypted information;

[0046] The first encryption information and the first encryption identifier are associated and stored locally.

[0047] Fourthly, this application provides a method for anonymously uploading data to a blockchain. The method includes:

[0048] Receive the regulatory private key sent by the anonymous party in the transaction; the regulatory private key is generated by the anonymous party in the transaction based on the user's registration number sent by the blockchain node and the digital signature pair is verified; the registration number and digital signature pair are obtained by the blockchain node in response to the transaction on-chain request initiated by the user;

[0049] Determine the supervisory public key based on the supervisory private key;

[0050] Based on the supervisory public key, the user information corresponding to the supervisory public key is searched locally;

[0051] The user information is sent to the blockchain node, so that the blockchain node can store the user's pending transactions on the chain after the user's identity is authenticated based on the user information.

[0052] In one embodiment, the method further comprises:

[0053] Responding to a registration request sent by a user, obtaining a registration random number and user information;

[0054] Generate the supervisory private key and supervisory public key based on the registered random number and the supervisory party’s private key;

[0055] Send the regulatory private key to the anonymous transaction party, so that the anonymous transaction party can generate a registration number and an anonymous private key based on the regulatory private key and send them to the user party;

[0056] The supervisory public key and user information are stored locally in association.

[0057] In one embodiment, generating a supervisory private key and a supervisory public key based on a registration random number and a supervisory private key includes:

[0058] Generate a supervisory private key based on the registration random number and the supervisor's private key;

[0059] Based on the supervisory private key, the supervisory public key is generated using an elliptic curve.

[0060] In one embodiment, locally storing the supervisory public key and user information in association with each other includes:

[0061] Obtain a second encryption identifier from the encryption service provider;

[0062] Encrypting the supervisory public key and the user information based on the second encryption identifier to obtain second encrypted information;

[0063] The second encrypted information and the second encrypted identifier are associated and stored locally.

[0064] In a fifth aspect, the present application also provides a device for anonymously uploading data to a blockchain. The device includes:

[0065] The registration detection module is used to detect whether the current registration number is valid if there is a need for anonymous transaction on the chain;

[0066] The signature module is used to sign the on-chain transaction based on the anonymous private key if it is valid, and obtain a digital signature pair;

[0067] The request sending module is used to initiate a transaction on-chain request to the blockchain network based on the user's registration number, digital signature pair and the transaction to be on-chain, so that the blockchain node can interact with the anonymous transaction party and the regulator based on the registration number and digital signature pair. After the user's identity is successfully verified, the transaction to be on-chain will be stored on the chain; among them, the anonymous private key and registration number are generated by the anonymous transaction party based on the regulatory private key sent by the regulator.

[0068] In a sixth aspect, the present application also provides a device for anonymously uploading data to a blockchain. The device comprises:

[0069] The request response module is used to respond to the transaction on-chain request initiated by the user and obtain the user's registration number, digital signature pair, and the transaction to be on-chain. The anonymous private key and registration number are generated by the anonymous transaction party based on the supervisory private key sent by the supervisor.

[0070] The registration sending module is used to send the user's registration number and digital signature pair to the anonymous transaction party. After the anonymous transaction party verifies the digital signature based on the registration number, it generates a supervision private key and sends it to the supervisor. The supervisor determines the user information based on the supervision private key and feeds it back to the blockchain node.

[0071] The identity verification module is used to verify the identity of the user based on the user information provided by the supervisor;

[0072] The on-chain storage module is used to store the transactions to be on-chain if the verification is passed.

[0073] In a seventh aspect, the present application also provides a device for anonymously uploading data to a blockchain. The device comprises:

[0074] A registration receiving module, configured to receive a user's registration number and digital signature pair sent by a blockchain node; wherein the registration number and digital signature pair are obtained by the blockchain node in response to a transaction on-chain request initiated by the user;

[0075] The public key search module is used to search the anonymous public key corresponding to the registration number locally according to the registration number;

[0076] Signature verification module, used to verify the digital signature pair through anonymous public key;

[0077] The private key generation module is used to generate a regulatory private key if the verification is passed, and send the regulatory private key to the regulator. The regulator then determines the corresponding user information based on the regulatory private key and sends it to the blockchain node. The blockchain node then stores the user's pending transactions on the chain after the user's identity is authenticated based on the user information.

[0078] In an eighth aspect, the present application also provides a device for anonymously uploading data to a blockchain. The device comprises:

[0079] The private key receiving module is used to receive the supervisory private key sent by the anonymous transaction party; the supervisory private key is generated by the anonymous transaction party after verifying the digital signature pair of the user's registration number sent by the blockchain node; the registration number and digital signature pair are obtained by the blockchain node in response to the transaction on-chain request initiated by the user;

[0080] A public key determination module, used to determine the supervisory public key based on the supervisory private key;

[0081] An information search module is used to search for user information corresponding to the supervisory public key locally based on the supervisory public key;

[0082] The information sending module is used to send user information to the blockchain node so that the blockchain node can store the user's pending transactions on the chain after the user's identity is verified based on the user information.

[0083] In a ninth aspect, the present application further provides a computer device. The computer device includes a memory and a processor, the memory stores a computer program, and the processor executes the computer program to implement the method for anonymously uploading data to a blockchain as described in any one of the first to fourth aspects above.

[0084] In a tenth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method for anonymously uploading data to a blockchain as described in any one of the first to fourth aspects.

[0085] In an eleventh aspect, the present application further provides a computer program product, comprising a computer program that, when executed by a processor, implements the method for anonymously uploading data to a blockchain as described in any one of the first to fourth aspects.

[0086] The above-mentioned anonymous data on-chain method, device, computer equipment, and storage medium, if there is a need to anonymously upload a transaction to the blockchain, detects whether the current registration number is valid. If valid, the transaction to be uploaded is signed based on the anonymous private key to obtain a digital signature pair. Based on the user's registration number, the digital signature pair, and the transaction to be uploaded, a transaction upload request is initiated to the blockchain network, so that the blockchain node can interact with the anonymous transaction party and the regulator based on the registration number and the digital signature pair. After the user's identity is successfully verified, the transaction to be uploaded is uploaded and stored on the blockchain. This method determines whether to initiate a transaction to the blockchain based on the validity of the registration number. When initiating a transaction on-chain request based on a pre-generated fixed anonymous private key pair and the registration number, there is no need to generate a registration number and anonymous private key before each transaction is initiated, thereby improving transaction efficiency. At the same time, the user's identity can only be verified by interacting with the anonymous transaction party and the regulator based on the registration number and digital signature. Even if any of the blockchain nodes, the anonymous transaction party, or the regulator is attacked maliciously, the user's identity information will not be leaked, which more effectively protects the security of the user's identity. BRIEF DESCRIPTION OF THE DRAWINGS

[0087] Figure 1 This is a diagram of the application environment of a method for anonymously uploading data to a blockchain provided in this embodiment;

[0088] Figure 2 This is a flowchart of the first method for anonymously uploading data to the blockchain provided in this embodiment;

[0089] Figure 3 A schematic diagram of a registration number generation process provided in this embodiment;

[0090] Figure 4 A schematic diagram of the process of the second method for anonymously uploading data to the blockchain provided in this embodiment;

[0091] Figure 5 A schematic diagram of a process for responding to a transaction on-chain request provided in this embodiment;

[0092] Figure 6 A schematic diagram of the process of the third method for anonymously uploading data to the blockchain provided in this embodiment;

[0093] Figure 7 A schematic diagram of a process for generating a supervisory private key provided in this embodiment;

[0094] Figure 8 A schematic diagram of a process for generating a registration number provided in this embodiment;

[0095] Figure 9 A schematic diagram of the fourth method for anonymously uploading data to the blockchain provided in this embodiment;

[0096] Figure 10A schematic diagram of a process for responding to a registration request provided in this embodiment;

[0097] Figure 11 This is a signaling diagram for the fifth method of anonymous data uploading to the blockchain provided in this embodiment;

[0098] Figure 12 A schematic diagram of a method for anonymously uploading data to a blockchain, provided in this embodiment;

[0099] Figure 13 A structural block diagram of the first device for anonymously uploading data to the blockchain provided by this embodiment;

[0100] Figure 14 This is a structural block diagram of the second device for anonymously uploading data to the blockchain provided in this embodiment;

[0101] Figure 15 This is a structural block diagram of the third device for anonymously uploading data to the blockchain provided in this embodiment;

[0102] Figure 16 This is a structural block diagram of the fourth device for anonymously uploading data to the blockchain provided in this embodiment;

[0103] Figure 17 This is a diagram of the internal structure of a computer device provided in this embodiment. DETAILED DESCRIPTION

[0104] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0105] The data anonymous chaining method provided in the embodiment of the present application can be applied to Figure 1In the application environment shown, the user device 101, blockchain node device 102, anonymous transaction party device 103, and supervisory device 104 can communicate with each other. The user device 101 can be a user terminal or server. Optionally, the user can be an individual or an enterprise, which is not limited in this application. The blockchain node device 102 can be any node device connected to the blockchain network, and can be a terminal or server. The anonymous transaction party device 103 can be a terminal or server of the anonymous transaction party, and the supervisory device 104 can be a terminal or server of the supervisor. Specifically, if the user device 101 requires anonymous transaction upload to the blockchain, the user device 101 checks whether the local current registration number is valid. If so, the user device 101 signs the transaction to be uploaded to the blockchain using the anonymous private key to obtain a digital signature pair. Based on the user's registration number, digital signature pair, and the transaction to be uploaded to the blockchain, the user device 101 initiates a transaction upload request to the blockchain node device 102. The blockchain node device 102 interacts with the anonymous transaction device 103 and the supervisor device 104 based on the received registration number and digital signature pair to verify the identity of the user device 101. If the identity verification is successful, the blockchain node device 102 stores the transaction to be uploaded sent by the user device 101 on the blockchain. The registration number and digital signature pair of the user device 101 are obtained through interaction between the user device 101, the anonymous transaction device 103, and the supervisor device 104. Terminals include, but are not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices include smart speakers, smart TVs, smart air conditioners, and smart car devices. Portable wearable devices include smart watches, smart bracelets, and head-mounted devices. Servers can be implemented as independent servers or as a server cluster consisting of multiple servers.

[0106] In one embodiment, Figure 2 As shown, a data anonymous chain method is provided, which is applied to the scenario where the user device 101 initiates an anonymous transaction chain request to the blockchain network. Figure 1 Taking the user device 101 in FIG. 1 as an example, the following steps are included:

[0107] S201 If there is a need for anonymous transaction on-chain, check whether the current registration number is valid.

[0108] Among them, the demand for anonymous transaction on-chain can be the demand for the user to initiate a transaction on the blockchain with an anonymous identity and store it on-chain.

[0109] The registration number may be identification information representing the identity of the user.

[0110] Optionally, when a user requires anonymous on-chain transactions, the system checks whether a local registration number exists. If no registration number is found, the number is invalid. If a registration number exists, the system further verifies the registration duration. If the registration duration exceeds a preset duration, the number is invalidated; otherwise, the number is valid. It should be noted that in this embodiment, the user's registration number is not permanently valid; each registration number has a certain validity period. If the validity period expires, the user must re-register.

[0111] Optionally, in this embodiment, if it is detected that the current registration number is valid, S202 and subsequent operations are directly executed. If it is detected that the current registration number is invalid, the user needs to initiate a registration request to the supervisor, re-register the registration number, and then execute S202 and subsequent operations.

[0112] If S202 is valid, the on-chain transaction is signed based on the anonymous private key to obtain a digital signature pair.

[0113] The anonymous private key can be a private key used to decrypt user information. This anonymous private key can be generated and provided to the user along with the registration number when the user applies for it. The anonymous private key and registration number are generated by the anonymous transaction party based on the supervisory private key provided by the supervisor and provided to the user.

[0114] The digital signature pair may be a signature pair used to decrypt and obtain an anonymous private key.

[0115] Among them, the transactions to be uploaded to the chain can be transaction data that the user needs to store on the chain.

[0116] Optionally, if the registration number is valid, the user calls a preset signature encryption algorithm based on the anonymous private key to encrypt the transaction to be on the chain and generate a digital signature pair.

[0117] S203 initiates a transaction on-chain request to the blockchain network based on the user's registration number, digital signature pair, and the transaction to be on-chain, so that the blockchain node can interact with the anonymous transaction party and the regulator based on the registration number and digital signature pair. After the user's identity is successfully verified, the transaction to be on-chain is stored on the chain.

[0118] The anonymous party can use it to generate a registration number and an anonymous private key. The supervisor can use it to store user information. The transaction on-chain request can be a request to store the transaction content to be on-chain.

[0119] Optionally, based on the user's registration number, digital signature pair, and the transaction to be uploaded, a transaction upload request is initiated to the blockchain network. In response to the user's transaction upload request, the blockchain node obtains the user's registration number, digital signature pair, and the transaction to be uploaded, and sends the user's registration number and digital signature pair to the anonymous transaction party. After the anonymous transaction party verifies the digital signature based on the registration number, it generates a supervisory private key and sends it to the supervisor. The supervisor determines user information based on the supervisory private key and feeds it back to the blockchain node. Based on the user information fed back by the supervisor, the user's identity is authenticated. If verification is successful, the transaction to be uploaded is uploaded and stored. It should be noted that the process of how the blockchain node interacts with the supervisor and the anonymous transaction party to verify the user's identity will be described in detail in subsequent embodiments.

[0120] Optionally, there are various ways to initiate a transaction upload request to the blockchain network based on the user's registration number, digital signature pair, and the transaction to be uploaded, which are not limited by this application. One optional implementation method may be for the user to utilize the locally stored registration number, the generated digital signature pair, and the content of the transaction to be uploaded to invoke a smart contract to initiate a transaction upload request to the blockchain network. Another optional implementation method may be for the user to initiate a transaction upload request to the blockchain network based on the user's corresponding unified certificate, registration number, digital signature pair, and the transaction to be uploaded. Specifically, the user may invoke a smart contract to initiate a transaction upload request to the blockchain network based on the locally stored registration number and unified certificate, the generated digital signature pair, and the content of the transaction to be uploaded. The unified certificate may be a certificate issued by the blockchain and used by the user to verify the transaction when it is uploaded. It should be noted that different users initiating transaction upload requests to the blockchain network may have the same unified certificate, but different registration numbers and anonymous private keys. The unified certificate can be used to perform preliminary verification of the user's identity, while the registration number and anonymous private key are used for further and more precise verification of the user's identity.

[0121] The above-mentioned anonymous data on-chain method, device, computer equipment, and storage medium, if there is a need to anonymously upload a transaction to the blockchain, detects whether the current registration number is valid. If valid, the transaction to be uploaded is signed based on the anonymous private key to obtain a digital signature pair. Based on the user's registration number, the digital signature pair, and the transaction to be uploaded, a transaction upload request is initiated to the blockchain network, so that the blockchain node can interact with the anonymous transaction party and the regulator based on the registration number and digital signature pair. After the user's identity is successfully verified, the transaction to be uploaded is uploaded and stored on the blockchain. This method determines whether to initiate a transaction to the blockchain based on the validity of the registration number. Based on the pre-generated fixed digital signature pair and the registration number, when initiating a transaction on-chain request, there is no need to generate a registration number and digital signature pair before each transaction is initiated, thereby improving transaction efficiency. At the same time, the user's identity can only be verified by interacting with the anonymous transaction party and the regulator based on the registration number and digital signature. Even if any of the blockchain nodes, the anonymous transaction party, or the regulator is attacked maliciously, the user's identity information will not be leaked, which more effectively protects the security of the user's identity.

[0122] Figure 3 The figure is a flowchart of a registration number generation process in one embodiment. In the embodiment of this application, the existing technology for generating a registration number is that the user sends a registration request, and the anonymous transaction party generates the registration number and feeds it back to the user. This method only stores the registration number and user information by the anonymous transaction party, which is less secure. To ensure the security of the registration number and user information, this embodiment provides an optional method for generating a registration number, including the following steps:

[0123] If it is detected in S301 that the current registration number is invalid, a registration random number is generated.

[0124] The registration random number may be a randomly generated value used to generate a supervisory key.

[0125] Optionally, if the user detects that the registration number is invalid, a registration random number is randomly generated based on a local random number generator.

[0126] S302 generates a registration request based on the registration random number and user information and sends it to the regulator; in response to the registration request, the regulator generates a regulatory private key corresponding to the user information based on the registration random number and sends it to the anonymous transaction party. The anonymous transaction party generates a registration number and an anonymous private key based on the regulatory private key and feeds them back to the user.

[0127] The registration request may be a request for generating a registration number.

[0128] Optionally, the user generates a registration request based on a locally randomly generated registration random number and stored user information, and sends the registration request to the supervisor. In response to the registration request, the supervisor obtains the registration random number and user information, generates a supervisory private key and a supervisory public key based on the registration random number and the supervisor's private key, and sends the supervisory private key to the anonymous transaction party. The anonymous transaction party then generates a registration number and an anonymous private key based on the supervisory private key and sends them to the user. The supervisory public key and user information are then stored locally in association. The specific process of how the supervisor and the anonymous transaction party interact to generate the registration number and anonymous private key will be described in subsequent embodiments.

[0129] S303 receives the registration number and anonymous private key fed back by the anonymous party of the transaction.

[0130] Optionally, the user party connects with the anonymous transaction party through network communication, the anonymous transaction party sends a registration number and an anonymous private key to the user party, and the user party receives the registration number and anonymous private key fed back by the anonymous transaction party.

[0131] In the above registration number generation method, if the current registration number is detected to be invalid, a registration random number is generated. Based on the registration random number and user information, a registration request is generated and sent to the regulator, and the registration number and anonymous private key are received as feedback from the anonymous transaction party. When this method detects that the registration number is invalid, the user generates a registration request based on the registration random number and user information, sends it to the regulator, and then receives the registration number and anonymous private key as feedback from the anonymous transaction party. Compared to existing technologies, user information and registration numbers are stored separately by the regulator and the anonymous transaction party. When either the anonymous transaction party or the regulator is attacked, the registration number cannot be directly obtained through the user information, nor can the user information be directly obtained through the registration number, effectively protecting the security of user information and registration numbers.

[0132] In one embodiment, Figure 4 As shown, a data anonymous chain method is provided, which is applied to the scenario where the blockchain node device 102 responds to the anonymous transaction chain request initiated by the user. Figure 1 Taking the blockchain node device 102 in FIG. 1 as an example, the following steps are included:

[0133] S401 responds to the transaction on-chain request initiated by the user and obtains the user's registration number, digital signature pair and transaction to be on-chain.

[0134] Among them, the anonymous private key and registration number are generated by the anonymous party of the transaction based on the regulatory private key sent by the regulator.

[0135] Optionally, the blockchain network communicates with the user, receives and responds to the user's request to upload a transaction to the blockchain, parses the request, and retrieves the user's registration number, digital signature pair, and transaction to be uploaded from the request. It should be noted that the specific implementation process of a user initiating a request to upload a transaction to the blockchain network has been described in the above embodiment and will not be repeated here.

[0136] S402 sends the user's registration number and digital signature pair to the anonymous transaction party, so that the anonymous transaction party can verify the digital signature based on the registration number, generate a regulatory private key and send it to the regulator. The regulator determines the user information based on the regulatory private key and feeds it back to the blockchain node.

[0137] Optionally, the blockchain network establishes a communication connection with the anonymous transaction party and sends the user's registration number and digital signature pair to the anonymous transaction party. The anonymous transaction party receives the user's registration number and digital signature pair sent by the blockchain node, searches for the anonymous public key corresponding to the registration number locally based on the registration number, and verifies the digital signature pair using the anonymous public key. If the verification is successful, a regulatory private key is generated and sent to the regulator. The regulator determines the user information based on the regulatory private key and feeds it back to the blockchain node.

[0138] S403 performs identity authentication on the user based on the user information fed back by the supervisor.

[0139] Optionally, the blockchain network establishes a communication connection with the regulator and receives user information fed back by the regulator. Based on the user information fed back by the regulator, the blockchain network searches the local pre-set user information list table to see whether the user information fed back by the regulator exists. If so, it proves that the identity authentication is passed and the subsequent S404 operation is executed. Otherwise, the identity authentication fails and the blockchain network refuses the user to store the information on the chain.

[0140] If the verification is passed in S404, the transaction to be put on the chain will be stored on the chain.

[0141] Optionally, when the blockchain network detects that the user information verification is passed, the blockchain network will store the content of the transaction to be on-chain on-chain.

[0142] The aforementioned anonymous data on-chain method responds to a user's request to upload a transaction to the blockchain by obtaining the user's registration number, digital signature pair, and the transaction to be uploaded. The user's registration number and digital signature pair are then sent to the anonymous party. The user's identity is authenticated based on the user information provided by the regulator. If the authentication passes, the transaction to be uploaded is stored on-chain. This method ensures the security of user information by ensuring both the anonymous party and the regulator authenticate the user. Furthermore, compared to existing technologies, the introduction of a regulator and the storage of user information with the regulator further enhances the security of user information.

[0143] Figure 5 The figure is a flowchart of a method for anonymously uploading data to a blockchain. In the embodiments of this application, in the existing technology, when conducting transactions on a blockchain, the blockchain often directly verifies the user's identity. This method is relatively cumbersome and has low transaction efficiency. To ensure transaction efficiency, priority verification of a unified certificate can be introduced. Therefore, this embodiment provides an optional method for anonymously uploading data to a blockchain, including the following steps:

[0144] S501 responds to the transaction chain request initiated by the user and obtains the user's unified certificate, registration number, digital signature pair and transaction to be chained.

[0145] Optionally, if the user initiates a transaction on-chain request based on the local unified certificate, registration number, digital signature pair and transaction to be on-chain, the blockchain network will then establish a communication connection with the user, receive and respond to the transaction on-chain request initiated by the user, parse the transaction on-chain request, and parse and obtain the user's unified certificate, registration number, digital signature pair and transaction to be on-chain from the transaction on-chain request.

[0146] S502 verifies the user's unified certificate.

[0147] Optionally, the blockchain network searches the locally configured certificate table for the received unified certificate. If so, the unified certificate verification passes, and step S503 and subsequent operations are performed. Otherwise, the unified certificate verification fails, and the blockchain network refuses the user from storing the certificate on the blockchain.

[0148] If the verification passes at step S503, the user's registration number and digital signature are sent to the anonymous party. After the anonymous party verifies the digital signature based on the registration number, a supervisory private key is generated and sent to the supervisor. The supervisor then determines the user information based on the supervisory private key and feeds it back to the blockchain node.

[0149] S504 performs identity authentication on the user according to the user information fed back by the supervisor.

[0150] If the verification is passed in S505, the transaction to be put on the chain will be stored on the chain.

[0151] The aforementioned anonymous data on-chain method responds to a transaction on-chain request initiated by a user, obtains the user's unified certificate, registration number, digital signature pair, and the transaction to be on-chain, verifies the user's unified certificate, and if the verification passes, sends the user's registration number and digital signature pair to the anonymous transaction party. Based on the user information provided by the regulator, the user's identity is authenticated. If the verification passes, the transaction to be on-chain is stored on-chain. This method prioritizes verifying the validity of the unified certificate; only after the unified certificate verification passes does the user's identity verification proceed. This reduces the complexity of direct user identity verification and further improves the efficiency of on-chain transactions.

[0152] In one embodiment, Figure 6 As shown, a data anonymous chain method is provided, which is applied to the scenario where the anonymous transaction party device 103 receives the user's registration number and digital signature pair sent by the blockchain node and interacts with the regulator to verify the user's identity. Figure 1 Taking the anonymous transaction party device 103 in FIG. 1 as an example, the following steps are included:

[0153] S601 receives the user's registration number and digital signature pair sent by the blockchain node.

[0154] Among them, the registration number and digital signature pair are obtained by the blockchain node in response to the transaction on-chain request initiated by the user.

[0155] Optionally, the anonymous party of the transaction establishes a communication connection with the blockchain network and receives the user's registration number and digital signature pair sent by the blockchain node.

[0156] It should be noted that the process of a user initiating a transaction on-chain request to the blockchain network, and the blockchain node parsing the registration number and digital signature from the transaction on-chain request and sending them to the anonymous party of the transaction has been introduced in the above embodiment and will not be repeated here.

[0157] S602 searches the local computer for the anonymous public key corresponding to the registration number based on the registration number.

[0158] Optionally, the anonymous party to the transaction searches for the anonymous public key corresponding to the received registration number in a locally configured registration number public key comparison table based on the received registration number. The registration number public key comparison table records the mapping relationship between all registration numbers generated by the anonymous party to their corresponding anonymous public keys.

[0159] S603 performs signature verification on the digital signature pair using the anonymous public key.

[0160] Alternatively, one possible implementation of signature verification using an anonymous public key against a digital signature pair is to input the anonymous public key and digital signature pair into a signature verification algorithm, which then generates a verification result indicating whether the verification has passed. Another possible implementation is for the anonymous party to the transaction to decrypt the digital signature pair using the anonymous public key, obtain a decryption key, and determine whether the decryption key is the anonymous private key corresponding to the anonymous public key. If so, the signature verification has passed; otherwise, the verification has failed.

[0161] If S604 is verified to be successful, a supervisory private key is generated and sent to the supervisor. The supervisor determines the corresponding user information based on the supervisory private key and sends it to the blockchain node. The blockchain node then stores the user's pending transactions on the blockchain after verifying the user's identity based on the user information.

[0162] Optionally, if the anonymous party to the transaction determines that the signature verification is successful, the supervisory private key is calculated based on the anonymous private key through pre-set calculation logic, and the supervisory private key is sent to the supervisor through a network communication connection. The supervisor receives the supervisory private key sent by the anonymous party to the transaction, determines the supervisory public key based on the supervisory private key, and based on the supervisory public key, searches for user information corresponding to the supervisory public key locally, and sends the user information to the blockchain node.

[0163] The above-mentioned anonymous data on-chain method receives the user's registration number and digital signature pair sent by the blockchain node, searches for the anonymous public key corresponding to the registration number locally based on the registration number, and verifies the digital signature pair using the anonymous public key. If the verification is successful, a supervisory private key is generated and sent to the supervisor. This method finds the anonymous public key based on the registration number, further verifies the digital signature pair using the anonymous public key, and generates a supervisory private key. Compared with the existing technology that directly obtains user information based on the verification result of the digital signature pair, the blockchain network requires the anonymous party of the transaction to interact with the supervisor based on the generated supervisory private key before obtaining the corresponding user information from the supervisor and verifying the user's identity. The user information is stored in the supervisor and cannot be directly obtained through the registration number, which further improves the security of user information storage.

[0164] Figure 7 Schematic diagram of the process of generating a supervisory private key. In the embodiment of the present application, if the user identity information is to be verified, a supervisory private key must be generated first. Therefore, this embodiment provides an optional method for generating a supervisory private key, including the following steps:

[0165] S701 determines the inverse of the private key according to the private key of the anonymous party in the transaction.

[0166] The anonymous party's private key may be a private key locally configured by the anonymous party of the transaction.

[0167] Optionally, the anonymous transaction party obtains the inverse element of the private key based on the locally configured private key (ie, the anonymous transaction party private key) through a preset calculation logic, and determines the inverse element as the private key inverse element.

[0168] S702 determines the obfuscation inverse element according to the obfuscation key corresponding to the locally stored registration number.

[0169] The obfuscation key may be a value calculated based on the registration random number and the registration date through a preset calculation logic.

[0170] Optionally, the anonymous transaction party searches a locally configured registration number obfuscation key table for the obfuscation key corresponding to the received registration number. The registration number obfuscation key table contains a mapping between all registration numbers generated by the anonymous transaction party and their corresponding obfuscation keys. Based on the obfuscation key found, the anonymous transaction party calculates the inverse of the obfuscation key using pre-defined calculation logic and determines the inverse as the obfuscation inverse.

[0171] S703 determines the supervisory private key based on the private key inverse, the obfuscated inverse and the anonymous public key.

[0172] Optionally, the anonymous party in the transaction calculates the supervisory private key based on the private key inverse, the obfuscated inverse, and the anonymous public key using a pre-set calculation logic. For example, the calculation formula for the supervisory private key is shown in Formula (1-1).

[0173]

[0174] Among them, d1r1g is the supervisory public key, d1d2r1r2 is the anonymous public key, is the inverse of the private key, It is the confusion inverse element.

[0175] The aforementioned method generates a supervisory private key by determining the private key inverse based on the anonymous transaction party's private key, determining the obfuscated inverse based on the obfuscated key corresponding to the locally stored registration number, and determining the supervisory private key based on the private key inverse, the obfuscated inverse, and the anonymous public key. This method generates a supervisory private key based on the private key inverse, the obfuscated inverse, and the anonymous public key, making the generation of the supervisory private key simple, fast, and more secure.

[0176] Figure 8 This is a flowchart for generating a registration number. In the embodiment of this application, the generation of a registration number affects whether the user can successfully conduct on-chain transactions. To ensure that the user can successfully conduct on-chain transactions, this embodiment provides an optional method for generating a registration number, including the following steps:

[0177] S801 receives the supervisory private key sent by the supervisor.

[0178] Among them, the supervisory private key is generated by the supervisor based on the registration random number and user information in the registration request sent by the user. It should be noted that the process of how the supervisor generates the supervisory private key will be introduced in the subsequent embodiments.

[0179] Optionally, the anonymous party of the transaction establishes a communication connection with the regulator and receives a supervisory private key sent by the regulator.

[0180] S802 generates an anonymous private key and an anonymous public key based on the obfuscation key, the transaction anonymous party private key and the supervisory private key.

[0181] Optionally, an anonymous private key is generated based on the obfuscation key, the transaction anonymous party private key and the supervisory private key, and an anonymous public key is generated based on the anonymous private key using an elliptic curve.

[0182] Specifically, the anonymous transaction party uses a pre-set calculation logic to calculate an anonymous private key based on the obfuscation key, the anonymous transaction party's private key, and the supervisory private key. Then, based on the anonymous private key, the anonymous public key is calculated using a pre-set elliptic curve. For example, the calculation formula for generating the anonymous public key is shown in Formula (1-2).

[0183] Q=kP (1-2)

[0184] Among them, Q is the anonymous public key, k is the anonymous private key, and P is a base point on the elliptic curve.

[0185] S803 determines the registration number based on the anonymous public key.

[0186] Optionally, the anonymous party of the transaction calls a hash function to calculate the anonymous public key to obtain a registration number.

[0187] S804 sends the registration number and anonymous private key to the user.

[0188] Optionally, the anonymous transaction party establishes a communication connection with the user party and sends the calculated registration number and anonymous private key to the user party.

[0189] S805 associates and stores the registration number, obfuscated key, and anonymous public key locally.

[0190] Optionally, there are multiple ways to associate and store the registration number, obfuscation key, and anonymous public key locally, which is not limited in this application. One optional implementation method may be that the anonymous transaction party associates and stores the generated registration number and anonymous public key with the obfuscation key randomly generated by the anonymous transaction party locally. Another optional implementation method may be to obtain a first encryption identifier from the encryption service provider, encrypt the registration number, obfuscation key, and anonymous public key based on the first encryption identifier to obtain first encrypted information, and associate and store the first encrypted information with the first encryption identifier locally. Specifically, the anonymous transaction party obtains the first encryption identifier from the encryption service provider based on the locally configured encryption service mechanism, and encrypts the registration number, obfuscation key, and anonymous public key based on the first encryption identifier to obtain the encrypted registration number, obfuscation key, and anonymous public key, and uses the encrypted registration number, obfuscation key, and anonymous public key as the first encrypted information, and associates and stores the first encrypted information with the first encryption identifier locally. The advantage of this setting is that when the anonymous transaction party is invaded, only the first encrypted identifier and the first encrypted information can be obtained, and the registration number, obfuscation key, and anonymous public key stored by the anonymous transaction party cannot be directly obtained, which further improves the security of information storage in the anonymous transaction party.

[0191] The above-mentioned registration number generation method receives the supervisory private key sent by the supervisor, generates an anonymous private key and an anonymous public key based on the obfuscation key, the anonymous transaction party's private key, and the supervisory private key, determines the registration number based on the anonymous public key, sends the registration number and anonymous private key to the user, and locally associates and stores the registration number, obfuscation key, and anonymous public key. This method generates an anonymous key based on the obfuscation key, the anonymous transaction party's private key, and the supervisory private key, and locally associates and stores the registration number, obfuscation key, and anonymous public key, providing security for subsequent verification of the user's identity. Furthermore, the anonymous transaction party is only used to store the registration number and does not store user information, further enhancing the security of user information.

[0192] In one embodiment, Figure 9 As shown, a data anonymous chain method is provided, which is applied to the scenario where the supervisory device 104 receives the supervisory private key sent by the anonymous transaction party and verifies the user's identity. Figure 1 Taking the supervisor device 104 in FIG. 1 as an example, the following steps are included:

[0193] S901 receives the supervisory private key sent by the anonymous party of the transaction.

[0194] The custodial private key is generated by the anonymous party to the transaction after verifying the digital signature pair sent by the blockchain node based on the user's registration number. The registration number and digital signature pair are obtained by the blockchain node in response to the user's transaction request to be uploaded to the blockchain.

[0195] Optionally, the supervisor establishes a communication connection with the anonymous transaction party and receives a supervisory private key sent by the anonymous transaction party.

[0196] It should be noted that the user initiates a transaction on-chain request to the blockchain network, the blockchain node parses the registration number and digital signature pair from the transaction on-chain request and sends it to the anonymous transaction party, and the anonymous transaction party generates a regulatory private key based on the registration number and digital signature pair and sends it to the regulator. The process has been introduced in the above embodiment and will not be repeated here.

[0197] S902 determines the supervisory public key based on the supervisory private key.

[0198] Optionally, the supervisor can calculate the anonymous public key based on the received anonymous private key using pre-set calculation logic. For example, the supervisor can use an elliptic curve to calculate the anonymous private key to obtain the anonymous public key.

[0199] S903 searches for user information corresponding to the supervisory public key locally based on the supervisory public key.

[0200] Optionally, the supervisor searches for the user information corresponding to the anonymous public key in a locally configured user information table based on the calculated anonymous public key, wherein the user information table records the mapping relationship between the user information and the supervisory public key.

[0201] S904 sends the user information to the blockchain node, so that the blockchain node can store the user's transactions to be put on the chain after the user's identity is authenticated based on the user information.

[0202] Optionally, the regulator establishes a communication connection with the blockchain network and sends the user information to the blockchain node in the blockchain network. The blockchain node verifies the identity of the user based on the received user information. After determining that the user's identity authentication is passed, the user's transactions to be on-chain are stored on-chain.

[0203] The aforementioned anonymous data on-chain method receives a supervisory private key sent by the anonymous transaction party, determines the supervisory public key based on the supervisory private key, and then locally searches for the user information corresponding to the supervisory public key based on the supervisory public key. This user information is then sent to the blockchain node, which then authenticates the user based on the user information and stores the user's pending transactions on-chain. This method requires the supervisor to interact with the anonymous transaction party to obtain the supervisory private key, then determine the supervisory public key based on the supervisory private key, and further determine the user information. The supervisor is only used to store user information, and this information must be obtained through the supervisory key. If either the supervisor or the anonymous transaction party is attacked, the user's identity information cannot be directly obtained by either party alone, further improving the security of user information.

[0204] Figure 10Flowchart of responding to a registration request. In this embodiment of the present application, the accuracy of the supervisory key generation affects whether the registration number can be generated smoothly. To ensure the generation of the registration number, this embodiment provides an optional method for responding to a registration request, including the following steps:

[0205] S1001 responds to the registration request sent by the user and obtains the registration random number and user information.

[0206] Optionally, in this embodiment, when the user detects that the current registration number is invalid, the user generates a registration random number and, based on the generated registration random number and user information, generates a registration request and sends it to the supervisor. The supervisor establishes a communication connection with the user, receives and responds to the registration request sent by the user, and parses the registration random number and user information from the registration request.

[0207] S1002 generates a supervisory private key and a supervisory public key based on the registration random number and the supervisor's private key.

[0208] Optionally, a supervisory private key is generated based on the registration random number and the supervisor's private key, and an elliptic curve is used to generate a supervisory public key based on the supervisory private key. Specifically, the supervisor calculates the supervisory private key based on the random number and the supervisor's private key using a pre-set calculation logic, and then calculates the supervisory public key based on the supervisory private key using a pre-set elliptic curve.

[0209] S1003 sends the supervisory private key to the anonymous transaction party, so that the anonymous transaction party can generate a registration number and an anonymous private key based on the supervisory private key and send them to the user party.

[0210] Optionally, the supervisory party establishes a communication connection with the anonymous transaction party and sends a supervisory private key to the anonymous transaction party. The anonymous transaction party generates a registration number and an anonymous private key based on the received supervisory private key and sends them to the user party.

[0211] S1004 stores the supervisory public key and user information in association locally.

[0212] Optionally, there are multiple ways to associate and store the supervisory public key and user information locally, which is not limited in this application. One optional implementation method may be that the supervisory public key and user information are associated and stored locally. Another optional implementation method may be to obtain a second encryption identifier from the encryption service provider, encrypt the supervisory public key and user information based on the second encryption identifier, obtain second encrypted information, and store the second encrypted information locally in association with the second encryption identifier. The supervisory party obtains the second encryption identifier from the encryption service provider based on the locally configured encryption service mechanism, and encrypts the supervisory public key and user information based on the second encryption identifier to obtain the encrypted supervisory public key and user information, and uses the encrypted supervisory public key and user information as the second encrypted information, and stores the second encrypted information locally in association with the second encryption identifier. It should be noted that the second encryption identifier in this embodiment can be the same as or different from the first encryption identifier in the above embodiment. The advantage of this setting is that when the supervisory party is invaded, only the second encryption identifier and the second encrypted information can be obtained, and the supervisory public key and user information stored by the supervisory party cannot be directly obtained, which further improves the security of information storage in the supervisory party.

[0213] The above-mentioned method for responding to registration requests responds to the registration request sent by the user, obtains the registration random number and user information, generates a supervisory private key and a supervisory public key based on the registration random number and the supervisory party's private key, sends the supervisory private key to the anonymous transaction party, and locally associates and stores the supervisory public key and user information. This method generates a supervisory key based on the registration random number sent by the user and the locally configured supervisory party's private key, and locally associates and stores the supervisory public key and user information, providing protection for subsequent verification of the user's identity. At the same time, the supervisor is only used to store user information. If the user's identity is to be verified, it is also necessary to generate a supervisory private key based on the registration number through the anonymous transaction party, and then send the supervisory private key to the supervisor to obtain user information, further improving the security of user information.

[0214] In one embodiment, this embodiment provides an optional method for anonymously uploading data to the blockchain. Figure 11 As shown, the method includes the following steps:

[0215] S1101 If the user has a need to anonymously upload transactions to the blockchain, then check whether the current registration number is valid. If it is valid, execute step S1102; if not, execute step S1119.

[0216] If S1102 is valid, the user signs the on-chain transaction based on the anonymous private key to obtain a digital signature pair.

[0217] S1103 The user initiates a transaction on-chain request to the blockchain network based on the user's corresponding unified certificate, registration number, digital signature pair and transaction to be on-chain.

[0218] For example, combined Figure 12 As shown in the figure, in order to meet the requirement of anonymous transaction on-chain, the user signs the transaction to be on-chain based on the anonymous private key d1d2r1r2 to obtain a digital signature pair, and then initiates a transaction on-chain request to the blockchain network based on the unified certificate, registration number, the generated digital signature pair and the transaction to be on-chain.

[0219] S1104 The blockchain network responds to the transaction on-chain request initiated by the user and obtains the user's unified certificate, registration number, digital signature pair and transaction to be on-chain.

[0220] The S1105 blockchain network verifies the user's unified certificate.

[0221] If the verification passes at S1106, the blockchain network will send the user's registration number and digital signature pair to the anonymous party of the transaction.

[0222] S1107 The anonymous party of the transaction receives the user's registration number and digital signature pair sent by the blockchain network.

[0223] S1108 The anonymous party of the transaction searches the local area for the anonymous public key corresponding to the registration number based on the registration number.

[0224] S1109 The anonymous party of the transaction verifies the digital signature pair using the anonymous public key.

[0225] If the verification is successful at S1110, the anonymous transaction party determines the inverse of the private key based on the anonymous transaction party's private key.

[0226] S1111 The anonymous party of the transaction determines the obfuscated inverse element based on the obfuscation key corresponding to the registration number stored locally.

[0227] S1112 The anonymous party of the transaction determines the supervisory private key based on the private key inverse, the obfuscated inverse and the anonymous public key, and sends the supervisory private key to the supervisor.

[0228] S1113 The supervisor receives the supervisory private key sent by the anonymous transaction party.

[0229] S1114 The supervisor determines the supervisory public key based on the supervisory private key.

[0230] S1115 The supervisor searches for the user information corresponding to the supervisory public key locally based on the supervisory public key.

[0231] S1116 The supervisor sends the user information to the blockchain network.

[0232] The S1117 blockchain network authenticates the user based on the user information provided by the regulator.

[0233] If S1118 is verified, the blockchain network will store the transaction on the chain.

[0234] S1119 If the user detects that the current registration number is invalid, a registration random number is generated.

[0235] S1120 The user generates a registration request based on the registration random number and user information and sends it to the supervisor.

[0236] For example, combined Figure 12 As shown, the user generates a registration request based on the user information and the registration random number r1, and sends the registration request to the supervisor.

[0237] S1121 The supervisor obtains the registration random number and user information in response to the registration request sent by the user.

[0238] S1122 The supervisor generates a supervisory private key based on the registration random number and the supervisor's private key.

[0239] S1123 The supervisory party generates the supervisory public key using an elliptic curve based on the supervisory private key.

[0240] S1124 The supervisor sends the supervisory private key to the anonymous party of the transaction.

[0241] For example, combined Figure 12 As shown, the regulator parses the registration random number r1 from the registration request based on the received registration request, generates a regulatory private key d1r1 based on the registration random number r1 and the regulator's private key d1, then generates a regulatory public key d1r1g based on the regulatory private key d1r1, and sends the regulatory private key d1r1 to the anonymous transaction party.

[0242] S1125 The supervisor obtains the second encryption identifier from the encryption service provider.

[0243] S1126 The supervisor encrypts the supervisory public key and the user information based on the second encryption identifier to obtain second encrypted information.

[0244] S1127 The supervisor locally associates the second encrypted information with the second encrypted identifier and stores them.

[0245] For example, combined Figure 12 As shown, the supervisor encrypts the user information and the supervisory private key d1r1 using the extended encryption service based on the second encryption identifier to obtain second encrypted information, and locally associates the second encryption identifier with the second encrypted information and stores them.

[0246] S1128 The anonymous party in the transaction receives the supervisory private key sent by the supervisor.

[0247] S1129 The anonymous transaction party generates an anonymous private key based on the obfuscated key, the anonymous transaction party private key and the supervisory private key.

[0248] S1130 The anonymous party of the transaction generates an anonymous public key using an elliptic curve based on the anonymous private key.

[0249] S1131 The anonymous party of the transaction determines the registration number based on the anonymous public key.

[0250] S1132 The anonymous party of the transaction sends the registration number and anonymous private key to the user.

[0251] For example, combined Figure 12 As shown, the anonymous transaction party calculates based on the received regulatory private key d1r1, the locally stored obfuscation key r2, and the anonymous transaction party's private key d2 to obtain the anonymous private key d1d2r1r2, and then calculates based on the anonymous private key d1d2r1r2 to obtain the anonymous public key d1d2r1r2g. The anonymous transaction party then performs a hash calculation based on the anonymous public key d1d2r1r2g to obtain the registration number and sends the anonymous private key d1d2r1r2 to the user.

[0252] S1133 The anonymous transaction party obtains the first encryption identifier from the encryption service provider.

[0253] S1134 The anonymous party of the transaction encrypts the registration number, the obfuscation key, and the anonymous public key based on the first encryption identifier to obtain first encrypted information.

[0254] S1135 The anonymous party to the transaction associates the first encrypted information with the first encrypted identifier and stores them locally.

[0255] For example, combined Figure 12 As shown, the anonymous party of the transaction encrypts the registration number, the obfuscation key r2 and the anonymous public key d1d2r1r2g using the extended encryption service based on the first encryption identifier to obtain the first encrypted information, and associates the first encryption identifier with the first encrypted information and stores it locally.

[0256] S1136 The user receives the registration number and anonymous private key fed back by the anonymous transaction party.

[0257] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence according to the instructions of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above can include multiple steps or multiple stages, and these steps or stages are not necessarily executed and completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of steps or stages in other steps.

[0258] Based on the same inventive concept, the present application also provides an anonymous data on-chain device for implementing the aforementioned anonymous data on-chain method. The solution provided by this device is similar to the solution described in the aforementioned method. Therefore, the specific limitations of one or more embodiments of the anonymous data on-chain device provided below can be found in the limitations of the anonymous data on-chain method described above and will not be repeated here.

[0259] In one embodiment, Figure 12 As shown, a data anonymous chain device 1 is provided, comprising: a registration detection module 10, a signature module 11 and a request sending module 12, wherein:

[0260] The registration detection module 10 is used to detect whether the current registration number is valid if there is a need for anonymous transaction on the blockchain;

[0261] Signature module 11, used to sign the on-chain transaction based on the anonymous private key if it is valid, and obtain a digital signature pair;

[0262] The request sending module 12 is used to initiate a transaction on-chain request to the blockchain network based on the user's registration number, digital signature pair and the transaction to be on-chain, so that the blockchain node can interact with the anonymous transaction party and the regulator based on the registration number and digital signature pair. After the user's identity is successfully verified, the transaction to be on-chain is stored on the chain; among them, the anonymous private key and registration number are generated by the anonymous transaction party based on the supervisory private key sent by the regulator.

[0263] In one embodiment, Figure 13 The request sending module 12 is also used to initiate a transaction chain request to the blockchain network based on the user's corresponding unified certificate, registration number, digital signature pair and transaction to be chained.

[0264] In one embodiment, Figure 13 The data anonymous chain-up device 1 further includes:

[0265] A random number generation module is used to generate a registration random number if it is detected that the current registration number is invalid;

[0266] The registration request sending module is used to generate a registration request based on the registration random number and user information and send it to the regulator. In response to the registration request, the regulator generates a supervision private key corresponding to the user information based on the registration random number and sends it to the anonymous transaction party. The anonymous transaction party generates a registration number and an anonymous private key based on the supervision private key and feeds them back to the user.

[0267] The information feedback module is used to receive the registration number and anonymous private key fed back by the anonymous party of the transaction.

[0268] In one embodiment, Figure 14 As shown, a data anonymous chain device 2 is provided, comprising: a request response module 20, a registration and sending module 21, an identity authentication module 22 and a chain storage module 23, wherein:

[0269] The request response module 20 is used to respond to the transaction on-chain request initiated by the user and obtain the user's registration number, digital signature pair, and the transaction to be on-chain; the anonymous private key and registration number are generated by the anonymous transaction party based on the supervisory private key sent by the supervisor;

[0270] The registration sending module 21 is used to send the user's registration number and digital signature pair to the anonymous transaction party. After the anonymous transaction party verifies the digital signature based on the registration number, it generates a supervision private key and sends it to the supervisor. The supervisor determines the user information based on the supervision private key and feeds it back to the blockchain node.

[0271] The identity verification module 22 is used to verify the identity of the user based on the user information fed back by the supervisor;

[0272] The on-chain storage module 23 is used to store the transaction to be on-chain on-chain if the verification is passed.

[0273] In one embodiment, Figure 14 The request response module 20 is further configured to respond to a transaction on-chain request initiated by a user and obtain the user's unified certificate, registration number, digital signature pair, and transaction to be on-chain;

[0274] Accordingly, Figure 14 The registration and sending module 21 includes:

[0275] The certificate verification unit is used to verify the user's unified certificate;

[0276] The verification passing unit is used to send the user's registration number and digital signature pair to the anonymous transaction party if the verification passes.

[0277] In one embodiment, Figure 15As shown, a data anonymous chain device 3 is provided, including: a registration receiving module 30, a public key search module 31, a signature verification module 32 and a private key generation module 33, wherein:

[0278] A registration receiving module 30 is configured to receive a user's registration number and digital signature pair sent by a blockchain node; wherein the registration number and digital signature pair are obtained by the blockchain node in response to a transaction on-chain request initiated by the user;

[0279] The public key search module 31 is used to search the anonymous public key corresponding to the registration number locally according to the registration number;

[0280] A signature verification module 32 is used to verify the digital signature pair using an anonymous public key;

[0281] The private key generation module 33 is used to generate a regulatory private key if the verification is passed, and send the regulatory private key to the regulator, so that the regulator can determine the corresponding user information based on the regulatory private key and send it to the blockchain node. The blockchain node will store the user's transactions to be on the chain after the user's identity is authenticated based on the user information.

[0282] In one embodiment, Figure 15 The private key generation module 33 in the embodiment includes:

[0283] A private key inverse element determination unit, configured to determine a private key inverse element based on a private key of a transaction anonymous party;

[0284] A confusion inverse element determination unit, configured to determine a confusion inverse element according to a locally stored confusion key corresponding to a registration number;

[0285] The supervisory private key determination unit is used to determine the supervisory private key based on the private key inverse element, the obfuscated inverse element and the anonymous public key.

[0286] In one embodiment, Figure 15 The data anonymous chain device 3 further includes:

[0287] A supervisory private key receiving module, configured to receive a supervisory private key sent by a supervisor; wherein the supervisory private key is generated by the supervisor based on the registration random number and user information in the registration request sent by the user;

[0288] Anonymous key generation module, which generates anonymous private key and anonymous public key based on the obfuscation key, the transaction anonymous party private key and the supervisory private key;

[0289] A registration number determination module, used to determine the registration number based on the anonymous public key;

[0290] The registration information sending module is used to send the registration number and anonymous private key to the user;

[0291] The associated storage module is used to associate and store the registration number, obfuscation key, and anonymous public key locally.

[0292] In one embodiment, the anonymous key generation module in the above embodiment further includes:

[0293] An anonymous private key generation unit, used to generate an anonymous private key based on the obfuscation key, the transaction anonymous party private key and the supervisory private key;

[0294] The anonymous public key generation unit is used to generate an anonymous public key based on the anonymous private key using an elliptic curve.

[0295] In one embodiment, the associated storage module in the above embodiment further includes:

[0296] An encryption identifier acquisition unit, configured to acquire a first encryption identifier from an encryption service provider;

[0297] An encryption information acquisition unit, configured to encrypt the registration number, the obfuscation key, and the anonymous public key based on the first encryption identifier to obtain first encrypted information;

[0298] The associated storage unit is used to locally associate and store the first encryption information with the first encryption identifier.

[0299] In one embodiment, Figure 16 As shown, a data anonymous chain device 4 is provided, comprising: a private key receiving module 40, a public key determination module 41, an information search module 42 and an information sending module 43, wherein:

[0300] The private key receiving module 40 is used to receive the supervisory private key sent by the anonymous transaction party; the supervisory private key is generated by the anonymous transaction party after verifying the digital signature pair of the user's registration number sent by the blockchain node; the registration number and digital signature pair are obtained by the blockchain node in response to the transaction on-chain request initiated by the user;

[0301] The public key determination module 41 is used to determine the supervisory public key based on the supervisory private key;

[0302] An information search module 42 is used to search for user information corresponding to the supervisory public key locally based on the supervisory public key;

[0303] The information sending module 43 is used to send user information to the blockchain node, so that the blockchain node can store the user's transactions to be on the chain after the user's identity is verified based on the user information.

[0304] In one embodiment, a device 4 for anonymously uploading data to a blockchain is provided, further comprising:

[0305] A registration information acquisition module, configured to obtain a registration random number and user information in response to a registration request sent by a user;

[0306] A supervisory key generation module is used to generate a supervisory private key and a supervisory public key based on a registered random number and a supervisory private key;

[0307] The supervisory private key sending module is used to send the supervisory private key to the anonymous transaction party, so that the anonymous transaction party can generate a registration number and an anonymous private key based on the supervisory private key and send them to the user party;

[0308] The associated storage module is used to associate and store the supervisory public key and user information locally.

[0309] In one embodiment, the supervisory key generation module in the above embodiment further includes:

[0310] A supervisory private key generation unit, configured to generate a supervisory private key based on a registration random number and a supervisory party private key;

[0311] The supervisory public key generation unit is used to generate a supervisory public key based on the supervisory private key using an elliptic curve.

[0312] In one embodiment, the associated storage module in the above embodiment includes:

[0313] An encryption identifier acquisition unit, configured to acquire a second encryption identifier from an encryption service provider;

[0314] an encryption information acquisition unit, configured to encrypt the supervisory public key and the user information based on the second encryption identifier to obtain second encrypted information;

[0315] The associated storage unit is used to locally associate and store the second encryption information with the second encryption identifier.

[0316] Each module in the aforementioned data anonymous upload device can be implemented in whole or in part through software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a computer device's memory in the form of software, so that the processor can call and execute the corresponding operations of each module.

[0317] In one embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as follows: Figure 17As shown. The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The processor, memory and input / output interface are connected via a system bus, and the communication interface, display unit and input device are connected to the system bus via the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be achieved through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a method for anonymously uploading data to the chain is implemented. The display unit of the computer device is used to form a visually visible image, which can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device casing, or an external keyboard, touchpad or mouse.

[0318] Those skilled in the art will understand that Figure 17 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0319] In one embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:

[0320] If there is a need for anonymous transactions on the blockchain, check whether the current registration number is valid;

[0321] If valid, the transaction on the chain is signed based on the anonymous private key to obtain a digital signature pair;

[0322] Based on the user's registration number, digital signature pair and the transaction to be on-chain, a transaction on-chain request is initiated to the blockchain network, so that the blockchain node can interact with the anonymous transaction party and the regulator based on the registration number and digital signature pair. After the user's identity is successfully verified, the transaction to be on-chain is stored on the chain; among them, the anonymous private key and registration number are generated by the anonymous transaction party based on the regulatory private key sent by the regulator.

[0323] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0324] Based on the user's corresponding unified certificate, registration number, digital signature pair and transaction to be on-chain, a transaction on-chain request is initiated to the blockchain network.

[0325] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0326] If it is detected that the current registration number is invalid, a registration random number is generated;

[0327] Based on the registration random number and user information, a registration request is generated and sent to the supervisor. In response to the registration request, the supervisor generates a supervisory private key corresponding to the user information based on the registration random number and sends it to the anonymous transaction party. The anonymous transaction party generates a registration number and an anonymous private key based on the supervisory private key and feeds them back to the user.

[0328] Receive the registration number and anonymous private key fed back by the anonymous party of the transaction.

[0329] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0330] In response to a transaction on-chain request initiated by the user, the user's registration number, digital signature pair, and transaction to be on-chain are obtained; the anonymous private key and registration number are generated by the anonymous transaction party based on the supervisory private key sent by the supervisor;

[0331] The user's registration number and digital signature pair are sent to the anonymous transaction party. After the anonymous transaction party verifies the digital signature based on the registration number, it generates a supervisory private key and sends it to the supervisor. The supervisor determines the user information based on the supervisory private key and feeds it back to the blockchain node.

[0332] Authenticate the user based on the user information provided by the regulator;

[0333] If the verification is successful, the transaction to be uploaded will be stored on the chain.

[0334] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0335] Responding to a transaction on-chain request initiated by the user, obtaining the user's unified certificate, registration number, digital signature pair, and the transaction to be on-chain;

[0336] Accordingly, the user's registration number and digital signature pair are sent to the anonymous party of the transaction, including:

[0337] Verify the user's unified certificate;

[0338] If the verification is successful, the user's registration number and digital signature pair will be sent to the anonymous transaction party.

[0339] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0340] Receive the user's registration number and digital signature pair sent by the blockchain node; the registration number and digital signature pair are obtained by the blockchain node in response to the transaction on-chain request initiated by the user;

[0341] According to the registration number, search the local anonymous public key corresponding to the registration number;

[0342] Signature verification of digital signature pairs using anonymous public keys;

[0343] If the verification is successful, a regulatory private key will be generated and sent to the regulator. The regulator will use the regulatory private key to determine the corresponding user information and send it to the blockchain node. The blockchain node will then store the user's pending transactions on the chain after the user's identity is authenticated based on the user information.

[0344] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0345] Determine the inverse of the private key based on the private key of the anonymous party in the transaction;

[0346] Determine the obfuscation inverse element based on the obfuscation key corresponding to the locally stored registration number;

[0347] The supervisory private key is determined based on the private key inverse, the obfuscated inverse and the anonymous public key.

[0348] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0349] Receive the supervisory private key sent by the supervisor; the supervisory private key is generated by the supervisor based on the registration random number and user information in the registration request sent by the user;

[0350] Generate anonymous private key and anonymous public key based on obfuscation key, transaction anonymous party private key and supervisory private key;

[0351] Determine the registration number based on the anonymous public key;

[0352] Send the registration number and anonymous private key to the user;

[0353] The registration number, obfuscation key, and anonymous public key are stored locally in association.

[0354] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0355] Generate an anonymous private key based on the obfuscation key, the transaction anonymous party private key and the supervisory private key;

[0356] Based on the anonymous private key, an elliptic curve is used to generate an anonymous public key.

[0357] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0358] Obtain a first encryption identifier from the encryption service provider;

[0359] Based on the first encryption identifier, the registration number, the obfuscation key, and the anonymous public key are encrypted to obtain first encrypted information;

[0360] The first encryption information and the first encryption identifier are associated and stored locally.

[0361] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0362] Receive the regulatory private key sent by the anonymous party in the transaction; the regulatory private key is generated by the anonymous party in the transaction based on the user's registration number sent by the blockchain node and the digital signature pair is verified; the registration number and digital signature pair are obtained by the blockchain node in response to the transaction on-chain request initiated by the user;

[0363] Determine the supervisory public key based on the supervisory private key;

[0364] Based on the supervisory public key, the user information corresponding to the supervisory public key is searched locally;

[0365] The user information is sent to the blockchain node, so that the blockchain node can store the user's pending transactions on the chain after the user's identity is authenticated based on the user information.

[0366] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0367] Responding to a registration request sent by a user, obtaining a registration random number and user information;

[0368] Generate the supervisory private key and supervisory public key based on the registered random number and the supervisory party’s private key;

[0369] Send the regulatory private key to the anonymous transaction party, so that the anonymous transaction party can generate a registration number and an anonymous private key based on the regulatory private key and send them to the user party;

[0370] The supervisory public key and user information are stored locally in association.

[0371] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0372] Generate a supervisory private key based on the registration random number and the supervisor's private key;

[0373] Based on the supervisory private key, the supervisory public key is generated using an elliptic curve.

[0374] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:

[0375] Obtain a second encryption identifier from the encryption service provider;

[0376] Encrypting the supervisory public key and the user information based on the second encryption identifier to obtain second encrypted information;

[0377] The second encrypted information and the second encrypted identifier are associated and stored locally.

[0378] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:

[0379] If there is a need for anonymous transactions on the blockchain, check whether the current registration number is valid;

[0380] If valid, the transaction on the chain is signed based on the anonymous private key to obtain a digital signature pair;

[0381] Based on the user's registration number, digital signature pair and the transaction to be on-chain, a transaction on-chain request is initiated to the blockchain network, so that the blockchain node can interact with the anonymous transaction party and the regulator based on the registration number and digital signature pair. After the user's identity is successfully verified, the transaction to be on-chain is stored on the chain; among them, the anonymous private key and registration number are generated by the anonymous transaction party based on the regulatory private key sent by the regulator.

[0382] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps:

[0383] If there is a need for anonymous transactions on the blockchain, check whether the current registration number is valid;

[0384] If valid, the transaction on the chain is signed based on the anonymous private key to obtain a digital signature pair;

[0385] Based on the user's registration number, digital signature pair and the transaction to be on-chain, a transaction on-chain request is initiated to the blockchain network, so that the blockchain node can interact with the anonymous transaction party and the regulator based on the registration number and digital signature pair. After the user's identity is successfully verified, the transaction to be on-chain is stored on the chain; among them, the anonymous private key and registration number are generated by the anonymous transaction party based on the regulatory private key sent by the regulator.

[0386] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions.

[0387] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processor involved in the various embodiments provided herein may be, but are not limited to, a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, and the like.

[0388] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0389] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.

Claims

1. A method for anonymously uploading user data to a blockchain, characterized in that: The method comprises: If there is a need for anonymous transactions on the blockchain, check whether the current registration number is valid; If valid, the transaction on the chain is signed based on the anonymous private key to obtain a digital signature pair; Based on the user's registration number, digital signature pair, and the transaction to be on-chain, a transaction on-chain request is initiated to the blockchain network, so that the blockchain node interacts with the anonymous transaction party and the regulator based on the registration number and digital signature pair. After successfully verifying the user's identity, the transaction to be on-chain is stored on-chain; wherein the anonymous private key and the registration number are generated by the anonymous transaction party based on the supervisory private key sent by the regulator; The method further includes: sending the user's registration number and digital signature pair to the anonymous transaction party, so that the anonymous transaction party verifies the digital signature pair based on the registration number, generates a supervisory private key and sends it to the supervisor, and the supervisor determines user information based on the supervisory private key and feeds it back to the blockchain node; The user's identity is authenticated based on the user information fed back by the supervisor.

2. The method according to claim 1, characterized in that The method of initiating a transaction on-chain request to the blockchain network based on the user's registration number, digital signature pair, and transaction to be on-chain includes: Based on the unified certificate corresponding to the user, the registration number, the digital signature pair and the transaction to be on-chain, a transaction on-chain request is initiated to the blockchain network.

3. The method according to claim 1 or 2, characterized in that The method further comprises: If it is detected that the current registration number is invalid, a registration random number is generated; A registration request is generated based on the registration random number and user information and sent to the supervisor. In response to the registration request, the supervisor generates a supervisory private key corresponding to the user information based on the registration random number and sends it to the anonymous transaction party. The anonymous transaction party generates a registration number and an anonymous private key based on the supervisory private key and feeds them back to the user. Receive the registration number and anonymous private key fed back by the anonymous party of the transaction.

4. A method for anonymously uploading data to a blockchain node, characterized in that: The method comprises: In response to a transaction on-chain request initiated by a user, obtain the user's registration number, digital signature pair, and the transaction to be on-chain; wherein the anonymous private key and the registration number are generated by the anonymous transaction party based on the supervisory private key sent by the supervisor; The user's registration number and digital signature pair are sent to the anonymous transaction party. After the anonymous transaction party verifies the digital signature pair based on the registration number, it generates a supervisory private key and sends it to the supervisor. The supervisor determines the user information based on the supervisory private key and feeds it back to the blockchain node. The digital signature pair is obtained by the user signing the transaction to be on the chain based on the anonymous private key. authenticating the user based on the user information fed back by the supervisor; If the verification is successful, the transaction to be on-chain will be stored on-chain.

5. The method according to claim 4, characterized in that The step of obtaining the user's registration number, digital signature pair, and transaction to be uploaded to the blockchain in response to the user's request to upload the transaction to the blockchain includes: In response to a transaction on-chain request initiated by a user, obtain the user's unified certificate, registration number, digital signature pair, and the transaction to be on-chain; Accordingly, the user's registration number and digital signature pair are sent to the anonymous transaction party, including: The user's unified certificate is verified; if the verification passes, the user's registration number and digital signature pair are sent to the anonymous transaction party.

6. A method for anonymously uploading data to a blockchain for anonymous parties in transactions, characterized in that: The method comprises: Receiving a user's registration number and digital signature pair sent by a blockchain node; wherein the registration number and digital signature pair are obtained by the blockchain node in response to a transaction on-chain request initiated by the user; the digital signature pair is obtained by the user signing the transaction to be on-chain using an anonymous private key; the anonymous private key and registration number are generated by the anonymous party to the transaction based on the supervisory private key sent by the supervisor; According to the registration number, searching locally for the anonymous public key corresponding to the registration number; and verifying the digital signature pair using the anonymous public key; If the verification is successful, a regulatory private key is generated and sent to the regulator, so that the regulator can determine the corresponding user information based on the regulatory private key and send it to the blockchain node. The blockchain node will authenticate the user's identity based on the user information and store the user's transactions on the chain.

7. The method according to claim 6, characterized in that Generate a supervisory private key, including: Determine the inverse of the private key based on the private key of the anonymous party in the transaction; Determining an obfuscation inverse element according to the obfuscation key corresponding to the registration number stored locally; A supervisory private key is determined based on the private key inverse, the obfuscated inverse, and the anonymous public key.

8. The method according to claim 6 or 7, characterized in that The method further comprises: Receive a supervisory private key sent by the supervisor; wherein the supervisory private key is generated by the supervisor based on the registration random number and user information in the registration request sent by the user; Generate an anonymous private key and an anonymous public key based on the obfuscation key, the transaction anonymous party private key and the supervisory private key; Determine the registration number based on the anonymous public key; Sending the registration number and the anonymous private key to the user; The registration number, the obfuscation key, and the anonymous public key are stored locally in association.

9. The method according to claim 8, characterized in that The generating of an anonymous private key and an anonymous public key according to the obfuscation key, the transaction anonymous party private key and the supervisory private key includes: Generate an anonymous private key based on the obfuscation key, the transaction anonymous party private key and the supervisory private key; An anonymous public key is generated based on the anonymous private key using an elliptic curve.

10. The method according to claim 8, characterized in that The registration number, the obfuscation key, and the anonymous public key are stored in association locally, including: Obtain a first encryption identifier from the encryption service provider; Encrypting the registration number, the obfuscation key, and the anonymous public key based on the first encryption identifier to obtain first encrypted information; The first encryption information and the first encryption identifier are associated and stored locally.

11. A method for anonymously uploading data to a blockchain for a supervisor, characterized in that: The method comprises: Receive the regulatory private key sent by the anonymous transaction party; the regulatory private key is generated by the anonymous transaction party after verifying the digital signature pair based on the user's registration number sent by the blockchain node; the registration number and the digital signature pair are obtained by the blockchain node in response to the transaction on-chain request initiated by the user; the digital signature pair is obtained by the user party signing the transaction to be on-chain based on the anonymous private key; the anonymous private key and the registration number are generated by the anonymous transaction party based on the regulatory private key sent by the regulator; Determining a supervisory public key based on the supervisory private key; Based on the supervisory public key, searching locally for user information corresponding to the supervisory public key; The user information is sent to the blockchain node, so that the blockchain node can store the user's transactions to be on-chain after the user's identity is authenticated based on the user information.

12. The method according to claim 11, characterized in that The method further comprises: Responding to a registration request sent by a user, obtaining a registration random number and user information; Generate a supervisory private key and a supervisory public key based on the registration random number and the supervisory party's private key; Send the regulatory private key to the anonymous transaction party, so that the anonymous transaction party can generate a registration number and an anonymous private key based on the regulatory private key and send them to the user party; The supervisory public key and the user information are associated and stored locally.

13. The method according to claim 12, characterized in that The generating of a supervisory private key and a supervisory public key according to the registration random number and the supervisory party private key includes: Generate a supervisory private key based on the registration random number and the supervisor's private key; The supervisory public key is generated based on the supervisory private key using an elliptic curve.

14. The method according to claim 13, characterized in that The locally associating and storing the supervisory public key and the user information includes: Obtain a second encryption identifier from the encryption service provider; Encrypting the supervisory public key and the user information based on the second encryption identifier to obtain second encrypted information; The second encryption information and the second encryption identifier are associated and stored locally.

15. A device for anonymously uploading data to a blockchain for a user, characterized in that: The device comprises: The registration detection module is used to detect whether the current registration number is valid if there is a need for anonymous transaction on the chain; The signature module is used to sign the on-chain transaction based on the anonymous private key if it is valid, and obtain a digital signature pair; A request sending module is configured to initiate a transaction on-chain request to the blockchain network based on the user's registration number, digital signature pair, and the transaction to be on-chained, so that the blockchain node can interact with the anonymous transaction party and the regulator based on the registration number and digital signature pair, and store the transaction to be on-chain on-chain after successfully verifying the user's identity. The anonymous private key and the registration number are generated by the anonymous transaction party based on the supervisory private key sent by the regulator. The device also includes: a sending module, used to send the user's registration number and digital signature pair to the anonymous transaction party, so that the anonymous transaction party can verify the digital signature pair based on the registration number, generate a supervision private key and send it to the supervisor, and the supervisor determines the user information based on the supervision private key and feeds it back to the blockchain node; a verification module, used to authenticate the user based on the user information fed back by the supervisor.

16. A data anonymous on-chain device applied to a blockchain node, characterized in that: The device comprises: A request response module, configured to respond to a transaction on-chain request initiated by a user and obtain the user's registration number, digital signature pair, and transaction to be on-chain; wherein the anonymous private key and the registration number are generated by the anonymous transaction party based on the supervisory private key sent by the supervisor; the digital signature pair is obtained by the user signing the transaction to be on-chain based on the anonymous private key; the anonymous private key and the registration number are generated by the anonymous transaction party based on the supervisory private key sent by the supervisor; A registration sending module, configured to send the user's registration number and digital signature pair to the anonymous transaction party, so that the anonymous transaction party can verify the digital signature based on the registration number, generate a supervision private key and send it to the supervisor, and the supervisor determines the user information based on the supervision private key and feeds it back to the blockchain node; An identity verification module, configured to verify the identity of the user based on the user information fed back by the supervisor; The on-chain storage module is used to store the transaction to be on-chain on-chain if the verification is passed.

17. A device for anonymously uploading data to a blockchain for anonymous parties in transactions, characterized in that: The device comprises: A registration receiving module, configured to receive a user's registration number and digital signature pair sent by a blockchain node; wherein the registration number and digital signature pair are obtained by the blockchain node in response to a transaction on-chain request initiated by the user; the digital signature pair is obtained by the user signing the transaction to be on-chain using an anonymous private key; the anonymous private key and registration number are generated by the anonymous transaction party based on the supervisory private key sent by the supervisor; A public key search module, configured to search locally for an anonymous public key corresponding to the registration number according to the registration number; A signature verification module, configured to perform signature verification on the digital signature pair using the anonymous public key; The private key generation module is used to generate a regulatory private key if the verification is passed, and send the regulatory private key to the regulator, so that the regulator can determine the corresponding user information based on the regulatory private key and send it to the blockchain node. The blockchain node will store the user's transactions to be on the chain after the user's identity is authenticated based on the user information.

18. A device for anonymously uploading data to a blockchain for a supervisor, characterized in that: The device comprises: A private key receiving module is configured to receive a supervisory private key sent by an anonymous transaction party; the supervisory private key is generated by the anonymous transaction party after verifying the digital signature pair based on the user's registration number sent by the blockchain node; the registration number and the digital signature pair are obtained by the blockchain node in response to the transaction on-chain request initiated by the user; the digital signature pair is obtained by the user signing the transaction to be on-chain based on the anonymous private key; the anonymous private key and the registration number are generated by the anonymous transaction party based on the supervisory private key sent by the supervisor; A public key determination module, configured to determine a supervisory public key based on the supervisory private key; An information search module, configured to search locally for user information corresponding to the supervisory public key based on the supervisory public key; The information sending module is used to send the user information to the blockchain node, so that the blockchain node can store the user's transactions to be on the chain after the user's identity is authenticated based on the user information.

19. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 14 are implemented.

20. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 14 are implemented.

21. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 14 are implemented.

Citation Information

Patent Citations

  • Data processing method, terminal, node, system, electronic equipment and storage medium

    CN113177048A

  • Alliance chain identity privacy protection and supervision method based on ring signature

    CN113935065A