A blockchain identity privacy protection system
By using technical means such as key generation, anonymous certificates and one-time public keys in the blockchain identity privacy protection system, privacy protection in blockchain technology is solved, privacy protection of transaction information and offline identification of supervision is realized, and the need for "controllable anonymity" is met.
Patent Information
- Application Number
- CN202411834423.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-13
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2044-12-13
AI Technical Summary
When blockchain technology provides transparency and immutability, there are privacy protection issues, making it difficult to prove the legitimacy of the transaction without revealing transaction details.
A blockchain identity privacy protection system was designed, and the user generated a key by itself, the authentication center verified the identity and generated anonymous certificate. The transaction party used a one-time public key and regulatory cipher text during transactions, and combined with zero-knowledge proof technology to achieve privacy protection of transaction information and offline identification of supervision.
On the basis of ensuring the confidentiality of the identity of the transaction participant, the regulator has realized offline identification of the transaction party's true identity when necessary, meeting the regulatory needs of "controllable anonymity", and reducing computing resources and time through quantum-resistant zero-knowledge proof technology.
Smart Images

Figure CN119316152B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of identity privacy protection, and in particular to a blockchain identity privacy protection system. Background Art
[0002] Blockchain technology is a distributed ledger-based architecture that contains a series of continuously growing record units, namely blocks. These blocks are securely linked together through powerful cryptographic methods. Each block not only stores transaction data, but also includes the timestamp of the generation time and the hash value of the previous block, which makes the data in the blockchain fixed and tamper-proof. Once the data is recorded in a block and the block is distributed to each participating node of the blockchain network, modifying the data in any block will require recalculating the hash value of the block and all subsequent blocks, which is not feasible in practice.
[0003] The core features of blockchain include decentralization, data immutability and traceability, making it extremely effective in building trust relationships between network nodes. These features have enabled blockchain to demonstrate great application potential in multiple industries, such as insurance, healthcare, supply chain management, etc. Blockchain technology is revolutionizing traditional operating processes and enhancing data security and transparency.
[0004] Privacy protection is a key issue in blockchain and distributed ledger technology. The algorithm can prove the legitimacy of transactions without revealing transaction details, thereby enhancing the privacy and security of the blockchain system. Although blockchain technology is praised for its transparency and immutability, this fully public ledger model also brings obvious privacy issues. Summary of the invention
[0005] The purpose of the present invention is to provide a blockchain identity privacy protection system in view of the deficiencies in the prior art.
[0006] To achieve the above objectives, the present invention provides a blockchain identity privacy protection system, comprising:
[0007] Users, including a receiver and a sender, each of which generates a key by itself and submits a real-name authentication request to the authentication center using a public key in the key;
[0008] The authentication center is used to verify the identity of the user according to the real-name authentication request sent by the user, and after verifying the identity of the user, generate an anonymous certificate based on the public key in the key, and then send the corresponding relationship between the user's public key and the real identity information to the supervisor;
[0009] The receiver is used to provide the sender with its anonymous certificate when a specific transaction occurs. The sender is used to provide the necessary information for the transaction and use its public key to generate the sender's one-time public key, and select a trusted regulator. The necessary information for the transaction includes the sender's public key, transaction amount and timestamp. The sender extracts the receiver's public key from the receiver's anonymous certificate and generates the receiver's one-time public key based on the receiver's public key. The regulator also generates a regulatory key and discloses the public key in the regulatory key to the blockchain platform. The sender obtains the public key in the regulatory key from the blockchain platform and uses the public key in the regulatory key to generate a regulatory ciphertext, and then generates transaction information based on the necessary information for the transaction, the sender's and receiver's one-time public keys and the regulatory ciphertext.
[0010] The transaction verifier verifies the legitimacy of the transaction information, the correctness of the regulatory ciphertext, and whether the public key of the regulator is correctly used to encrypt the public keys of the sender and the receiver. After the verification is passed, the hash value of the transaction information is calculated and the hash value is uploaded to the blockchain platform together with the transaction information for storage;
[0011] The regulator is also used to obtain stored transaction information from the blockchain platform, extract regulatory ciphertext from the transaction information, and then use the private key in the regulatory key to decrypt the regulatory ciphertext to restore the public keys of the sender and receiver, thereby obtaining the true identity of the sender and receiver to achieve offline supervision.
[0012] Furthermore, the way in which the receiver and the sender generate the key themselves is as follows:
[0013] The following operations are performed during the system initialization phase:
[0014] Enter security parameters , choose two prime numbers of the same order Cyclic group of and ;
[0015] choose Generators of ;
[0016] Define a bilinear map for ,in, Represents a mapping symbol;
[0017] Assumptions and The discrete logarithm problem in is difficult;
[0018] Defining a hash function for ,in, Represents the output of the hash function;
[0019] Output common parameters ;
[0020] When generating a key, the user Select Private Key , and calculate the public key .
[0021] Furthermore, the supervisory party generates the supervisory key in the following manner:
[0022] Select random number ;
[0023] calculate , , ;
[0024] The private key of the supervisor is , the public key of the supervisor is .
[0025] Furthermore, the one-time public key is generated as follows:
[0026] Select random number , and calculate ;
[0027] calculate , and generate the address ;
[0028] Will The value of is written into the transaction information, and the address P is used as a one-time public key.
[0029] Furthermore, the sender generates the supervision ciphertext according to the supervision key in the following manner:
[0030] Select random number ,calculate ;
[0031] Select random number ,calculate ;
[0032] calculate , and calculate ;
[0033] Generate regulatory ciphertext .
[0034] Furthermore, the supervisor uses the private key in the supervisory key to decrypt the supervisory ciphertext in the following manner:
[0035] Using the private key from the supervisor key And regulatory ciphertext Calculate the decrypted public key .
[0036] Furthermore, before generating the transaction information, the sender also generates zero-knowledge proof information and uploads the zero-knowledge proof information to the blockchain platform. The regulator obtains the zero-knowledge proof information from the blockchain platform and verifies the obtained zero-knowledge information. If the verification is passed, the transaction information is allowed to be generated, otherwise the transaction information is rejected.
[0037] Furthermore, the sender generates zero-knowledge proof information in the following manner:
[0038] For any NP protocol to be transformed into , where C is a Boolean circuit, For public input, For secret digests, the protocol consists of three polynomial time algorithms Setup, Prove, and Verify, and uses key generation algorithm K, encryption algorithm E, decryption algorithm D, ciphertext operation Eval, and special polynomial SSP generation algorithm as building blocks;
[0039] Executed by key generation algorithm K , to generate the key ,in, is the private key, is a public reference string, is a random value, Indicates random generation, and then in the plaintext space is p domain In the process, the key is regenerated again by the key generation algorithm K , To generate a private key again, A public reference string is generated again and a sample is generated using a random generation algorithm ,in, are all random coefficients, and the samples Save as vector elements, denoted by ,in, To verify the reference string, is the trapdoor information;
[0040] Run the special polynomial SSP algorithm to generate ,in, are all polynomial representations of Boolean circuits, x is the plaintext information, , and use the MLWE encoding scheme to encode the specified parameter set The elements in are encrypted as follows:
[0041] ,in, To use the private key The encryption algorithm performed, is the order of the cyclotomic polynomial, ;
[0042] Put the calculated results into the parameter set, that is, Recorded as ;
[0043] Returns a triple ;
[0044] Execute function as well as ,in, , All evidences are to be proved. , Together they form the result of the Boolean circuit to be proved, They are The weight, They are Component; then in the domain In the example, a random generation algorithm is used to generate samples ,
[0045] And set: ,
[0046] Then calculate: ,
[0047] And introduce the function , and run the ciphertext operation Eval to calculate the values of the five auxiliary proofs , , , , They are:
[0048]
[0049] Take samples ,
[0050] calculate ,
[0051] Run the Scale function to calculate:
[0052]
[0053] in, is the size of the ciphertext space before the modulus switch, is the size of the ciphertext space after the modulus switching;
[0054] Returns a vector As zero-knowledge proof information, R is a real number, .
[0055] Furthermore, the method of verifying the acquired zero-knowledge information is as follows:
[0056] Will as well as Extract, where is the zero-knowledge proof information vector group to be verified, They are The values of the five auxiliary proofs to be verified are jointly calculated. , , , , , ,in, To use the private key The decryption algorithm is performed and the ;
[0057] Then, verify from top to bottom whether the following equations hold:
[0058]
[0059] If all the above equations are true, the verification is successful; otherwise, the verification fails.
[0060] Beneficial effects: While ensuring the confidentiality of the identities of transaction participants, the present invention allows regulators to identify the true identities of transaction parties offline when necessary, so as to achieve the regulatory requirement of "controllable anonymity"; by integrating the post-quantum zk-SNARK algorithm, the correct operation of the protocol is guaranteed through quantum-resistant zero-knowledge proof technology, the required computing resources and time are reduced, and the correctness of communication data is ensured with the help of zk-SNARK zero-knowledge proof technology. BRIEF DESCRIPTION OF THE DRAWINGS
[0061] Figure 1 It is a schematic diagram of a blockchain identity privacy protection system with configurable security strength according to an embodiment of the present invention. DETAILED DESCRIPTION
[0062] The present invention is further explained below in conjunction with the accompanying drawings and specific embodiments. The embodiments are implemented based on the technical solution of the present invention. It should be understood that these embodiments are only used to illustrate the present invention and are not used to limit the scope of the present invention.
[0063] like Figure 1 As shown, an embodiment of the present invention provides a blockchain identity privacy protection system, including a user, an authentication center, a transaction verifier, a blockchain platform and a regulator.
[0064] The above users include receivers and senders. The receivers and senders generate their own keys and use the public keys in the keys to submit real-name authentication requests to the authentication center. The sender refers to the individual or organization that initiates and initiates the transaction. This role is responsible for determining the details of the transaction, such as the transaction amount and the receiver. The sender plays the role of outputting funds or assets in the transaction. The receiver refers to the individual or organization that receives funds or assets in the transaction. The main responsibility of the receiver is to confirm the received transaction and manage the received funds or assets in the system. Specifically, the way the receiver and sender generate their own keys is as follows:
[0065] The following operations are performed during the system initialization phase:
[0066] 1. Enter security parameters , choose two equal prime orders Cyclic group of and ;
[0067] 2. Selection Generators of ;
[0068] 3. Define bilinear mapping for ,in, Represents a mapping symbol;
[0069] 4. Assumptions and The discrete logarithm problem in is difficult;
[0070] 5. Define hash function for ,in, Represents the output of the hash function;
[0071] 6. Output common parameters .
[0072] When generating a key, the user Select Private Key , and calculate the public key The public key generated here is not only used for subsequent transactions, but also serves as the user's long-term identity.
[0073] The authentication center is used to verify the identity of the user based on the real-name authentication request sent by the user, and after verifying the user's identity is correct, it generates an anonymous certificate based on the public key in the key, and then sends the correspondence between the user's public key and the real identity information to the regulator.
[0074] The receiver provides the sender with his anonymous certificate when a specific transaction occurs. The sender provides the necessary information for the transaction and uses his public key to generate the sender's one-time public key, and selects a trusted regulator. The necessary information for the transaction includes the sender's public key, transaction amount and timestamp. The sender extracts the receiver's public key from the receiver's anonymous certificate and generates the receiver's one-time public key based on the receiver's public key. The regulator also generates a regulatory key and discloses the public key in the regulatory key to the blockchain platform. The sender obtains the public key in the regulatory key from the blockchain platform and uses the public key in the regulatory key to generate a regulatory ciphertext. Then, the transaction information is generated based on the necessary information for the transaction, the sender and receiver's one-time public keys and the regulatory ciphertext. By using a different one-time public key to replace the fixed, long-term public key in each transaction, it is ensured that the same receiver presents different transaction addresses in different transactions, thereby effectively preventing the correlation and traceability of transactions.
[0075] Specifically, the way in which the supervisor generates the supervisory key is as follows:
[0076] Select random number ;
[0077] calculate , , ;
[0078] The private key of the supervisor is , the public key of the supervisor is .
[0079] The above one-time public key is generated as follows:
[0080] Select random number , and calculate ;
[0081] calculate , and generate the address ;
[0082] Will The value of is written into the transaction information, and the address P is used as a one-time public key.
[0083] The method in which the sender generates the supervision ciphertext according to the supervision key is as follows:
[0084] Select random number ,calculate ;
[0085] Select random number ,calculate ;
[0086] calculate , and calculate ;
[0087] Generate regulatory ciphertext .
[0088] The transaction verifier verifies the legitimacy of the transaction information, the correctness of the regulatory ciphertext, and whether the public key of the regulator is used correctly to encrypt the public keys of the sender and the receiver. After the verification is passed, the hash value of the transaction information is calculated and the hash value is uploaded to the blockchain platform together with the transaction information for storage.
[0089] The regulator also uses it to obtain the stored transaction information from the blockchain platform, extract the regulatory ciphertext from the transaction information, and then use the private key in the regulatory key to decrypt the regulatory ciphertext to restore the public keys of the sender and receiver, and then obtain the real identity of the sender and receiver to achieve offline supervision. In this way, the process not only maintains a high degree of privacy protection, but also meets the needs of regulators and ensures the security and compliance of the system.
[0090] Specifically, the above-mentioned supervisor uses the private key in the supervisory key to decrypt the supervisory ciphertext as follows:
[0091] Using the private key from the supervisor key And regulatory ciphertext Calculate the decrypted public key .
[0092] In order to prevent the sender of the transaction from cheating to evade supervision, before generating the transaction information, the sender also generates zero-knowledge proof information and uploads the zero-knowledge proof information to the blockchain platform. The regulator obtains the zero-knowledge proof information from the blockchain platform and verifies the obtained zero-knowledge information. If the verification is passed, the transaction information is allowed to be generated, otherwise the transaction information is rejected.
[0093] Specifically, the sender generates zero-knowledge proof information in the following way:
[0094] 1. Structure Fully configurable post-quantum zk-snark protocol
[0095] For any NP protocol to be transformed into , where C is a Boolean circuit, For public input, For secret digests, the protocol consists of three polynomial time algorithms Setup, Prove, and Verify, and uses key generation algorithm K, encryption algorithm E, decryption algorithm D, ciphertext operation Eval, and special polynomial SSP generation algorithm as building blocks;
[0096] 2. Algorithm Setup Phase:
[0097] Executed by key generation algorithm K , to generate the key ,in, is the private key, is a public reference string, is a random value, Indicates random generation, and then in the plaintext space is p domain In the process, the key is regenerated again by the key generation algorithm K , To generate a private key again, A public reference string is generated again and a sample is generated using a random generation algorithm ,in, are all random coefficients, and the samples Save as vector elements, denoted by ,in, To verify the reference string, is the trapdoor information;
[0098] Run the special polynomial SSP algorithm to generate ,in, are all polynomial representations of Boolean circuits, x is the plaintext information, , and use the MLWE encoding scheme to encode the specified parameter set The elements in are encrypted as follows:
[0099] ,in, To use the private key The encryption algorithm performed, is the order of the cyclotomic polynomial, ;
[0100] Put the calculated results into the parameter set, that is, Recorded as ;
[0101] Returns a triple ;
[0102] 3. Algorithm Prove stage:
[0103] Execute function as well as ,in, , All evidences are to be proved. , Together they form the result of the Boolean circuit to be proved, They are The weight, They are Component; then in the domain In the example, a random generation algorithm is used to generate samples ,
[0104] And set: ,
[0105] Then calculate: ,
[0106] And introduce the function , and run the ciphertext operation Eval to calculate the values of the five auxiliary proofs , , , , They are:
[0107]
[0108] Take samples ,
[0109] calculate ,
[0110] Run the Scale function to calculate:
[0111]
[0112] in, is the size of the ciphertext space before the modulus switch, is the size of the ciphertext space after the modulus switching;
[0113] Returns a vector As zero-knowledge proof information, R is a real number, ;
[0114] The method for verifying the acquired zero-knowledge information is as follows:
[0115] Will as well as Extract, where is the zero-knowledge proof information vector group to be verified, They are The values of the five auxiliary proofs to be verified are jointly calculated. , , , , , ,in, To use the private key The decryption algorithm is performed and the ;
[0116] Then, verify from top to bottom whether the following equations hold:
[0117]
[0118] If all the above equations are true, the output is 1, indicating that the verification is successful; otherwise, the output is 0, indicating that the verification fails, the transaction is considered illegal, and the transaction is rejected.
[0119] The above is only a preferred embodiment of the present invention. It should be noted that for ordinary technicians in this technical field, other parts not specifically described belong to the prior art or common knowledge. Several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered as the protection scope of the present invention.
Claims
1. A blockchain identity privacy protection system, characterized in that: include: Users, including a receiver and a sender, each of which generates a key by itself and submits a real-name authentication request to the authentication center using a public key in the key; The authentication center is used to verify the identity of the user according to the real-name authentication request sent by the user, and after verifying the identity of the user, generate an anonymous certificate based on the public key in the key, and then send the corresponding relationship between the user's public key and the real identity information to the supervisor; The receiver is used to provide the sender with its anonymous certificate when a specific transaction occurs. The sender is used to provide the necessary information for the transaction and use its public key to generate the sender's one-time public key, and select a trusted regulator. The necessary information for the transaction includes the sender's public key, transaction amount and timestamp. The sender extracts the receiver's public key from the receiver's anonymous certificate and generates the receiver's one-time public key based on the receiver's public key. The regulator also generates a regulatory key and discloses the public key in the regulatory key to the blockchain platform. The sender obtains the public key in the regulatory key from the blockchain platform and uses the public key in the regulatory key to generate a regulatory ciphertext, and then generates transaction information based on the necessary information for the transaction, the sender's and receiver's one-time public keys and the regulatory ciphertext. The transaction verifier verifies the legitimacy of the transaction information, the correctness of the regulatory ciphertext, and whether the public key of the regulator is correctly used to encrypt the public keys of the sender and the receiver. After the verification is passed, the hash value of the transaction information is calculated and the hash value is uploaded to the blockchain platform together with the transaction information for storage; The supervisor is also used to obtain the stored transaction information from the blockchain platform, extract the supervision ciphertext from the transaction information, and then use the private key in the supervision key to decrypt the supervision ciphertext to restore the public keys of the sender and the receiver, thereby obtaining the real identities of the sender and the receiver to achieve offline supervision; Before generating the transaction information, the sender also generates zero-knowledge proof information and uploads the zero-knowledge proof information to the blockchain platform. The supervisor obtains the zero-knowledge proof information from the blockchain platform and verifies the obtained zero-knowledge information. If the verification is passed, the transaction information is allowed to be generated, otherwise the transaction information is rejected; The method in which the sender generates zero-knowledge proof information is as follows: For any NP protocol, it is transformed into , where C is a Boolean circuit, For public input, For secret digests, the protocol consists of three polynomial time algorithms Setup, Prove, and Verify, and uses key generation algorithm K, encryption algorithm E, decryption algorithm D, ciphertext operation Eval, and special polynomial SSP generation algorithm as building blocks; Executed by key generation algorithm K , to generate the key ,in, is the private key, is a public reference string, is a random value, Indicates random generation, and then in the plaintext space is p domain In the process, the key is regenerated again by the key generation algorithm K , To generate a private key again, A public reference string is generated again and a sample is generated using a random generation algorithm ,in, are all random coefficients, and the samples Save as vector elements, denoted by ,in, To verify the reference string, is the trapdoor information; Run the special polynomial SSP algorithm to generate ,in, are all polynomial representations of Boolean circuits, x is the plaintext information, , and use the MLWE encoding scheme to encode the specified parameter set The elements in are encrypted in batches, as follows: ,in, To use the private key The encryption algorithm performed, is the order of the cyclotomic polynomial, ; Put the calculated results into the parameter set, that is, Recorded as ; Returns a triple ; Execute function as well as ,in, , All evidences are to be proved. , Together they form the result of the Boolean circuit to be proved, They are The weight, They are Component; then in the domain In the example, a random generation algorithm is used to generate samples , And set: , Then calculate: , And introduce the function , and run the ciphertext operation Eval to calculate the values of the five auxiliary proofs , , , , They are: ; Take samples , calculate , Run the Scale function to calculate: ; in, is the size of the ciphertext space before the modulus switch, is the size of the ciphertext space after the modulus switching; Returns a vector As zero-knowledge proof information, R is a real number, .
2. A blockchain identity privacy protection system according to claim 1, characterized in that: The specific method for the receiver and sender to generate the key by themselves is as follows: The following operations are performed during the system initialization phase: Enter security parameters , choose two equal prime orders Cyclic group of and ; choose Generators of ; Define a bilinear map for ,in, Represents a mapping symbol; Assumptions and The discrete logarithm problem in is difficult; Defining a hash function for ,in, Represents the output of the hash function; Output common parameters ; When generating a key, the user Select Private Key , and calculate the public key .
3. A blockchain identity privacy protection system according to claim 2, characterized in that: The specific method for the supervisor to generate the supervisory key is as follows: Select random number ; calculate , , ; The private key of the supervisor is , the public key of the supervisor is .
4. A blockchain identity privacy protection system according to claim 2, characterized in that: The one-time public key is generated in the following manner: Select random number , and calculate ; calculate , and generate the address ; Will The value of is written into the transaction information, and the address P is used as a one-time public key.
5. A blockchain identity privacy protection system according to claim 3, characterized in that: The method in which the sender generates the supervision ciphertext according to the supervision key is as follows: Select random number ,calculate ; Select random number ,calculate ; calculate , and calculate ; Generate regulatory ciphertext .
6. A blockchain identity privacy protection system according to claim 3, characterized in that: The supervisor uses the private key in the supervisory key to decrypt the supervisory ciphertext in the following manner: Using the private key from the supervisor key And regulatory ciphertext Calculate the decrypted public key .
7. A blockchain identity privacy protection system according to claim 1, characterized in that: The method for verifying the acquired zero-knowledge information is as follows: Will as well as Extract, where is the zero-knowledge proof information vector group to be verified, They are The values of the five auxiliary proofs to be verified are jointly calculated. , , , , , ,in, To use the private key The decryption algorithm is performed and the ; Then, verify from top to bottom whether the following equations hold: ; If all the above equations are true, the verification is successful; otherwise, the verification fails.
Citation Information
Patent Citations
Block chain supervisible privacy protection method based on zero knowledge proof
CN115564434A
Quantum-attack-resistant supervisible block chain transaction privacy protection method and system
CN116707761A