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

By adopting a cross-chain privacy protection method based on zero-knowledge proof in the relay chain, the reliability and scalability problems of relay chains during cross-chain interoperability are solved, and the privacy protection of cross-chain transactions and data requests is realized, improving the security and efficiency of the system.

CN119743263AActive Publication Date: 2025-04-01HARBIN INSTITUTE OF TECHNOLOGY (SHENZHEN) (INSTITUTE OF SCIENCE AND TECHNOLOGY INNOVATION HARBIN INSTITUTE OF TECHNOLOGY SHENZHEN)

Patent Information

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

AI Technical Summary

Technical Problem

Relay chains have reliability and scalability issues during cross-chain interoperability, especially when the number of alliance chains increases, verification latency and transaction throughput decrease. In addition, the relay chain lacks an effective privacy protection mechanism, which makes sensitive data susceptible to leakage or malicious use during transmission and temporary storage.

Method used

Using a cross-chain privacy protection method based on zero-knowledge proof, the relay chain proxy node receives cross-chain requests and packages them to the relay chain. At the same time, the zero-knowledge proof protects the privacy of cross-chain transactions and verifies the identity legitimacy of the data requester without exposing the identity information of the data requester.

Benefits of technology

Through the use of zero-knowledge proof, the relay chain can verify transaction legitimacy without obtaining transaction privacy, ensure privacy and security during data transmission, and improve the reliability and scalability of cross-chain systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119743263A_ABST
    Figure CN119743263A_ABST
Patent Text Reader

Abstract

The invention discloses a cross-chain privacy protection method and device based on zero knowledge proof, and the method comprises the steps: a relay chain agent node receives a cross-chain request from an internal entity of an application chain, packages the cross-chain request, and transmits the packaged cross-chain request to a relay chain; meanwhile, the relay chain agent node is also responsible for forwarding the response of the relay chain or the cross-chain request of other chains to the corresponding entity in the application chain; wherein for a cross-chain transaction request, the relay chain uses zero-knowledge proof to protect the privacy of the cross-chain transaction; and for a cross-chain data request, the relay chain verifies the identity legality of the data requester by using zero-knowledge proof under the condition that the specific identity information of the data requester is not exposed. According to the method, the privacy of cross-chain interoperation can be better protected.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of blockchain, and specifically relates to a cross-chain privacy protection method and device based on zero-knowledge proof. Background Art

[0002] With the application of alliance chains in the Internet of Things, various alliance chains for different IoT scenarios have been proposed, which means that the prospects of multi-chain in the IoT ecosystem are becoming more and more broad. Due to the differences in architecture, consensus, network, etc. between alliance chain systems, it is difficult to achieve information exchange or value transfer between alliance chains, which greatly limits the application and development of alliance chain technology in the IoT scenario. In view of the above problems, cross-chain interoperability is crucial. Existing cross-chain technologies can be roughly divided into notarization schemes, hash locking, and relay chains. As a cross-chain mechanism that is easier to implement in practice, the core point of the centralized notarization scheme is to introduce a highly credible centralized entity. In the complex process of cross-chain interaction, this entity plays a key role, just like a credit rating agency in the financial system, providing authoritative and reliable credit endorsement for verifying the interactive operations between different alliance chain systems, thereby ensuring the security and reliability of cross-chain interaction and ensuring that the interaction process complies with established academic norms and technical standards. Hash locking technology is a cross-chain solution based on the characteristics of cryptographic hash functions. This technology deeply relies on the two key characteristics of hash functions: unidirectionality and low collision. In cross-chain operations, through the subtle use of these features, hash locking can build an accurate and stable interaction mechanism between different alliance chains, thereby ensuring that cross-chain operations can achieve high accuracy and uniqueness under the strict constraints of mathematical principles and cryptographic theory, meeting the requirements of academic research for technical accuracy. Compared with notarization schemes and hash locking technologies, relay chains show unique technical advantages. As a completely decentralized cross-chain technology, there is no centralized entity in the relay chain. This feature fundamentally avoids the potential security risks and trust issues caused by centralization. At the same time, the relay chain has excellent scalability and can dynamically adapt to the development trend of the increasing number of alliance chains and increasingly complex interactive relationships in the Internet of Things environment. It provides a more advanced academic, more flexible and efficient solution for the interoperability between alliance chains, which has strongly promoted the academic research and practical application of the integrated development of the Internet of Things and alliance chains.

[0003] The relay chain mechanism still has reliability and scalability issues. If the number of consortium chains in the relay chain system increases, the verification delay will be extended and the transaction throughput will be reduced. This problem makes it impossible for the consortium chain system to form a close combination with the existing relay chain system. In addition, the availability and functionality of the asynchronous consensus mechanism used in the existing relay chain system depend on the network timing assumption, which means that once the assumption is broken, the system may collapse. From the perspective of privacy protection, the relay chain has serious vulnerabilities in the data interaction and processing process. When the relay chain system is running, as the number of connected consortium chains increases, the privacy risks faced by the system increase exponentially. Since the relay chain needs to collect and process the transaction information, node data, etc. of each consortium chain in order to complete cross-chain verification and information transmission, this process will inevitably involve the flow of a large amount of sensitive data. In this process, the relay chain does not have a perfect privacy protection mechanism to ensure that this data is not leaked or maliciously used. For example, in the verification process, as the number of alliance chains increases, the information interaction required for verification becomes more frequent. This information contains the key privacy data of alliance chain users, such as transaction amount, transaction object, user identity, etc. However, the relay chain lacks effective encryption and access control measures, making this data extremely vulnerable to potential attacks during transmission and storage. Summary of the invention

[0004] In response to the above problems, the present invention provides a cross-chain privacy protection method and device based on zero-knowledge proof, aiming to better protect the privacy of cross-chain interoperability.

[0005] According to a first aspect of an embodiment 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 other chain's cross-chain requests to the corresponding entities within the application chain;

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

[0008] In some embodiments, the relay chain consists of numerous publisher nodes and channels connecting them. The publisher node is the representative of each application chain in the relay chain. When an application chain wishes to join the relay chain, it needs to register a new publisher node to represent itself. Each publisher node is connected to each other through channels.

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

[0010] In some embodiments, in the relay chain, each channel has its own independent immutable ledger and corresponding smart contract, and the access rights of the ledger are 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 proof to protect the privacy of cross-chain transactions, specifically including:

[0012] When a transaction is executed, it is added to a block and a corresponding Merkle proof is generated and the Merkle tree is updated. In order for the relay chain to verify the legitimacy of the transaction without obtaining the privacy of the transaction, the Merkle proof and the hash value of the transaction 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 a zero-knowledge proof. The relay chain can verify the legitimacy of the transaction through the zero-knowledge proof verification algorithm, the zero-knowledge proof and the Merkle tree root.

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

[0014] The identity information of members with certain data access rights is packaged into a set, and a hash function is used to obtain the hash value of the identity information and generate the corresponding Merkle proof and update the Merkle tree; 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 a zero-knowledge proof; the relay chain can verify whether the node requesting the data has access to the data through the zero-knowledge proof verification algorithm, zero-knowledge proof and Merkle tree root.

[0015] In some embodiments, for cross-chain data requests, IPFS is used as a data transfer station. After confirming the identity and authority 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 ciphertext of the data through the IPFS address, and then obtain the requested data after decryption.

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

[0017] Application chain A node N A Generate cross-chain transaction CCTX and corresponding Merkle proof MP A and Merkle root MR A , and then send the generated data to the relay chain proxy node G of application chain AA ;

[0018] G A After receiving the data, the public key of the relay chain proxy node GB of application chain B is used to encrypt the cross-chain transaction CCTX and generate the corresponding cross-chain transaction ciphertext C CCTX , and then use the Merkle proof MP A The hash value H-CCTX of the cross-chain transaction CCTX is used as the private input of the zero-knowledge proof generation algorithm, and the Merkle tree root MR A As the public input of the zero-knowledge proof generation algorithm, generate zero-knowledge proof π A ;

[0019] G A The ciphertext C of the cross-chain transaction CCTX 、Zero-knowledge proof π A and Merkle root MR A Sent to the publisher node P registered in the relay chain of application chain A A , then P A Forward the received data to the publisher node P registered in the relay chain by application chain B B ;

[0020] P B After receiving the data, use the zero-knowledge proof verification algorithm to verify the correctness of the proof; if it fails, notify G A Roll back the transaction; if successful, the ciphertext C of the cross-chain transaction CCTX Forward to G B ;

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

[0022] N B After receiving the cross-chain transaction, the transaction content is executed and the corresponding Merkle proof MP is generated. B and Merkle root MR B ;

[0023] N B The cross-chain transaction CCTX and the corresponding Merkle proof MP B and Merkle root MR B Sent to relay chain proxy node G of application chain B B ;

[0024] G B Using Merkle Proof MP AThe hash value H-CCTX of the cross-chain transaction CCTX is used as the private input of the zero-knowledge proof generation algorithm, and the Merkle tree root MR B As the public input of the zero-knowledge proof generation algorithm, generate zero-knowledge proof π B , then π B Send to P B ;

[0025] P B Zero-knowledge proof π B Forward to P A , P A Verify after receiving π B The correctness of the A ; If correct, then P A The transaction {π A , π B , MR A, MR B, C CCTX}Recorded in the ledger of the relay chain.

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

[0027] Application chain A node N A Generate your own identity information PID A , the corresponding Merkle proof MP PIDA and Merkle root MP PIDA And request data keyword Key, and 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 of the request data keyword is used to encrypt and generate the ciphertext C Key , and then use the Merkle proof MP PIDA and identity information PID A Hash value H-PID A As the private input of the zero-knowledge proof generation algorithm, the Merkle tree root MR PIDA As the public input of the zero-knowledge proof generation algorithm, generate zero-knowledge proof π PIDA ;

[0029] G A Request data keyword ciphertext C Key 、Knowledge proof π PIDA and Merkle root MR PIDA Sent to the 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, use the zero-knowledge proof verification algorithm to verify the correctness of the proof; if it fails, notify G A Roll back; if successful, the ciphertext C of the requested data keyword will be Key Forward to G B ;

[0031] G B After receiving the data, use your own private key SK B Decrypt the request data keyword Key, and then forward the Key to N B ;

[0032] N B After receiving the Key, find the requested data Value and then use G A The public key of the data 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 own private key to decrypt the data and then send the data to N A ;

[0034] The transaction {π PIDA ,MR PIDA ,C Key ,Addr} is recorded in the ledger of the relay chain, and Addr represents the IPFS address.

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

[0036] The embodiment of the present disclosure provides a cross-chain privacy protection method and device based on zero-knowledge proof. The relay chain proxy node receives a cross-chain request from an entity within the application chain, packages it and sends it to the relay chain. At the same time, the relay chain proxy node is also responsible for forwarding the relay chain's response or the cross-chain request of other chains to the corresponding entity in the application chain. Among them, for cross-chain transaction requests, the relay chain uses zero-knowledge proof to protect the privacy of cross-chain transactions. During the whole process, the transaction information received by the relay chain is in the state of ciphertext. The relay chain cannot know the specific transaction information, but the legitimacy of the transaction can be verified through the zero-knowledge proof provided by application chain A and application chain B. For cross-chain data requests, the relay chain uses zero-knowledge proof to verify the legitimacy of the identity of the data requester without exposing the specific identity information of the data requester. During the whole 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 authority and legitimacy of the data requesting node.

[0037] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0039] Figure 1 It is a flow chart of a 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 It is a timing diagram of the cross-chain transaction privacy protection protocol in an embodiment of the present invention;

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

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

[0044] The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the present invention, rather than to limit the present invention. It should also be noted that, for ease of description, only parts related to the present invention, rather than all structures, are shown in the accompanying drawings.

[0045] It should be mentioned before discussing the exemplary embodiments in more detail that some exemplary embodiments are described as processes or methods depicted as flow charts. Although the flow charts describe the steps as sequential processes, many of the steps therein can be implemented in parallel, concurrently or simultaneously. In addition, the order of the steps can be rearranged. The process can be terminated when its operation is completed, but can also have additional steps not included in the accompanying drawings. The process can correspond to a method, function, procedure, subroutine, subprogram, etc.

[0046] The embodiment of the present invention is a cross-chain privacy protection method and device based on zero-knowledge proof, which is mainly used in the field of blockchain, especially alliance chain, and can well protect the privacy of cross-chain interoperability. The embodiments are as follows:

[0047] A cross-chain privacy protection method based on zero-knowledge proof, 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 other chain's cross-chain requests to the corresponding entities within the application chain;

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

[0050] Specifically, Figure 2As shown, the cross-chain system based on the cross-chain privacy protection method of zero-knowledge proof mainly consists of three parts: application chain, alliance chain and cross-chain privacy protection protocol, among which the application chain is an alliance chain with different structures. Each application chain performs its local business. All application chains are equally connected to the relay chain, and cross-chain transactions are executed through the services of the relay chain. Application chains may be built based on different architectures, consensus procedures and system configurations. The inventor introduced the concept of relay chain proxy node so that the application chain can join the network without reconfiguring its settings, which reflects the compatibility and flexibility of this cross-chain model for different application chains, and can adapt to a variety of existing and future possible application chain architectures and configurations, providing integration and interaction possibilities for different types of blockchain applications. The main responsibility of the relay chain proxy node is to connect the application chain with the relay chain and serve as a bridge for information interaction between the two. For example, in a complex blockchain network environment containing multiple application chains with different architectures, the relay chain proxy node is responsible for ensuring that information is accurately and securely transmitted between application chains and relay chains with different architectures and configurations. 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, it is responsible for forwarding the relay chain's response or other chain's cross-chain requests 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 the relay chain proxy node A, which forwards the request to the relay chain after necessary processing. After the relay chain processing is completed, the relay chain proxy node A passes the response back to the corresponding entity in application chain A.

[0051] The relay chain is the core alliance chain in this cross-chain model, and its block structure and data storage format are similar to the application chain. The relay chain receives cross-chain service requests from the application chain, and then verifies the legitimacy and correctness of the corresponding cross-chain transactions. It is like a transportation hub, responsible for coordinating and processing value transfer and information interaction between different application chains to ensure the smooth progress of cross-chain transactions. The relay chain consists of many publisher nodes and channels connecting them. The publisher node is the representative of each application chain in the relay chain. When the application chain wants to join the relay chain, it needs to register a new publisher node to represent itself. After that, all cross-chain requests or responses involving the application chain will be completed by this publisher node. For example, in a cross-chain system containing multiple application chains, each application chain has its corresponding publisher node, and these publisher nodes are interconnected through channels to form an organic whole to jointly complete the tasks of cross-chain transactions and information interaction. The inventor selected Hyperledger Fabric as the underlying infrastructure of the relay chain, that is, using the Hyperledger Fabric network as the privacy support of the relay chain, and its permission architecture is an important 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 a trusted member service provider (MSP). Each application chain needs to 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 authenticated application chains can register publisher nodes in the relay chain, which effectively prevents the intrusion of malicious nodes and ensures the security of the system. At the same time, since the system can fully control the identity of entity members, it is relatively easy to review them, which further enhances the controllability and security of the system and provides a reliable environment for cross-chain transactions.

[0052] As a consortium blockchain system, Hyperledger Fabric natively provides network privacy support through channels. In the relay chain, each channel has its own independent immutable ledger and corresponding smart contract, and the access rights of the ledger can be set to be visible to the entire network or only to specific participants as needed. This means that each application chain does not need to worry about sensitive information leakage when enjoying cross-chain services, and achieves secure isolation and privacy protection of data.

[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 the cross-chain transaction privacy protection protocol, that is, to protect the privacy of cross-chain transactions through zero-knowledge proof, including:

[0055] When a node in the application chain initiates a cross-chain transaction, it does not want the relay chain to obtain specific transaction data, but it needs the relay chain to verify the legitimacy of the transaction to ensure the security of the cross-chain transaction. When a transaction is executed, the transaction will be added to a block and the corresponding Merkle proof will be generated and the Merkle tree will be updated. In order to enable the relay chain to verify the legitimacy of the transaction without obtaining the privacy of the transaction, the inventor uses the Merkle proof and the hash value of the transaction as the private input of the zero-knowledge proof, and the Merkle tree root as the public input of the zero-knowledge proof to generate the zero-knowledge proof. The relay chain can verify the legitimacy of the transaction through the zero-knowledge proof verification algorithm, zero-knowledge proof and Merkle tree root. In this process, the Merkle tree is basically public information, and the relay chain cannot obtain any private data about the transaction through the zero-knowledge proof. The transaction data exists in the form of ciphertext on the relay chain, and only the two parties across the chain 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 legitimacy of the data requester’s identity through zero-knowledge proof without exposing the specific identity information of the data requester, including:

[0057] The identity information of members with certain data access rights is packaged into a set, and 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 access to the data through the zero-knowledge proof verification algorithm, zero-knowledge proof, and Merkle tree root. In this process, the relay chain cannot obtain any information about the identity of the node requesting data.

[0058] In order to speed up data transmission, IPFS is used as a data transfer station. After confirming the identity and authority 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 ciphertext of the data through the IPFS address, and then decrypt it to obtain the requested data.

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

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

[0061]

[0062]

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

[0064] Step 1. Application chain A node N A Generate cross-chain transaction CCTX and corresponding Merkle proof MP A and Merkle root MR A , and then send the generated data to the relay chain proxy node G of application chain A A ;

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

[0066] Step 3, G A The ciphertext C of the cross-chain transaction CCTX 、Zero-knowledge proof π A and Merkle root MR A Sent to the publisher node P registered in the relay chain of application chain A A , then P A Forward the received data to the publisher node P registered in the relay chain by application chain B B ;

[0067] Step 4: P B After receiving the data, use the zero-knowledge proof verification algorithm to verify the correctness of the proof; if it fails, notify G A Roll back the transaction; if successful, the ciphertext C of the cross-chain transaction CCTX Forward to G B ;

[0068] Step 5. G B After receiving the data, use your own 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 After receiving the cross-chain transaction, the transaction content is executed and the corresponding Merkle proof MP is generated. B and Merkle root MR B ;

[0070] Step 7, NB The cross-chain transaction CCTX and the corresponding Merkle proof MP B and Merkle root MR B Sent to relay chain proxy node G of application chain B B ;

[0071] Step 8. G B Using Merkle Proof MP A The hash value H-CCTX of the cross-chain transaction CCTX is used as the private input of the zero-knowledge proof generation algorithm, and the Merkle tree root MR B As the public input of the zero-knowledge proof generation algorithm, generate zero-knowledge proof π B , then π B Send to P B ;

[0072] Step 9: P B Zero-knowledge proof π B Forward to P A , P A Verify after receiving π B The correctness of the A ; If correct, then P A The transaction {π A , π B , MR A, MR B, C CCTX}Recorded in the ledger of the relay chain.

[0073] During the entire process, the transaction information received by the relay chain is in encrypted form, and the relay chain cannot know the specific transaction information, but the legitimacy of the transaction can be verified through the zero-knowledge proof provided by application chain A and application chain B.

[0074] The cross-chain data privacy protection protocol, that is, the privacy protection timing diagram of cross-chain data requests is as follows: Figure 4 The symbols used in the timing diagram are explained in Table 2 below:

[0075]

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

[0077] Step 1. Application chain A node N A Generate your own identity information PID A , the corresponding Merkle proof MP PIDA and Merkle root MP PIDA And request data keyword Key, and 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 of the request data keyword is used to encrypt and generate the ciphertext C Key , and then use the Merkle proof MP PIDA and identity information PID A Hash value H-PID A As the private input of the zero-knowledge proof generation algorithm, the Merkle tree root MR PIDA As the public input of the zero-knowledge proof generation algorithm, generate zero-knowledge proof π PIDA ;

[0079] Step 3, G A Request data keyword ciphertext C Key 、Knowledge proof π PIDA and Merkle root MR PIDA Sent to the 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, use the zero-knowledge proof verification algorithm to verify the correctness of the proof; if it fails, notify G A Roll back; if successful, the ciphertext C of the requested data keyword will be Key Forward to G B ;

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

[0082] Step 6: N B After receiving the Key, find the requested data Value and then use G A The public key of the data 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 own private key to decrypt the data and then send the data to N A ;

[0084] Step 8. Set the transaction {π PIDA , MR PIDA, C Key ,Addr} is recorded in the ledger of the relay chain.

[0085] The disclosed embodiment further provides a cross-chain privacy protection device based on zero-knowledge proof, comprising: a memory for storing a program; a processor for executing the program stored in the memory, wherein the program enables the processor to execute the above-mentioned cross-chain privacy protection method based on zero-knowledge proof.

[0086] Specifically, we can use Figure 5 The architecture of the computing device shown is implemented. Figure 5 The architecture of the computing device is shown. Figure 5 As shown, a computer system 510, a system bus 530, one or more CPUs 540, an input / output 520, a memory 550, etc. The memory 550 can store various data or files used for computer processing and / or communication and program instructions executed by the CPU including the cross-chain privacy protection method based on zero-knowledge proof in the embodiment. Figure 5 The architecture shown is only exemplary and can be adjusted according to actual needs when implementing different devices. Figure 5 One or more components in the memory 550. The memory 550, as a computer-readable storage medium, can be used to store software programs, computer executable programs and modules, such as program instructions / modules corresponding to the cross-chain privacy protection method based on zero-knowledge proof in the embodiment of the present 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, that is, to implement the above-mentioned 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 other chain's cross-chain requests to the corresponding entities within the application chain;

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

[0089] Of course, the processor of the server provided in the embodiment 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 mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required for at least one function; the data storage area may store data created according to the use of the terminal, etc. In addition, the memory 550 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some instances, the memory 550 may further include a memory remotely arranged relative to one or more CPUs 540, and these remote memories may be connected to the device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

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

[0092] In summary, the technical solutions provided by the above embodiments provide a cross-chain privacy protection method and device based on zero-knowledge proof, wherein the relay chain proxy node receives a cross-chain request from an entity within the application chain, packages it and sends it to the relay chain; at the same time, the relay chain proxy node is also responsible for forwarding the response of the relay chain or the cross-chain request of other chains to the corresponding entity within the application chain; wherein, for cross-chain transaction requests, the relay chain uses zero-knowledge proof to protect the privacy of cross-chain transactions. During the entire process, the transaction information received by the relay chain is in the state of ciphertext, and the relay chain cannot know the specific transaction information, but the legitimacy of the transaction can be verified through the zero-knowledge proof provided by application chain A and application chain B; for cross-chain data requests, the relay chain uses zero-knowledge proof to verify the legitimacy of the identity of the data requester without exposing the specific identity information of the data requester. During the entire 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 authority and legitimacy of the requesting data node.

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

[0094] The above contents are further detailed descriptions of the present invention in combination with specific preferred embodiments, and it cannot be determined that the specific implementation of the present invention is limited to these descriptions. For ordinary technicians in the technical field to which the present invention belongs, several simple deductions or substitutions can be made without departing from the concept of the present invention, which should be regarded as falling within the protection scope of the present invention.

Claims

1. A cross-chain privacy protection method based on zero-knowledge proof, characterized in that: The method comprises: 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 other chain's cross-chain requests to the corresponding entities within the application chain; Among them, for cross-chain transaction requests, the relay chain uses zero-knowledge proof to protect the privacy of cross-chain transactions; for cross-chain data requests, the relay chain uses zero-knowledge proof to verify the legitimacy of the identity of the data requester without exposing the specific identity information of the data requester.

2. The cross-chain privacy protection method based on zero-knowledge proof according to claim 1 is characterized in that: The relay chain consists of many publisher nodes and channels connecting them. The publisher node is the representative 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. Each publisher node is connected to each other through channels.

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

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

5. According to claim 1, the cross-chain privacy protection method based on zero-knowledge proof is characterized in that: For cross-chain transaction requests, the relay chain uses zero-knowledge proof to protect the privacy of cross-chain transactions, including: When a transaction is executed, it is added to a block and a corresponding Merkle proof is generated and the Merkle tree is updated. In order for the relay chain to verify the legitimacy of the transaction without obtaining the privacy of the transaction, the Merkle proof and the hash value of the transaction 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 a zero-knowledge proof. The relay chain can verify the legitimacy of the transaction through the zero-knowledge proof verification algorithm, the zero-knowledge proof and the Merkle tree root.

6. The cross-chain privacy protection method based on zero-knowledge proof according to claim 1 is characterized in that: For cross-chain data requests, the relay chain uses zero-knowledge proof to verify the legitimacy of the data requester’s identity without exposing the specific identity information of the data requester, including: The identity information of members with certain data access rights is packaged into a set, and a hash function is used to obtain the hash value of the identity information and generate the corresponding Merkle proof and update the Merkle tree; 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 a zero-knowledge proof; the relay chain can verify whether the node requesting the data has access to the data through the zero-knowledge proof verification algorithm, zero-knowledge proof and Merkle tree root.

7. The cross-chain privacy protection method based on zero-knowledge proof according to claim 6 is characterized in that: For cross-chain data requests, IPFS is used as a data transfer station. After confirming the identity and authority 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 ciphertext of the data through the IPFS address, and then decrypt it to obtain the requested data.

8. According to claim 5, the cross-chain privacy protection method based on zero-knowledge proof is characterized in that: The specific process of privacy protection for cross-chain transaction requests is as follows: Application chain A node N A Generate cross-chain transaction CCTX and corresponding Merkle proof MP A and Merkle root MR A , and then send the generated data to the relay chain proxy node G of application chain A A ; G A After receiving the data, the public key of the relay chain proxy node GB of application chain B is used to encrypt the cross-chain transaction CCTX and generate the corresponding cross-chain transaction ciphertext C CCTX , and then use the Merkle proof MP A The hash value H-CCTX of the cross-chain transaction CCTX is used as the private input of the zero-knowledge proof generation algorithm, and the Merkle tree root MR A As the public input of the zero-knowledge proof generation algorithm, generate zero-knowledge proof π A ; G A The ciphertext C of the cross-chain transaction CCTX 、Zero-knowledge proof π A and Merkle root MR A Sent to the publisher node P registered in the relay chain of application chain A A , then P A Forward the received data to the publisher node P registered in the relay chain by application chain B B ; P B After receiving the data, use the zero-knowledge proof verification algorithm to verify the correctness of the proof; if it fails, notify G A Roll back the transaction; if successful, the ciphertext C of the cross-chain transaction CCTX Forward to G B ; G B After receiving the data, use your own private key SK B Decrypt the cross-chain transaction CCTX, and then forward the cross-chain transaction CCTX to N B ; N B After receiving the cross-chain transaction, the transaction content is executed and the corresponding Merkle proof MP is generated. B and Merkle root MR B ; N B The cross-chain transaction CCTX and the corresponding Merkle proof MP B and Merkle root MR B Sent to relay chain proxy node G of application chain B B ; G B Using Merkle Proof MP A The hash value H-CCTX of the cross-chain transaction CCTX is used as the private input of the zero-knowledge proof generation algorithm, and the Merkle tree root MR B As the public input of the zero-knowledge proof generation algorithm, generate zero-knowledge proof π B , then π B Send to P B ; P B Zero-knowledge proof π B Forward to P A , P A Verify after receiving π B The correctness of the A ; If correct, then P A The transaction {π A , π B , MR A, MR B, C CCTX }Recorded in the ledger of the relay chain.

9. The cross-chain privacy protection method based on zero-knowledge proof according to claim 6 is characterized in that: The specific process of privacy protection for cross-chain data requests is as follows: Application chain A node N A Generate your own identity information PID A , the corresponding Merkle proof MP PIDA and Merkle root MP PIDA And request data keyword 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 of the request data keyword is used to encrypt and generate the ciphertext C Key , and then use the Merkle proof MP PIDA and identity information PID A Hash value H-PID A As the private input of the zero-knowledge proof generation algorithm, the Merkle tree root MR PIDA As the public input of the zero-knowledge proof generation algorithm, generate zero-knowledge proof π PIDA ; G A Request data keyword ciphertext C Key 、Knowledge proof π PIDA and Merkle root MR PIDA Sent to the 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, use the zero-knowledge proof verification algorithm to verify the correctness of the proof; if it fails, notify G A Roll back; if successful, the ciphertext C of the requested data keyword will be Key Forward to G B ; G B After receiving the data, use your own private key SK B Decrypt the request data keyword Key, and then forward the Key to N B ; N B After receiving the Key, find the requested data Value and then use G A The public key of the data 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 own private key to decrypt the data and then send the data to N A ; The transaction {π PIDA ,MR PIDA ,C Key ,Addr} is recorded in the ledger of the relay chain, and Addr represents the IPFS address.

10. A cross-chain privacy protection device based on zero-knowledge proof, characterized in that: include: Memory, used to store programs; A processor, configured to execute a program stored in the memory, wherein the program enables the processor to execute the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Method, device and storage medium

    CN111683117A

  • Block chain-based chain network architecture

    CN112866380A

  • Privacy protection cross-chain transaction verification method based on zero knowledge proof

    CN116562874A

  • Relay chain-based privacy disclosure-free cross-chain method

    CN116722998A

  • Systems and Methods for Enforcing Compliance or Private Transactions

    US20240179020A1

Cited By

  • Cross-chain privacy protection method based on zero knowledge mapping

    CN121000518A