A blockchain cross-chain interactive data integrity verification method
By using Merkel tree and polynomial commitment technology to generate evidence information in blockchain cross-chain interaction, the reliability and accuracy of data integrity verification in cross-chain interaction is solved, and low-overhead, pluggable chain of custody supervision and data privacy protection are achieved.
Patent Information
- Application Number
- CN202111535374.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-15
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2041-12-15
AI Technical Summary
The existing cross-chain interaction technology lacks in-depth research on data integrity verification, which makes it difficult to guarantee the reliability and accuracy of data integrity verification in cross-chain interaction.
A blockchain cross-chain interactive data integrity verification method is proposed. The original data is processed and blocked by the data owner. Evidence information is generated using Merkel tree and polynomial commitment technology, and the chain of custody is verified to ensure the integrity of cross-chain data.
It realizes the accuracy and completeness verification of cross-chain interactive data, reduces the pressure of audit information storage in the chain of custody, and ensures the privacy of data and the reliability of verification.
Smart Images

Figure CN114329621B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of cloud computing security and data auditing technology, and specifically to a method for verifying the integrity of cross-chain interactive data in blockchains. Background Art
[0002] As the underlying technical solutions of blockchain are becoming more and more perfect, blockchain presents a broad prospect for application development. However, due to the multi-dimensional heterogeneity of the current blockchain platform technology implementation, it is difficult for different applications built on different platforms or on the same platform to easily connect and collaborate across platforms. The "data island" problem between chains has greatly restricted the application and development of blockchain. In order to meet this challenge, cross-chain technology for building trusted interactions between chains has gradually become the focus of the industry. At present, the industry has made preliminary explorations and accumulations in the cross-chain field. The cross-chain solutions that are discussed more include notary methods, relays, side chains, hash locks, and distributed key control. Cross-chain technology can connect scattered blockchain islands and become a bridge for blockchain expansion. However, existing technologies generally focus on the technical implementation of cross-chain, and lack in-depth research on consistency issues such as integrity verification in cross-chain interactions.
[0003] At present, data integrity verification schemes are mainly used in cloud storage. In order to reduce the burden of user storage management, users outsource a large amount of local data to the cloud and access the data remotely through the Internet. Once users outsource data to the cloud, they no longer own the data, which also brings many security issues. Cloud service providers may tamper with or delete data that users rarely access to reduce storage costs. For this reason, a series of data integrity verification schemes have emerged to verify whether the data stored in the cloud has been tampered with. So far, there has been no research on data integrity verification methods in cross-chain interactions.
[0004] Provable Data Possession (PDP) and Proof of Recyclability (POR) are classic data integrity verification schemes. Later, third-party audits were introduced to verify the integrity of data storage in cloud servers. However, third-party auditors may collude with cloud servers to produce false data integrity verification results to deceive users. If third-party audits are applied in cross-chain interactions, they may also lead to false verification results for the same reason.
[0005] Therefore, there needs to be a reasonable way to solve the problem of data integrity verification during cross-chain interactions to ensure the reliability and accuracy of regulatory results. Summary of the invention
[0006] In order to solve the above problems, the present invention proposes a blockchain cross-chain interactive data integrity verification method.
[0007] The verification method comprises the following steps:
[0008] Step 1: The data owner processes the original data F, and sends the original data F and the processed first data group to the data sending chain;
[0009] Step 2: The data sending chain processes the interactive data F~, and sends the interactive data F~ and the processed second data group to the data receiving chain;
[0010] Step 3: When the custody chain verifies the integrity of the cross-chain data, a challenge message chal is generated on the custody chain, and the challenge message chal is sent to the data sending chain and the data receiving chain;
[0011] Step 4: After receiving the challenge information chal, the data sending chain and the data receiving chain generate evidence information respectively and send the evidence information back to the custody chain. The custody chain verifies the integrity of the cross-chain data based on the evidence information. If the evidence verification of the data sending chain and the data receiving chain passes, it indicates that the cross-chain interaction data is complete, otherwise the cross-chain interaction data is incomplete.
[0012] Preferably, the method for processing the original data F in step 1 includes:
[0013] Parameter setting: G is a multiplication cyclic group, and the parameter g is randomly generated 1 ∈G, set the data block size blocksize and S, the data owner divides the original data F into B blocks according to the data block size blocksize, B = F / blocksize, and divides each data block into S parts, and obtains the data of each part {d i,j} i∈[0,B-1],j∈[0,S-1] ∈Z p , where d i,j represents the data of the jth part of the ith data block of the original data F, the set Z p ={0,1,2,...,p-1} is the multiplicative cyclic group modulo p, where p is any prime number;
[0014] Generate data labels: Calculate labels for divided data blocks Generate a set of data labels
[0015] Generate audit information: Construct a Merkle tree MT, with nodes marked as n κ =(l κ ,h κ ), where κ is the unique index of each node, l κis the sum of the number of nodes that the κth node can reach downward, h κ is the hash value corresponding to the node; for the index in the tree is κ j The leaf nodes of For other non-leaf nodes, l κ = l 2κ +l 2κ+1 ,h κ =H(n 2κ ||n 2κ+1 ), where function H is the SHA256 hash generation algorithm;
[0016] Data storage: the original data F, parameter g 1 , and the Merkle tree sends MT into the data sending chain.
[0017] Preferably, in step 2, the interaction data Methods for processing include:
[0018] Data processing: The data transmission chain processes the data to be exchanged. Divide into B blocks in the same way, and divide each data block into S parts to obtain the divided data. in Represents the interaction data Data of the jth part of the i-th data block;
[0019] Generate key: Randomly generate parameter g 2 ∈G, calculate the private key sk, sk is composed of s and n, that is, sk = (s, n), and the public key pk, pk is composed of and Composition, that is in and The values of s, n and j can be substituted into the calculation to obtain the private key sk and the public key pk to form a public-private key pair (sk, pk), s∈Z p Generate the signature in the transaction when the original data F is written into the data sending chain, n∈Z p The random value nonce contained in the above transaction;
[0020] Generate audit information: for the interaction data Calculation Mark according to Calculate the signature corresponding to each tag in, is to apply the polynomial commitment algorithm to the data The polynomial obtained after processing;
[0021] Data transfer, the interaction data Parameter g2 , public key pk, the set of each partial signature Enter the data receiving chain.
[0022] Preferably, the parameter data block size blocksize is set at 4KB or 6KB, and S is set within [512, 1024].
[0023] Preferably, the method for generating the challenge information chal on the custody chain in step 3 comprises: establishing a set {0, 1, ..., S-1}, randomly selecting a subset in the set {0, 1, ..., S-1} As a challenge set, randomly select a random value and q∈Z p As the subset The coefficient of , generates a challenge message Where C is the number of challenged data parts.
[0024] Preferably, the method for generating evidence information in step 4 includes:
[0025] Evidence information generation of the data transmission chain: on the data transmission chain, for each challenged leaf node Select all the sibling nodes of this node from bottom to top to form θ c , generate sending chain evidence information Among them, n root It is the root node of the Merkle tree MT; It is composed of Select the challenged mark composition;
[0026] The data receiving chain evidence information generation: on the data receiving chain, the challenged signature Multiplication R c The second party obtains the signature proof of the challenged part Setting the polynomial Based on the interaction data And challenge chal in q to calculate the polynomial commitment y = P (q) ∈ Z p , polynomial proof In order to prevent y from leaking some data privacy information, y is further masked: the parameter ε∈Z is randomly generated p , choose a random function h():G→Z p , calculate the parameter M = λ ε ∈G, Get the hidden parameter χ=h(M)∈Z p , after calculation, we get the new y′=χy+ε∈Z p, generate receiving chain evidence information φ = (M, σ, y′, ω).
[0027] Preferably, for each data block corresponding to the challenge set, the data sending chain calculates its evidence information based on the audit information stored in its own transaction; the data receiving chain calculates its evidence information based on the audit information stored in its own transaction.
[0028] Preferably, the integrity verification method includes:
[0029] For the data transmission chain, from the set Select the challenged mark composition right calculate The chain of custody uses the challenged node and θ c The set of sibling nodes is calculated to get the new root node. If the new root node and n root If they are the same, it proves that the data sending chain has transmitted complete data information;
[0030] For the data receiving chain, the data sending chain Multiplication R c The second party gets the mark proof of the challenged part and transmitted to the chain of custody, which utilizes the equation:
[0031]
[0032] The integrity is verified. If the equation holds, it proves that the data on the data receiving chain is stored completely. Otherwise, it proves that the data is not stored completely. Here, e:G×G→G is a bilinear pairing calculation.
[0033] Preferably, the method for verifying the equation is to apply four bilinear pairings to calculate e(M·σ χ ,g 2 ), e(ρ χ ,λ),e(ω χ ,η·λ -q ) to verify whether the equation holds.
[0034] Compared with the prior art, the present invention has the following beneficial effects:
[0035] The present invention transforms blockchain transaction data, reduces the storage pressure of audit information in the chain of custody, and realizes low-overhead, pluggable chain of custody supervision. The cross-chain interactive supervision model is designed, and the Merkle tree and polynomial commitment technology are used to process the data, realizing accurate verification of the integrity of cross-chain interactive data while ensuring privacy. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 It is a flow chart of the verification method of the present invention;
[0037] Figure 2 It is a schematic diagram of a model role of the present invention;
[0038] Figure 3 It is a schematic diagram of the verification model flow of the present invention. DETAILED DESCRIPTION
[0039] The technical solutions in the embodiments of the present invention will be described clearly and completely below in conjunction with the accompanying drawings in the embodiments of the present invention. To make the above-mentioned objects, features and advantages of the present invention more clearly understandable, the present invention will be further described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[0040] A method for verifying the integrity of cross-chain interactive data of blockchains, specifically comprising the following steps:
[0041] Before the data is written into the data transmission chain, the data owner processes the data first. The processing process is as follows:
[0042] First, the data owner divides the original data F into B blocks of blocksize, and each data block is divided into S parts; a multiplication cycle group G is determined, and the parameter g is randomly generated. 1 ∈G; In order to mark the on-chain data and facilitate the subsequent cross-chain data integrity verification, the labels are calculated for the divided data blocks Generate a set of data labels Construct a Merkle tree MT with S leaf nodes, and the nodes in the tree are marked as n κ =(l κ ,h κ ), where κ is the unique index of each node, l κ is the sum of the number of nodes that the κth node can reach downward, h κ is the hash value corresponding to the node. j The leaf nodes of For other non-leaf nodes n κ , l κ = l 2κ +l 2κ+1 ,h κ =H(n 2κ ||n 2κ+1 ), where function H is the SHA256 hash generation algorithm. 1 , MT sends the data into the data sending chain.
[0043] When cross-chain data interaction occurs, the data sending chain is responsible for the data to be transmitted. The processing process is as follows:
[0044] The data transmission chain is responsible for the data to be transmitted. Divide the data into B blocks of blocksize, and divide each data block into S parts; then generate the key pair required for data processing verification, and randomly generate the parameter g 2 ∈G, calculate sk=(s,n), Generate a public-private key pair (sk, pk); then, Recalculate Marks according to Calculate the signature The data g 2 , pk, Enter the data receiving chain.
[0045] When the chain of custody verifies the integrity of cross-chain data, a challenge message chal is generated on the chain of custody. A set of random index values is randomly selected from the set {1,2,…,S} Randomly select random values and q∈Z p , generate a challenge message And sent to the data sending chain and the data receiving chain.
[0046] After receiving the challenge information, the data sending chain and the data receiving chain generate evidence information based on the challenge information. Select all the sibling nodes of this node from bottom to top to form θ c , generate evidence information On the data receiving chain, for the challenged part, calculate Setting the polynomial According to the data stored on the receiving chain and q in the challenge chal, we can calculate y = P (q) ∈ Z p , To prevent y from leaking some data privacy information, y is further masked. Randomly generate parameter ε∈Z p , choose a random function h():G→Z p , calculate M = λ ε ∈G, we get the hidden parameter χ=h(M)∈Z p , after calculation, we get the new y′=χy+ε∈Z p Generate evidence information φ = (M, σ, y′, ω).
[0047] When the supervisory link receives the evidence information, it verifies the integrity based on the evidence information. calculate The chain of custody uses the challenged node and θ cThe set of sibling nodes is calculated to get the new root node. If the new root node and n root If the data receiving chain is the same, it proves that the data sending chain has transmitted the complete data information; for the data receiving chain, the data sending chain uses Calculated The data is sent to the chain of custody, which verifies the integrity using the following equation. If the equation holds, it proves that the data on the receiving chain is stored completely, otherwise it proves that the data is not stored completely.
[0048]
[0049] If the evidence verification of both the data sending chain and the data receiving chain passes, it means that the cross-chain interaction data is complete.
[0050] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A blockchain cross-chain interactive data integrity verification method, characterized in that: The verification method comprises the following steps: Step 1: The data owner processes the original data F, and sends the original data F and the processed first data group to the data sending chain; Step 2: The data sending chain processes the interactive data F~, and sends the interactive data F~ and the processed second data group to the data receiving chain; Step 3: When the custody chain verifies the integrity of the cross-chain data, a challenge message chal is generated on the custody chain, and the challenge message chal is sent to the data sending chain and the data receiving chain; Step 4: After receiving the challenge information chal, the data sending chain and the data receiving chain generate evidence information respectively, and send the evidence information back to the custody chain. The custody chain verifies the integrity of the cross-chain data based on the evidence information. If the evidence verification of the data sending chain and the data receiving chain passes, it indicates that the cross-chain interaction data is complete, otherwise the cross-chain interaction data is incomplete; The method for processing the original data F in step 1 includes: Parameter setting: G is a multiplication cyclic group, and the parameter g1∈G is randomly generated. The data block size blocksize and S are set. The data owner divides the original data F into B blocks according to the data block size blocksize, and divides each data block into S parts to obtain the data of each part {d i,j } i∈[0,B-1],j∈[0,S-1] ∈Z p , where d i,j represents the data of the jth part of the ith data block of the original data F, the set Z p ={0,1,2,...,p-1} is the multiplicative cyclic group modulo p, where p is any prime number; Generate data labels: Calculate labels for divided data blocks Generate a set of data labels Generate audit information: Construct a Merkle tree MT, with nodes marked as n κ =(l κ ,h κ ), where κ is the unique index number of each node, l κ is the sum of the number of nodes that the κth node can reach downward, h κ is the hash value corresponding to the node; for the index in the tree is κ j The leaf nodes of For other non-leaf nodes, l κ = l 2κ +l 2κ+1 ,h κ =H(n 2κ ||n 2κ+1 ), where function H is the SHA256 hash generation algorithm; Data storage: Send the original data F, parameter g1, and Merkle tree to MT into the data sending chain; The method for processing the interactive data F~ in step 2 includes: Data processing: The data transmission chain divides the interactive data F~ into B blocks in the same way, and each data block is divided into S parts to obtain the divided data in Represents the interaction data Data of the jth part of the i-th data block; Generate key: randomly generate parameter g2∈G, calculate private key sk, sk is composed of s and n, that is, sk=(s,n), public key pk, pk is composed of and Composition, that is in and The values of s, n and j can be substituted into the calculation to obtain the private key sk and the public key pk to form a public-private key pair (sk, pk), s∈Z p Generate the signature in the transaction when the original data F is written into the data sending chain, n∈Z p The random value nonce contained in the above transaction; Generate audit information: for the interaction data Calculation Mark according to Calculate the signature corresponding to each tag in, is to apply the polynomial commitment algorithm to the data The polynomial obtained after processing; Data transfer, the interaction data Parameter g2, public key pk, set of each partial signature Enter the data receiving chain.
2. A blockchain cross-chain interactive data integrity verification method according to claim 1, characterized in that: The parameter data block size blocksize is set at 4KB or 6KB, and S is set within [512, 1024].
3. A blockchain cross-chain interactive data integrity verification method according to claim 2, characterized in that: The method for generating the challenge information chal on the custody chain in step 3 includes: establishing a set {0, 1, ..., S-1}, randomly selecting a subset in the set {0, 1, ..., S-1} As a challenge set, randomly select a random value and q∈Z p As the subset The coefficient of generates a challenge message Where C is the number of challenged data parts.
4. A blockchain cross-chain interactive data integrity verification method according to claim 3, characterized in that: The method of generating evidence information in step 4 includes: Evidence information generation of the data transmission chain: on the data transmission chain, for each challenged leaf node Select all the sibling nodes of this node from bottom to top to form θ c , generate sending chain evidence information Among them, n root It is the root node of the Merkle tree MT; It is composed of Select the challenged mark composition; The data receiving chain evidence information generation: on the data receiving chain, the challenged signature Multiplication R c The second party obtains the signature proof of the challenged part Setting the polynomial Based on the interaction data And challenge chal in q to calculate the polynomial commitment y = P (q) ∈ Z p , polynomial proof In order to prevent y from leaking some data privacy information, y is further masked: the parameter ε∈Z is randomly generated p , choose a random function h():G→Z p , calculate the parameter M = λ ε ∈G, Get the hidden parameter χ=h(M)∈Z p , after calculation, we get the new y′=χy+ε∈Z p , generate receiving chain evidence information φ = (M, σ, y′, ω).
5. A blockchain cross-chain interactive data integrity verification method according to claim 4, characterized in that: For each data block corresponding to the challenge set, the data sending chain calculates its evidence information based on the audit information stored in its own transaction; The data receiving chain calculates its evidence information based on the audit information stored in its own transactions.
6. A blockchain cross-chain interactive data integrity verification method according to claim 5, characterized in that: The integrity verification method comprises: For the data transmission chain, from the set Select the challenged mark composition right calculate The chain of custody uses the challenged node and θ c The set of sibling nodes is calculated to get the new root node. If the new root node and n root If they are the same, it proves that the data sending chain has transmitted complete data information; For the data receiving chain, the data sending chain Multiplication R c The second party gets the mark proof of the challenged part and transmitted to the chain of custody, which utilizes the equation: The integrity is verified. If the equation holds, it proves that the data on the data receiving chain is stored completely. Otherwise, it proves that the data is not stored completely. Here, e:G×G→G is a bilinear pairing calculation.
7. According to claim 6, a blockchain cross-chain interactive data integrity verification method is characterized in that: The method to verify the equation is to use four bilinear pairings to calculate e(M·σ χ ,g2), e(ρ χ ,λ),e(ω χ ,η·λ -q ) to verify whether the equation holds.