A cross-chain privacy protection method and device based on zero-knowledge proof

By introducing zero-knowledge proof technology into the relay chain system, the reliability and privacy protection issues of the relay chain system are solved, and the security and privacy protection of cross-chain transactions and data requests are realized, thereby enhancing the security and reliability of the system.

CN119743263BActive Publication Date: 2025-11-25HARBIN INSTITUTE OF TECHNOLOGY (SHENZHEN) (INSTITUTE OF SCIENCE AND TECHNOLOGY INNOVATION HARBIN INSTITUTE OF TECHNOLOGY SHENZHEN)
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411718215.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-28
Publication Date
2025-11-25
Estimated Expiration
2044-11-28

AI Technical Summary

Technical Problem

Existing relay chain systems suffer from reliability and scalability issues in cross-chain interoperability and lack effective privacy protection mechanisms, making sensitive data vulnerable to leakage or malicious exploitation during transmission and temporary storage.

Method used

Zero-knowledge proof technology is used to protect the privacy of cross-chain transactions and data requests. Cross-chain requests are received and forwarded through relay chain proxy nodes, and zero-knowledge proof is used to verify the legality of transactions and data access permissions, ensuring that identity legality verification is carried out without exposing specific identity information.

Benefits of technology

It achieves privacy protection for cross-chain transactions and data requests. The relay chain cannot obtain specific transaction information and data content, which enhances the security and reliability of the system and avoids the risk of data leakage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119743263B_ABST
    Figure CN119743263B_ABST
Patent Text Reader

Abstract

The application discloses a cross-chain privacy protection method and device based on zero-knowledge proof, and the method comprises the following steps: a relay chain agent node receives a cross-chain request from an internal entity of an application chain, packs the cross-chain request and sends the cross-chain request to the relay chain; meanwhile, the relay chain agent node is also responsible for forwarding the response of the relay chain or a cross-chain request of other chains to the corresponding entity in the application chain; wherein, for the cross-chain transaction request, the relay chain uses zero-knowledge proof to protect the privacy of the cross-chain transaction; for the cross-chain data request, the relay chain uses zero-knowledge proof to verify the identity legality of the data requester without exposing the specific identity information of the data requester. The method can better protect the privacy of cross-chain interoperability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of blockchain technology, specifically relating to a cross-chain privacy protection method and device based on zero-knowledge proof. Background Technology

[0002] With the application of consortium blockchains in the Internet of Things (IoT), various consortium blockchains tailored to different IoT scenarios have been proposed, indicating a promising future for multi-chain technology in the IoT ecosystem. However, due to differences in architecture, consensus mechanisms, and networks among consortium blockchain systems, information exchange or value transfer between them is difficult, significantly limiting the application and development of consortium blockchain technology in IoT scenarios. To address these issues, cross-chain interoperability is crucial. Existing cross-chain technologies can be broadly categorized into notarized solutions, hash-locking, and relay chains. Centralized notarized solutions, as a relatively easy-to-implement cross-chain mechanism in practice, rely on the introduction of a highly trustworthy centralized entity. In the complex process of cross-chain interaction, this entity plays a key role, much like a credit rating agency in the financial system, providing authoritative and reliable credit endorsement for verifying the interaction between different consortium blockchain systems. This ensures the security and reliability of cross-chain interaction and guarantees that the interaction process conforms to established academic norms and technical standards. Hash-locking technology is a cross-chain solution based on the characteristics of cryptographic hash functions. This technology heavily relies on the one-wayness and low collision rate of hash functions. In cross-chain operations, through the skillful application of these characteristics, hash locking can build a precise and stable interaction mechanism between different consortium blockchains. This ensures that cross-chain operations achieve high accuracy and uniqueness under the strict constraints of mathematical principles and cryptographic theories, meeting the requirements of technical precision in academic research. Compared to notarization schemes and hash locking technology, relay chains exhibit unique technical advantages. As a fully decentralized cross-chain technology, relay chains do not have a centralized entity, a characteristic that fundamentally avoids the potential security risks and trust issues caused by centralization. Simultaneously, relay chains possess excellent scalability, dynamically adapting to the increasing number of consortium blockchains and the increasingly complex interaction relationships in the IoT environment. This provides a more advanced academic solution and a more flexible and efficient practical solution for interoperability between consortium blockchains, powerfully promoting academic research and practical applications of the integration of IoT and consortium blockchains.

[0003] Relay chain mechanisms still suffer from reliability and scalability issues. As the number of consortium blockchains in a relay chain system increases, verification latency increases, and transaction throughput decreases. This problem prevents consortium blockchain systems from seamlessly integrating with existing relay chain systems. Furthermore, the availability and functionality of the asynchronous consensus mechanisms used in existing relay chain systems depend on network timing assumptions, meaning that the system may crash if these assumptions are broken. From a privacy perspective, relay chains have serious vulnerabilities in data interaction and processing. During relay chain operation, the privacy risks increase exponentially with the number of connected consortium blockchains. Because relay chains need to collect and process transaction information and node data from various consortium blockchains to complete cross-chain verification and information transmission, this process inevitably involves the flow of large amounts of sensitive data. During this process, relay chains lack robust privacy protection mechanisms to ensure that this data is not leaked or maliciously used. For example, in the verification process, as the number of consortium blockchains increases, the information exchange required for verification becomes more frequent. This information includes key privacy data of consortium blockchain users, such as transaction amount, transaction object, and user identity. However, the relay chain lacks effective encryption and access control measures, making this data highly susceptible to potential attacks during transmission and temporary storage. Summary of the Invention

[0004] To address the aforementioned problems, this invention provides a cross-chain privacy protection method and apparatus based on zero-knowledge proofs, aiming to better protect the privacy of cross-chain interoperability.

[0005] According to a first aspect of the present disclosure, a cross-chain privacy protection method based on zero-knowledge proof is provided, the method comprising:

[0006] The relay chain proxy node receives cross-chain requests from entities within the application chain, packages them, and sends them to the relay chain. At the same time, the relay chain proxy node is also responsible for forwarding the relay chain's response or cross-chain requests from other chains to the corresponding entities within the application chain.

[0007] Specifically, for cross-chain transaction requests, the relay chain uses zero-knowledge proofs to protect the privacy of cross-chain transactions; for cross-chain data requests, the relay chain uses zero-knowledge proofs to verify the legitimacy of the data requester's identity without exposing the data requester's specific identity information.

[0008] In some embodiments, the relay chain consists of numerous publisher nodes and channels connecting them. The publisher nodes are representatives of each application chain in the relay chain. When an application chain wants to join the relay chain, it needs to register a new publisher node to represent itself. The publisher nodes are interconnected through channels.

[0009] In some embodiments, the Hyperledger Fabric network is used as privacy support for the relay chain.

[0010] In some embodiments, each channel in the relay chain has its own independent immutable ledger and corresponding smart contract, and the access permissions of the ledger can be set to be visible to the entire network or only to specific participants as needed.

[0011] In some embodiments, for cross-chain transaction requests, the relay chain uses zero-knowledge proofs to protect the privacy of cross-chain transactions, specifically including:

[0012] Once a transaction is executed, it is added to a block, generating a corresponding Merkle proof and updating the Merkle tree. To enable the relay chain to verify the legality of a transaction without compromising transaction privacy, the Merkle proof and the transaction's hash value are used as private inputs to the zero-knowledge proof, and the Merkle tree root is used as public inputs to generate the zero-knowledge proof. The relay chain can then verify the legality of a transaction using the zero-knowledge proof verification algorithm, the zero-knowledge proof itself, and the Merkle tree root.

[0013] In some embodiments, for cross-chain data requests, the relay chain uses zero-knowledge proofs to verify the legitimacy of the data requester's identity without exposing the data requester's specific identity information, specifically including:

[0014] Member identity information with certain data access permissions is packaged into a set. A hash function is used to obtain the hash value of the identity information and generate the corresponding Merkle proof, and the Merkle tree is updated. The hash value of the identity information and the Merkle proof are used as the private input of the zero-knowledge proof, and the Merkle tree root is used as the public input of the zero-knowledge proof to generate the zero-knowledge proof. The relay chain can verify whether the node requesting data has the data access permission by using the verification algorithm of the zero-knowledge proof, the zero-knowledge proof, and the Merkle tree root.

[0015] In some embodiments, for cross-chain data requests, IPFS is used as a data relay station. After verifying the identity and permissions of the data requester, the data owner will encrypt the data and upload it to IPFS, and obtain the IPFS address. The data requester can obtain the encrypted data through the IPFS address, and then decrypt it to obtain the requested data.

[0016] In some embodiments, the privacy protection process for cross-chain transaction requests is as follows:

[0017] Application chain A node N A Generate cross-chain transaction CCTX and corresponding Merkel proof MP A and Merkel root MR A Then the generated data is sent to the relay chain proxy node G of application chain A.A ;

[0018] G A Upon receiving the data, the public key of GB, the relay chain proxy node of application chain B, is used to encrypt the cross-chain transaction CCTX and generate the corresponding cross-chain transaction ciphertext C. CCTX Then use Merkel's proof MP A The hash value H-CCTX of the cross-chain transaction CCTX is used as the private input to the zero-knowledge proof generation algorithm, Merkle root MR A Generate zero-knowledge proof π as a common input to the zero-knowledge proof generation algorithm. A ;

[0019] G A The ciphertext C of the cross-chain transaction CCTX Zero-knowledge proof of π A and Merkel root MR A Send to publisher node P registered in the relay chain of application chain A. A Then P A The received data is forwarded to the publisher node P registered by application chain B in the relay chain. B ;

[0020] P B After receiving the data, a zero-knowledge proof verification algorithm is used to verify the correctness of the proof; if it fails, G is notified. A Perform a transaction rollback; if successful, the ciphertext C of the cross-chain transaction will be sent. CCTX Forward to G B ;

[0021] G B After receiving the data, use your private key SK B Decrypt the cross-chain transaction CCTX, and then forward the cross-chain transaction CCTX to N. B ;

[0022] N B Upon receiving a cross-chain transaction, the transaction details are executed, and then the corresponding Merkle proof (MP) is generated. B and Merkel root MR B ;

[0023] N B Cross-chain transaction CCTX, and the corresponding Merkel proof MP B and Merkel root MR B Relay chain proxy node G sent to application chain B B ;

[0024] G B Using Merkel's proof of MP AThe hash value H-CCTX of the cross-chain transaction CCTX is used as the private input to the zero-knowledge proof generation algorithm, Merkle root MR B Generate zero-knowledge proof π as a common input to the zero-knowledge proof generation algorithm. B Then π B Send to P B ;

[0025] P B Proving π with zero knowledge B Forward to P A P A Verify π upon receipt B The correctness is verified, and then the verification result is returned to N. A If correct, then P A The transaction {π A , π B MR A, MR B, C CCTX This is recorded in the relay chain's ledger.

[0026] In some embodiments, the privacy protection process for cross-chain data requests is as follows:

[0027] Application chain A node N A Generate your own identity information (PID) A The corresponding Merkel proof MP PIDA and Merkel Roots MP PIDA And request the data key, then send the generated data to the relay chain proxy node G of application chain A. A ;

[0028] G A After receiving the data, use the relay chain proxy node G of application chain B. B The public key is used to encrypt the request data key and generate ciphertext C. Key Then use Merkel's proof MP PIDA and identity information PID A H-PID hash value A Merkle root MR serves as the private input to the zero-knowledge proof generation algorithm. PIDA Generate zero-knowledge proof π as a common input to the zero-knowledge proof generation algorithm. PIDA ;

[0029] G A Request the encrypted data key C Key Knowledge proof π PIDA and Merkel root MR PIDA Send to publisher node P registered in the relay chain of application chain A. A Then PA Forward the data to the publisher node P registered in the relay chain by application chain B. B ;

[0030] P B After receiving the data, a zero-knowledge proof verification algorithm is used to verify the correctness of the proof; if it fails, G is notified. A Perform a rollback; if successful, send the encrypted C of the requested data key. Key Forward to G B ;

[0031] G B After receiving the data, use your private key SK B Decrypt the request data key (Key), then forward the Key to N. B ;

[0032] N B After receiving the key, look up the requested data value and then use G. A The public key is used to encrypt the data and upload it to the IPFS node. After receiving the data, the IPFS node returns the IPFS address of the data.

[0033] N B Return the obtained IPFS address to G. A G A Use your private key to decrypt the data, then send the data to N. A ;

[0034] The transaction {π PIDA ,MR PIDA C Key The ,Addr} record is on the relay chain ledger, where Addr represents the IPFS address.

[0035] According to a third aspect of the present disclosure, a cross-chain privacy protection device based on zero-knowledge proof is provided, comprising: a memory for storing a program; and a processor for executing the program stored in the memory, wherein the program causes the processor to execute the aforementioned cross-chain privacy protection method based on zero-knowledge proof.

[0036] This disclosure provides a cross-chain privacy protection method and apparatus based on zero-knowledge proofs. A relay chain proxy node receives cross-chain requests from entities within an application chain, packages them, and sends them to the relay chain. Simultaneously, the relay chain proxy node is also responsible for forwarding the relay chain's response or cross-chain requests from other chains to the corresponding entities within the application chain. Specifically, for cross-chain transaction requests, the relay chain uses zero-knowledge proofs to protect the privacy of cross-chain transactions. Throughout the process, the transaction information received by the relay chain is in encrypted form; the relay chain cannot know the specific transaction information but can verify the legality of the transaction through zero-knowledge proofs provided by application chain A and application chain B. For cross-chain data requests, the relay chain uses zero-knowledge proofs to verify the legality of the data requester's identity without exposing the data requester's specific identity information. Throughout the process, the relay chain can only obtain the encrypted request data keyword and IPFS address, and cannot obtain the specific request data information. Through the zero-knowledge proof provided by the data requester, the relay chain can verify the permissions and legality of the requesting data node.

[0037] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0038] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.

[0039] Figure 1 This is a flowchart of the cross-chain privacy protection method based on zero-knowledge proof in an embodiment of the present invention;

[0040] Figure 2 This is a schematic diagram of the cross-chain system structure in an embodiment of the present invention;

[0041] Figure 3 This is a sequence diagram of the cross-chain transaction privacy protection protocol in an embodiment of the present invention;

[0042] Figure 4 This is a timing diagram of the cross-chain data protection protocol in an embodiment of the present invention;

[0043] Figure 5 This is a schematic diagram of a cross-chain privacy protection device based on zero-knowledge proof in an embodiment of the present invention. Detailed Implementation

[0044] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of the invention. Furthermore, it should be noted that, for ease of description, only the parts relevant to the present invention are shown in the drawings, not the entire structure.

[0045] Before discussing the exemplary embodiments in more detail, it should be noted that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe the steps as sequential processes, many of these steps can be performed in parallel, concurrently, or simultaneously. Furthermore, the order of the steps can be rearranged. The process can be terminated when its operation is complete, but may also have additional steps not included in the figures. The process can correspond to a method, function, procedure, subroutine, subroutine, etc.

[0046] This invention provides a cross-chain privacy protection method and apparatus based on zero-knowledge proofs, primarily applicable to the blockchain field, especially consortium blockchains. It effectively protects privacy during cross-chain interoperability. The following are some examples:

[0047] A cross-chain privacy protection method based on zero-knowledge proofs, such as Figure 1 As shown, the method includes:

[0048] The relay chain proxy node receives cross-chain requests from entities within the application chain, packages them, and sends them to the relay chain. At the same time, the relay chain proxy node is also responsible for forwarding the relay chain's response or cross-chain requests from other chains to the corresponding entities within the application chain.

[0049] Specifically, for cross-chain transaction requests, the relay chain uses zero-knowledge proofs to protect the privacy of cross-chain transactions; for cross-chain data requests, the relay chain uses zero-knowledge proofs to verify the legitimacy of the data requester's identity without exposing the data requester's specific identity information.

[0050] Specifically, such as Figure 2As shown, the cross-chain system based on the zero-knowledge proof-based cross-chain privacy protection method mainly consists of three parts: application chains, consortium chains, and cross-chain privacy protection protocols. The application chains are consortium chains with different structures. Each application chain executes its local business. All application chains are connected equally to the relay chain, and cross-chain transactions are executed through the relay chain's services. Application chains may be built based on different architectures, consensus procedures, and system configurations. The inventors introduced the concept of relay chain proxy nodes, enabling application chains to join the network without reconfiguring their settings. This demonstrates the compatibility and flexibility of this cross-chain model for different application chains, adapting to various existing and future application chain architectures and configurations, and providing the possibility of integration and interaction for different types of blockchain applications. The main responsibility of the relay chain proxy node is to connect the application chain and the relay chain, acting as a bridge for information exchange between them. For example, in a complex blockchain network environment containing multiple application chains with different architectures, the relay chain proxy node is responsible for ensuring the accurate and secure transmission of information between application chains with different architectures and configurations and the relay chain. The relay chain proxy node receives cross-chain requests from entities within the application chain, packages them, and sends them to the relay chain. Simultaneously, it is responsible for forwarding responses from the relay chain or cross-chain requests from other chains to the corresponding entities within the application chain. For example, when a user in application chain A wants to conduct a cross-chain transaction with application chain B, the relevant entity in application chain A sends the request to relay chain proxy node A. Relay chain proxy node A performs the necessary processing and forwards the request to the relay chain. After processing, the relay chain proxy node A then transmits the response back to the corresponding entity in application chain A.

[0051] The relay chain is the core consortium chain in this cross-chain model, with a block structure and data storage format similar to application chains. The relay chain receives cross-chain service requests from application chains and then verifies the legality and correctness of the corresponding cross-chain transactions. It acts like a transportation hub, coordinating and processing value transfers and information exchanges between different application chains, ensuring smooth cross-chain transactions. The relay chain consists of numerous publisher nodes and channels connecting them. Publisher nodes represent each application chain within the relay chain; when an application chain wishes to join the relay chain, it registers a new publisher node to represent itself. Subsequently, all cross-chain requests or responses involving that application chain will be handled by this publisher node. For example, in a cross-chain system containing multiple application chains, each application chain has its corresponding publisher node, which are interconnected through channels to form an organic whole, jointly completing the tasks of cross-chain transactions and information exchanges. The inventors chose Hyperledger Fabric as the underlying infrastructure of the relay chain, utilizing the Hyperledger Fabric network for privacy support; its permissioned architecture is a key feature. Unlike public permissionless blockchain systems (such as BTC and ETH) that allow unknown identities and nodes to join at will, members of the Hyperledger Fabric network register through trusted Member Service Providers (MSPs). Each application chain must add a publisher node representing itself in the relay chain to obtain cross-chain services, and strict control over the entry and exit of publisher nodes is crucial to the robustness of the relay chain. For example, only authorized and certified application chains can register publisher nodes in the relay chain, which effectively prevents malicious node intrusion and ensures system security. At the same time, because the system has full control over the identities of entity members, vetting them is relatively easy, further enhancing the system's controllability and security, and providing a reliable environment for cross-chain transactions.

[0052] As a consortium blockchain system, Hyperledger Fabric natively provides network privacy support through channels. Within the relay chain, each channel has its own independent immutable ledger and corresponding smart contracts. Ledger access permissions can be set to be visible to the entire network or only to specific participants as needed. This means that each application chain can enjoy cross-chain services without worrying about the leakage of sensitive information, achieving secure data isolation and privacy protection.

[0053] The cross-chain privacy protection protocol mainly consists of two parts: the cross-chain transaction privacy protection protocol and the cross-chain data access privacy protection protocol.

[0054] For cross-chain transaction requests, the relay chain uses a cross-chain transaction privacy protection protocol, which protects the privacy of cross-chain transactions through zero-knowledge proofs. Specifically, this includes:

[0055] When nodes in an application chain initiate cross-chain transactions, they don't want the relay chain to access the specific transaction data, but they still need the relay chain to verify the transaction's legitimacy to ensure the security of the cross-chain transaction. After a transaction is executed, it is added to a block, generating a corresponding Merkle proof and updating the Merkle tree. To enable the relay chain to verify transaction legitimacy without accessing transaction privacy, the inventors used the Merkle proof and the transaction's hash value as private inputs to a zero-knowledge proof, and the Merkle tree root as public inputs to generate the zero-knowledge proof. The relay chain can then verify the transaction's legitimacy using the zero-knowledge proof verification algorithm, the zero-knowledge proof itself, and the Merkle tree root. In this process, the Merkle tree is completely public information; the relay chain cannot obtain any private data about the transaction through zero-knowledge proofs. The transaction data exists in encrypted form on the relay chain, and only the two parties involved in the cross-chain transaction know the specific content of the transaction.

[0056] For cross-chain data requests, the relay chain uses a cross-chain data privacy protection protocol to verify the identity and legitimacy of the data requester through zero-knowledge proofs without exposing the specific identity information of the data requester. Specifically, this includes:

[0057] Member identity information with certain data access permissions is packaged into a set. A hash function is used to obtain the hash value of the identity information and generate the corresponding Merkle tree. Then, the hash value of the identity information and the Merkle proof are used as the private input of the zero-knowledge proof, and the Merkle tree root is used as the public input of the zero-knowledge proof to generate the zero-knowledge proof. The relay chain can verify whether the node requesting data has the data access permission through the verification algorithm of the zero-knowledge proof, the zero-knowledge proof, and the Merkle tree root. In this process, the relay chain cannot obtain any information about the identity of the node requesting data.

[0058] To accelerate data transmission, IPFS is used as a data relay station. After verifying the identity and permissions of the data requester, the data owner encrypts the data and uploads it to IPFS, obtaining the IPFS address. The data requester can obtain the encrypted data through the IPFS address, and then decrypt it to obtain the requested data.

[0059] The cross-chain transaction privacy protection protocol, i.e., the sequence diagram of privacy protection for cross-chain transaction requests, is as follows: Figure 3 As shown in Table 1, the symbols used in the timing diagrams are explained below:

[0060] Table 1. Explanation of symbols in the cross-chain transaction privacy protection protocol.

[0061]

[0062]

[0063] The specific process for protecting privacy in cross-chain transaction requests is as follows:

[0064] Step 1, Apply chain A to node N A Generate cross-chain transaction CCTX and corresponding Merkel proof MP A and Merkel root MR A Then the generated data is sent to the relay chain proxy node G of application chain A. A ;

[0065] Step 2, G A Upon receiving the data, the public key of GB, the relay chain proxy node of application chain B, is used to encrypt the cross-chain transaction CCTX and generate the corresponding cross-chain transaction ciphertext C. CCTX Then use Merkel's proof MP A The hash value H-CCTX of the cross-chain transaction CCTX is used as the private input to the zero-knowledge proof generation algorithm, Merkle root MR A Generate zero-knowledge proof π as a common input to the zero-knowledge proof generation algorithm. A ;

[0066] Step 3, G A The ciphertext C of the cross-chain transaction CCTX Zero-knowledge proof of π A and Merkel root MR A Send to publisher node P registered in the relay chain of application chain A. A Then P A The received data is forwarded to the publisher node P registered by application chain B in the relay chain. B ;

[0067] Step 4, P B After receiving the data, a zero-knowledge proof verification algorithm is used to verify the correctness of the proof; if it fails, G is notified. A Perform a transaction rollback; if successful, the ciphertext C of the cross-chain transaction will be sent. CCTX Forward to G B ;

[0068] Step 5, G B After receiving the data, use your private key SK B Decrypt the cross-chain transaction CCTX, and then forward the cross-chain transaction CCTX to N. B ;

[0069] Step 6, N B Upon receiving a cross-chain transaction, the transaction details are executed, and then the corresponding Merkle proof (MP) is generated. B and Merkel root MR B ;

[0070] Step 7, NB Cross-chain transaction CCTX, and the corresponding Merkel proof MP B and Merkel root MR B Relay chain proxy node G sent to application chain B B ;

[0071] Step 8, G B Using Merkel's proof of MP A The hash value H-CCTX of the cross-chain transaction CCTX is used as the private input to the zero-knowledge proof generation algorithm, Merkle root MR B Generate zero-knowledge proof π as a common input to the zero-knowledge proof generation algorithm. B Then π B Send to P B ;

[0072] Step 9, P B Proving π with zero knowledge B Forward to P A P A Verify π upon receipt B The correctness is verified, and then the verification result is returned to N. A If correct, then P A The transaction {π A , π B MR A, MR B, C CCTX This is recorded in the relay chain's ledger.

[0073] Throughout the process, the transaction information received by the relay chain is in encrypted form. The relay chain cannot know the specific transaction information, but it can verify the legality of the transaction through zero-knowledge proofs provided by application chain A and application chain B.

[0074] The sequence diagram of the cross-chain data privacy protection protocol, i.e., the privacy protection of cross-chain data requests, is as follows: Figure 4 As shown in Table 2 below, the symbols used in the timing diagrams are explained as follows:

[0075]

[0076] The specific process for protecting the privacy of cross-chain data requests is as follows:

[0077] Step 1, Apply chain A to node N A Generate your own identity information (PID) A The corresponding Merkel proof MP PIDA and Merkel Roots MP PIDA And request the data key, then send the generated data to the relay chain proxy node G of application chain A. A ;

[0078] Step 2, G A After receiving the data, use the relay chain proxy node G of application chain B. B The public key is used to encrypt the request data key and generate ciphertext C. Key Then use Merkel's proof MP PIDA and identity information PID A H-PID hash value A Merkle root MR serves as the private input to the zero-knowledge proof generation algorithm. PIDA Generate zero-knowledge proof π as a common input to the zero-knowledge proof generation algorithm. PIDA ;

[0079] Step 3, G A Request the encrypted data key C Key Knowledge proof π PIDA and Merkel root MR PIDA Send to publisher node P registered in the relay chain of application chain A. A Then P A Forward the data to the publisher node P registered in the relay chain by application chain B. B ;

[0080] Step 4, P B After receiving the data, a zero-knowledge proof verification algorithm is used to verify the correctness of the proof; if it fails, G is notified. A Perform a rollback; if successful, send the encrypted C of the requested data key. Key Forward to G B ;

[0081] Step 5, G B After receiving the data, use your private key SK B Decrypt the request data key (Key), then forward the Key to N. B ;

[0082] Step 6, N B After receiving the key, look up the requested data value and then use G. A The public key is used to encrypt the data and upload it to the IPFS node. After receiving the data, the IPFS node returns the IPFS address of the data.

[0083] Step 7, N B Return the obtained IPFS address to G. A G A Use your private key to decrypt the data, then send the data to N. A ;

[0084] Step 8: Transfer the transaction {π} PIDA MR PIDAC Key Addr is recorded in the relay chain's ledger.

[0085] This disclosure also provides a cross-chain privacy protection device based on zero-knowledge proof, comprising: a memory for storing a program; and a processor for executing the program stored in the memory, wherein the program causes the processor to execute the aforementioned cross-chain privacy protection method based on zero-knowledge proof.

[0086] Specifically, it can be achieved by means of Figure 5 The architecture of the computing device shown is used to implement this. Figure 5 The architecture of the computing device is shown. For example... Figure 5 As shown, the computer system 510 includes a system bus 530, one or more CPUs 540, input / output 520, and memory 550. Memory 550 can store various data or files used by the computer for processing and / or communication, as well as program instructions executed by the CPU, including the cross-chain privacy protection method based on zero-knowledge proofs in the embodiments. Figure 5 The architecture shown is merely exemplary and should be adjusted according to actual needs when implementing different devices. Figure 5 One or more components in the system. The memory 550, as a computer-readable storage medium, can be used to store software programs, computer-executable programs, and modules, such as the program instructions / modules corresponding to the cross-chain privacy protection method based on zero-knowledge proof in this embodiment of the invention. One or more CPUs 540 execute various functional applications and data processing of the system of the present invention by running the software programs, instructions, and modules stored in the memory 550, thereby implementing the aforementioned cross-chain privacy protection method based on zero-knowledge proof, which includes:

[0087] The relay chain proxy node receives cross-chain requests from entities within the application chain, packages them, and sends them to the relay chain. At the same time, the relay chain proxy node is also responsible for forwarding the relay chain's response or cross-chain requests from other chains to the corresponding entities within the application chain.

[0088] Specifically, for cross-chain transaction requests, the relay chain uses zero-knowledge proofs to protect the privacy of cross-chain transactions; for cross-chain data requests, the relay chain uses zero-knowledge proofs to verify the legitimacy of the data requester's identity without exposing the data requester's specific identity information.

[0089] Of course, the server provided in the embodiments of the present invention is not limited to executing the method operations described above, but can also execute related operations in the cross-chain privacy protection method based on zero-knowledge proof provided in any embodiment of the present invention.

[0090] The memory 550 may primarily include a program storage area and a data storage area. The program storage area may store the operating system and at least one application program required for a given function; the data storage area may store data created based on terminal usage. Furthermore, the memory 550 may include high-speed random access memory and non-volatile memory, such as at least one disk storage device, flash memory, or other non-volatile solid-state storage device. In some instances, the memory 550 may further include memory remotely configured relative to one or more CPUs 540, which can be connected to the device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0091] Input / output 520 can be used to receive input digital or character information, and to generate key signal inputs related to user settings and function control of the device. Input / output 520 may also include a display device such as a display screen.

[0092] Based on the technical solutions provided in the above embodiments, a cross-chain privacy protection method and apparatus based on zero-knowledge proofs are proposed. A relay chain proxy node receives cross-chain requests from entities within an application chain, packages them, and sends them to the relay chain. Simultaneously, the relay chain proxy node is also responsible for forwarding the relay chain's response or cross-chain requests from other chains to the corresponding entities within the application chain. Specifically, for cross-chain transaction requests, the relay chain uses zero-knowledge proofs to protect the privacy of cross-chain transactions. Throughout the process, the transaction information received by the relay chain is in encrypted form; the relay chain cannot know the specific transaction information but can verify the legality of the transaction through zero-knowledge proofs provided by application chain A and application chain B. For cross-chain data requests, the relay chain uses zero-knowledge proofs to verify the legality of the data requester's identity without exposing the data requester's specific identity information. Throughout the process, the relay chain can only obtain the encrypted request data keyword and IPFS address, and cannot obtain the specific request data information. Through the zero-knowledge proof provided by the data requester, the relay chain can verify the permissions and legality of the requesting data node.

[0093] In this document, the terms “comprising,” “including,” or any other variations thereof are intended to cover non-exclusive inclusion, such that a step or method that comprises a list of elements includes not only those elements but also other elements not expressly listed or inherent to such a step or method.

[0094] The above description, in conjunction with specific preferred embodiments, provides a further detailed explanation of the present invention. It should not be construed that the specific implementation of the present invention is limited to these descriptions. For those skilled in the art, various simple deductions or substitutions can be made without departing from the concept of the present invention, and all such modifications and substitutions should be considered within the scope of protection of the present invention.

Claims

1. A cross-chain privacy protection method based on zero-knowledge proof, characterized in that, The method includes: The relay chain proxy node receives cross-chain requests from entities within the application chain, packages them, and sends them to the relay chain. At the same time, the relay chain proxy node is also responsible for forwarding the relay chain's response or cross-chain requests from other chains to the corresponding entities within the application chain. Specifically, for cross-chain transaction requests, the relay chain uses zero-knowledge proofs to protect the privacy of cross-chain transactions. This includes: when a transaction is executed, it is added to a block, a corresponding Merkle proof is generated, and the Merkle tree is updated. For cross-chain data requests, the relay chain uses zero-knowledge proofs to verify the legitimacy of the data requester's identity without exposing the specific identity information of the data requester. This includes: packaging the identity information of members with certain data access permissions into a set, using a hash function to obtain the hash value of the identity information, generating a corresponding Merkle proof, and updating the Merkle tree. The specific process for protecting the privacy of cross-chain transaction requests is as follows: Application chain A node N A Generate cross-chain transaction CCTX and corresponding Merkel proof MP A and Merkel root MR A Then the generated data is sent to the relay chain proxy node G of application chain A. A ; G A After receiving the data, use the relay chain proxy node G of application chain B. B The public key is used to encrypt the cross-chain transaction CCTX and generate the corresponding cross-chain transaction ciphertext C. CCTX Then use Merkel's proof MP A The hash value H-CCTX of the cross-chain transaction CCTX is used as the private input to the zero-knowledge proof generation algorithm, Merkle root MR A Generate zero-knowledge proof π as a common input to the zero-knowledge proof generation algorithm. A ; G A The ciphertext C of the cross-chain transaction CCTX Zero-knowledge proof of π A and Merkel root MR A Send to publisher node P registered in the relay chain of application chain A. A Then P A The received data is forwarded to the publisher node P registered by application chain B in the relay chain. B ; P B After receiving the data, a zero-knowledge proof verification algorithm is used to verify the correctness of the proof; if it fails, G is notified. A Perform a transaction rollback; if successful, the ciphertext C of the cross-chain transaction will be sent. CCTX Forward to G B ; G B After receiving the data, use your private key SK B Decrypt the cross-chain transaction CCTX, and then forward the cross-chain transaction CCTX to N. B ; N B Upon receiving a cross-chain transaction, the transaction details are executed, and then the corresponding Merkle proof (MP) is generated. B and Merkel root MR B ; N B Cross-chain transaction CCTX, and the corresponding Merkel proof MP B and Merkel root MR B Relay chain proxy node G sent to application chain B B ; G B Using Merkel's proof of MP A The hash value H-CCTX of the cross-chain transaction CCTX is used as the private input to the zero-knowledge proof generation algorithm, Merkle root MR B Generate zero-knowledge proof π as a common input to the zero-knowledge proof generation algorithm. B Then π B Send to P B ; P B Proving π with zero knowledge B Forward to P A P A Verify π upon receipt B The correctness is verified, and then the verification result is returned to N. A If correct, then P A The transaction {π A , π B MR A MR B C CCTX Recorded on the relay chain's ledger; The specific process for protecting the privacy of cross-chain data requests is as follows: Application chain A node N A Generate your own identity information (PID) A The corresponding Merkel proof MP PIDA and Merkel Roots MP PIDA And request the data key Key, and then send the generated data to the relay chain proxy node G of application chain A. A ; G A After receiving the data, use the relay chain proxy node G of application chain B. B The public key is used to encrypt the request data key and generate ciphertext C. Key Then use Merkel's proof MP PIDA and identity information PID A H-PID hash value A Merkle root MR serves as the private input to the zero-knowledge proof generation algorithm. PIDA Generate zero-knowledge proof π as a common input to the zero-knowledge proof generation algorithm. PIDA ; G A Request the encrypted data key C Key Knowledge proof π PIDA and Merkel root MR PIDA Send to publisher node P registered in the relay chain of application chain A. A Then P A Forward the data to the publisher node P registered in the relay chain by application chain B. B ; P B After receiving the data, a zero-knowledge proof verification algorithm is used to verify the correctness of the proof; if it fails, G is notified. A Perform a rollback; if successful, send the encrypted C of the requested data key. Key Forward to G B ; G B After receiving the data, use your private key SK B Decrypt the request data key (Key), then forward the Key to N. B ; N B After receiving the key, look up the requested data value and then use G. A The public key is used to encrypt the data and upload it to the IPFS node. After receiving the data, the IPFS node returns the IPFS address of the data. N B Return the obtained IPFS address to G. A G A Use your private key to decrypt the data, then send the data to N. A ; The transaction {π PIDA ,MR PIDA C Key The ,Addr} record is on the relay chain ledger, where Addr represents the IPFS address.

2. The cross-chain privacy protection method based on zero-knowledge proof according to claim 1, characterized in that, The relay chain consists of numerous publisher nodes and channels connecting them. Each publisher node represents an application chain within the relay chain. When an application chain wishes to join the relay chain, it needs to register a new publisher node to represent itself. The publisher nodes are interconnected through channels.

3. The cross-chain privacy protection method based on zero-knowledge proof according to claim 2, characterized in that, The Hyperledger Fabric network is used as privacy support for the relay chain.

4. The cross-chain privacy protection method based on zero-knowledge proof according to claim 3, characterized in that, In the relay chain, each channel has its own independent immutable ledger and corresponding smart contract. The access permissions of the ledger can be set to be visible to the entire network or only to specific participants as needed.

5. A cross-chain privacy protection device based on zero-knowledge proof, characterized in that, include: Memory, used to store programs; A processor for executing a program stored in the memory, the program causing the processor to perform the method as described in any one of claims 1-4.

Citation Information

Patent Citations

  • Method, device and storage medium

    CN111683117A

  • Block chain-based chain network architecture

    CN112866380A