A data verification system implementation method based on blockchain and zero-knowledge proof

The data verification system using blockchain and zero-knowledge proofs solves the problems of security, transparency, data barriers, and monopolies in data transaction models, achieving efficient and secure data authenticity verification and ensuring data privacy and transaction transparency.

CN116707751BActive Publication Date: 2026-06-02SOUTH CHINA NORMAL UNIV

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SOUTH CHINA NORMAL UNIV
Filing Date
2023-05-17
Publication Date
2026-06-02

Smart Images

  • Figure CN116707751B_ABST
    Figure CN116707751B_ABST
Patent Text Reader

Abstract

The application discloses a data verification system implementation method based on a block chain and zero-knowledge proof. In the data verification stage, the data use end pays the corresponding data verification fee to the on-chain smart contract according to the verification requirement, and the demand satisfaction and data real possession are verified through the interaction with the smart contract; in the data declaration stage, the data owner carries out the Merkle tree on the data and generates the characteristic zero-knowledge proof, and the on-chain verification and evidence storage of the data are completed through the interaction with the smart contract, and in the data verification stage, the data owner responds to the challenge of the data real possession, generates the existence proof of the challenge data block set and carries out the on-chain verification and evidence storage, so that the data verification can be independently executed without relying on the third-party service executable environment or the trusted hardware, the independence and safety of the data verification are ensured, and in the whole data real possession verification process, the data is always saved in the local security environment of the data owner, and the complete non-flow of the data is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of blockchain technology, and in particular to a method for implementing a data verification system based on blockchain and zero-knowledge proof. Background Technology

[0002] In related technologies, with the rise of the digital economy era, data resources have become a key element of the digital economy, and the trading of data as a commodity has increasingly become a hot topic in theory and practice. At present, the mainstream data trading model in China mainly relies on data exchanges to act as intermediaries, responsible for collecting and organizing data from all parties and providing trading services to both parties. However, this centralized trading model of directly buying and selling source data has many problems: (1) Security issues: The centralized data trading model concentrates all data on a centralized platform. If the platform is attacked by hackers or internal employees abuse their privileges, users' data may be stolen or misused, leading to privacy leaks and other problems; (2) Lack of transparency issues: The trading process and trading rules of the centralized data trading platform are usually set by the platform, which lacks transparency. Users lack control and supervision over the platform's decision-making and operations, making it difficult to guarantee fairness; (3) Data barrier problem: Centralized data trading models usually require that the ownership of data belong to the platform, and users cannot freely trade their data to other platforms or individuals, resulting in data barriers that limit the liquidity and use value of user data; (4) Centralized monopoly problem: Centralized data trading models are usually monopolized by a few platforms, making it difficult for users to obtain diversified trading options, and the platform often has bargaining power, which can easily lead to problems such as bundled sales and price increases; (5) Risk control problem: Centralized data trading models often lack effective risk control mechanisms, and once a transaction risk occurs, it will cause serious losses to users.

[0003] To address the aforementioned issues, existing research has focused on data trading models, such as those based on data computation results. In this model, the transaction content is the computational result of the data, realizing the value of the data without actually trading the data itself, thus resolving security issues such as data resale and leakage. However, the lack of data visibility to the demand side in this model also raises questions about data authenticity. Current research focuses on verifying data authenticity, primarily relying on the introduction of third-party services or trusted execution environments. This approach cannot achieve complete data immobility, suffers from third-party trust issues and hardware limitations, and cannot guarantee data privacy, resulting in high verification costs and low efficiency. Summary of the Invention

[0004] This invention aims to address at least one of the technical problems existing in the prior art. To this end, this invention proposes a data verification system implementation method based on blockchain and zero-knowledge proofs, which can solve the problems of security, transparency, data barriers, monopoly, and risk control in existing data transaction models.

[0005] On one hand, embodiments of the present invention provide a method for implementing a data verification system based on blockchain and zero-knowledge proofs. The method includes a data declaration phase and a data verification phase, and includes the following steps:

[0006] During the data verification phase, the data user prepays the corresponding data verification fee to the on-chain smart contract according to the verification requirements, and completes the verification of requirement satisfaction and data authenticity by interacting with the smart contract; the data user is the verifier of data authenticity.

[0007] During the data declaration phase, the data owner performs Merkle tree transformation on the data and generates a feature zero-knowledge proof, completing on-chain verification and notarization of the data through interaction with the smart contract; during the data verification phase, the data owner responds to challenges to the authenticity of the data, generates a proof of the existence of the challenge data block set, and performs on-chain verification and notarization; the data owner is the prover of the authenticity of the data;

[0008] Specifically, the initialization parameters of the zero-knowledge proof are set through a trusted setting sub-community, and the legitimacy of the user's identity is verified by a CA institution; the trusted setting sub-community and the CA institution constitute a trusted setting community; and the existence of Merkle tree information, data characteristic information, and challenge data block sets are recorded through a blockchain.

[0009] In some embodiments, the Merkle treeification of data includes constructing a feature Merkle tree and constructing a data block Merkle tree;

[0010] The feature Merkle tree is used for data requirement satisfaction verification;

[0011] The Merkle tree of the data blocks is used for data authenticity verification.

[0012] In some embodiments, the construction of the feature Merkle tree includes a confusion setting for the leaf node layer, wherein the confusion of the leaf node layer includes confusion of feature values ​​and confusion of new nodes;

[0013] The obfuscation of the feature value is achieved by hashing the first random number and the feature to obtain the leaf node value;

[0014] The obfuscation of the new node is performed by hashing a second random number and used as the new leaf node of the feature Merkle tree.

[0015] In some embodiments, the data block Merkle tree includes a multi-branch tree structure; for the aggregation of multiple child nodes, the data block Merkle tree performs a hash operation on the substrings by sequentially concatenating the substrings of the hash strings of each node.

[0016] In some embodiments, when generating the feature zero-knowledge proof, the feature proof circuit corresponds to the calculation process of the secret input, which includes a first Merkle path, a second Merkle path, and a first preset value; the first Merkle path is obtained by recording the values ​​of sibling nodes on the path from the leaf node to the root node, the second Merkle path is obtained by the position of the sibling nodes, and the first preset value is calculated from the tree depth.

[0017] In some embodiments, the smart contract includes a data declaration contract and a data verification contract; the data declaration contract is used in the data declaration phase to complete the on-chain declaration and notarization of the data to be sold by the data owner; the data verification contract is used to complete the data authenticity verification; the data authenticity verification includes data demand satisfaction verification and declaration and verification of data authenticity.

[0018] In some embodiments, the data declaration contract defines a structure that includes a data owner, a feature Merkle root hash, a data block Merkle root hash, a list of data features, and the existence of a data block set.

[0019] On the other hand, embodiments of the present invention provide an implementation device for a data verification system based on blockchain and zero-knowledge proof. The data processing of the device includes a data declaration stage and a data verification stage. The device includes:

[0020] The first module is used in the data verification phase, where the data user prepays the corresponding data verification fee to the on-chain smart contract according to the verification requirements, and completes the verification of requirement satisfaction and data authenticity by interacting with the smart contract; the data user is the verifier of data authenticity.

[0021] The second module is used in the data declaration phase, where the data owner performs Merkle tree transformation on the data and generates a feature zero-knowledge proof, and completes on-chain verification and notarization of the data through interaction with the smart contract; in the data verification phase, the data owner responds to the challenge of the data's true ownership, generates a proof of the existence of the challenge data block set, and performs on-chain verification and notarization; the data owner is the prover of the data's authenticity.

[0022] Specifically, the initialization parameters of the zero-knowledge proof are set through a trusted setting sub-community, and the legitimacy of the user's identity is verified by a CA institution; the trusted setting sub-community and the CA institution constitute a trusted setting community; and the existence of Merkle tree information, data characteristic information, and challenge data block sets are recorded through a blockchain.

[0023] On the other hand, embodiments of the present invention provide an implementation apparatus for a data verification system based on blockchain and zero-knowledge proof, comprising:

[0024] At least one memory for storing programs;

[0025] At least one processor is used to load the program to execute the aforementioned implementation method of a data verification system based on blockchain and zero-knowledge proof.

[0026] On the other hand, embodiments of the present invention provide a storage medium storing a computer-executable program, which, when executed by a processor, is used to implement the aforementioned method for implementing a data verification system based on blockchain and zero-knowledge proofs.

[0027] This invention provides a data verification system implementation method based on blockchain and zero-knowledge proof, which has the following features:

[0028] Beneficial effects:

[0029] This invention addresses this issue by having the data user prepay a verification fee to an on-chain smart contract during the data verification phase, and verifying the fulfillment of the requirement and the authenticity of the data ownership through interaction with the smart contract. During the data declaration phase, the data owner performs Merkle tree generation on the data and generates a zero-knowledge proof, completing on-chain verification and notarization of the data through interaction with the smart contract. Furthermore, during the data verification phase, the data owner responds to challenges to the authenticity of the data ownership, generating a proof of the existence of the challenge data block set and performing on-chain verification and notarization. This approach eliminates reliance on third-party service execution environments or trusted hardware, ensuring the independence and security of data verification. Throughout the entire data authenticity verification process, the data remains securely stored in the data owner's local environment, preventing any data leakage and achieving complete data immobility.

[0030] Additional aspects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. Attached Figure Description

[0031] The present invention will be further described below with reference to the accompanying drawings and embodiments, wherein:

[0032] Figure 1 This is a flowchart illustrating a data verification system implementation method based on blockchain and zero-knowledge proof, according to an embodiment of the present invention.

[0033] Figure 2 This is a schematic diagram of a data authenticity verification scenario according to an embodiment of the present invention;

[0034] Figure 3This is a schematic diagram of the framework of a ZK-DAV method according to an embodiment of the present invention;

[0035] Figure 4 This is a schematic diagram illustrating the construction process of an FMT according to an embodiment of the present invention;

[0036] Figure 5 This is a schematic diagram of a feature-proving secret input generation algorithm according to an embodiment of the present invention;

[0037] Figure 6 This is a schematic diagram of a DMT construction algorithm according to an embodiment of the present invention;

[0038] Figure 7 This is a schematic diagram of a secret input generation algorithm for proving the existence of multiple data blocks according to an embodiment of the present invention;

[0039] Figure 8 This is a schematic diagram of an algorithm for a zero-knowledge data authenticity verification circuit according to an embodiment of the present invention;

[0040] Figure 9 This is a schematic diagram of an algorithm for a zero-knowledge multiple data block existence proof circuit according to an embodiment of the present invention;

[0041] Figure 10 This is a schematic diagram of the parameter design of a data declaration contract according to an embodiment of the present invention;

[0042] Figure 11 This is a schematic diagram of a data declaration contract method according to an embodiment of the present invention.

[0043] Figure 12 This is a schematic diagram illustrating the content of a data verification contract according to an embodiment of the present invention;

[0044] Figure 13 This is a schematic diagram of a data declaration stage according to an embodiment of the present invention;

[0045] Figure 14 This is a schematic diagram of a data verification stage according to an embodiment of the present invention. Detailed Implementation

[0046] Embodiments of the present invention are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and should not be construed as limiting the present invention.

[0047] In the description of this invention, it should be understood that the orientation descriptions, such as up, down, front, back, left, right, etc., are based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing this invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limiting this invention.

[0048] In the description of this invention, "several" means one or more, "multiple" means two or more, "greater than," "less than," and "exceeding" are understood to exclude the stated number, while "above," "below," and "within" are understood to include the stated number. The use of "first" and "second" in the description is merely for distinguishing technical features and should not be construed as indicating or implying relative importance, or implicitly indicating the number of indicated technical features, or implicitly indicating the order of the indicated technical features.

[0049] In the description of this invention, unless otherwise explicitly defined, terms such as "setting," "installing," and "connecting" should be interpreted broadly, and those skilled in the art can reasonably determine the specific meaning of the above terms in this invention in conjunction with the specific content of the technical solution.

[0050] In the description of this invention, the terms "one embodiment," "some embodiments," "illustrative embodiment," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0051] Before describing specific embodiments, the terms used in the embodiments of this application are explained as follows:

[0052] Data validation: Data validation refers to the process of checking and verifying data using specific methods to ensure its accuracy, completeness, consistency, and validity during data processing. In modern information society, massive amounts of data are collected, stored, and processed, making data quality crucial. Data validation is one way to ensure data quality. Data validation can be implemented through various methods, such as rule checks, logical checks, and legality checks. During the data validation process, appropriate inspection standards and procedures need to be developed based on specific circumstances to ensure that the data reaches the expected quality level. Data validation is typically an important component of data quality management, helping to improve data quality and reduce the impact of data errors on business operations, thereby ensuring the smooth operation of the enterprise or organization.

[0053] zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) are a cryptographic technique used to prove the authenticity of something without revealing the information itself. They can prove that someone possesses certain information without exposing that information, thus protecting privacy. The design and implementation of zk-SNARKs require advanced mathematical and cryptographic knowledge, with the design of zero-knowledge proof circuits being crucial.

[0054] Zero-knowledge proof circuits are computer circuits that represent a method for implementing zero-knowledge proof technology. Specifically, zero-knowledge proof circuits use algorithms and circuit design to encrypt, verify, or decrypt certain information. During verification, the prover can demonstrate their possession of certain information without disclosing it to the verifier. This technology can be used for applications such as anonymous identity authentication, secure transactions, and privacy protection. Inputs are divided into private inputs (Witness) and public inputs (Statements). Private inputs are data that the prover knows but does not wish to disclose, while public inputs are data accessible to all participants throughout the proof process. In zero-knowledge proof circuits, public inputs are typically used to verify the proof result, ensuring the credibility of the entire proof process.

[0055] Merkle Tree: A Merkle tree, also known as a hash tree, is a tree-like data structure built using hash functions to verify the integrity and consistency of data in large datasets. In a Merkle tree, each leaf node is the hash value of a data block, while each non-leaf node is the hash value of its child nodes. Therefore, a large dataset can be split into many smaller data blocks, and the hash values ​​of each smaller data block are merged into the hash value of a parent node. Ultimately, the hash values ​​of all data blocks can be used to obtain the hash value of the root node through a series of hash calculations. The hash value of the root node can be used to verify the integrity and consistency of the dataset.

[0056] Merkle Path: A Merkle path is a type of path used in Merkle trees to verify data integrity. In a Merkle tree, if we want to verify whether the hash value of a leaf node is correct, we can construct a path from that leaf node to the root node. This path consists of a set of hash values, each of which is the hash value of the leaf node's sibling nodes. By calculating the hash values ​​of these hash values ​​sequentially along the path, we can eventually obtain the hash value of the root node. If the hash value of the root node is the same as the known root node hash value, then the hash value of that leaf node is correct. This method is also known as a Merkle proof.

[0057] Data authenticity refers to the fact that the source and content of data are indeed from the claimed source and have not been tampered with or forged. In the modern internet age, data authenticity has become an important issue because there is a large amount of counterfeit and false information and data on the internet, which often mislead people's judgments and decisions.

[0058] Blockchain: Blockchain is a decentralized, distributed database technology that uses cryptographic algorithms to link data together in blocks, forming an immutable, transparent, public, and decentralized ledger. Blockchain technology has now developed into a general-purpose technology, widely used in data trading platforms, data verification tools, data auditing systems, data sharing platforms, carbon emission monitoring and management systems, healthcare data trading and sharing platforms, and digital government service platforms.

[0059] Smart contracts: Smart contracts are automated contracts based on blockchain technology that can automatically execute protocols and provide distributed, transparent, efficient, and secure transaction services. The code rules of a smart contract are predetermined by the two parties involved, and the contract executes automatically once the conditions are met. Smart contracts are not controlled by any centralized institution, achieving decentralization and possessing security and immutability.

[0060] Existing technologies for verifying data authenticity primarily rely on blockchain, cloud platforms, and trusted execution environments, which can achieve reliable verification of data authenticity. However, they also have the following problems:

[0061] First, there are issues with third-party trust or hardware limitations. Existing technical solutions mainly rely on third-party services or trusted hardware, thus presenting problems with third-party trust and hardware limitations. During the verification process, these solutions cannot ensure data privacy and security, and the verification process is costly and inefficient.

[0062] Secondly, it's impossible to achieve complete data seclusion. Existing technical solutions require data to flow out of the owner's local secure environment during the data verification process. Data flow can lead to uncertainty and loss of control, causing data owners to lose absolute control over their data, thereby increasing data security risks.

[0063] Based on this, embodiments of the present invention provide a data verification system implementation method based on blockchain and zero-knowledge proof, which does not rely on any third party or trusted hardware. The entire process is completed only by the prover and the verifier, ensuring that the verification process does not leak any data privacy and that the data does not flow at all, thereby achieving efficient and reliable data authenticity verification.

[0064] Specifically, the method of this embodiment can be applied to the following products:

[0065] 1. Data Trading Platform: Build a decentralized data trading platform based on blockchain and zero-knowledge proof technology to provide data trading services for various industries. This platform can protect the privacy of data providers and users while ensuring data authenticity, achieving secure and efficient data trading.

[0066] 2. Data Verification Tool: Develop a data verification tool based on blockchain and zero-knowledge proof technology, allowing users to verify the authenticity of data without disclosing sensitive information. This tool can be applied in fields such as finance, healthcare, education, and the metaverse, helping various institutions and individuals verify data.

[0067] 3. Data Audit System: Design a data audit system that utilizes blockchain and zero-knowledge proof technology to verify the authenticity of internal enterprise data. This system can be applied to scenarios such as supply chain management and enterprise risk assessment to ensure the authenticity and integrity of enterprise data.

[0068] 4. Data Sharing Platform: Establish a data sharing platform that utilizes blockchain and zero-knowledge proof technology to achieve cross-industry and cross-institutional data sharing. This platform can verify and share data without compromising data privacy, thereby improving data utilization efficiency.

[0069] 5. Carbon Emission Monitoring and Management System: Develop a carbon emission monitoring and management system that uses blockchain and zero-knowledge proof technology to verify the authenticity of corporate carbon emission data. This system can help governments and environmental agencies more effectively regulate corporate carbon emissions and achieve fairness and transparency in carbon emission trading.

[0070] 6. Healthcare Data Trading and Sharing Platform: In the healthcare field, this technology can be applied to the secure trading of sensitive information such as patient health data and medical research data. By building a data trading platform based on blockchain technology, it can achieve privacy protection, traceability, and secure trading of medical data, promote the circulation and sharing of medical data under compliant conditions, and drive innovative development in medical research and clinical applications.

[0071] 7. Digital Government Service Platform: Establish a digital government service platform that utilizes blockchain and zero-knowledge proof technology to verify the authenticity of government data. This platform can improve the efficiency and transparency of government services while protecting citizen privacy.

[0072] These applications represent only a portion of the potential uses of this data authenticity verification system. In reality, it can be applied to other areas requiring data authenticity verification and privacy protection. By using this data authenticity verification system based on blockchain and zero-knowledge proof technology, the digital transformation of various industries can be driven, enabling safer and more efficient data transactions and sharing.

[0073] The embodiments of this application will be described in detail below with reference to the accompanying drawings:

[0074] Reference Figure 1 This invention provides a method for implementing a data verification system based on blockchain and zero-knowledge proofs. The method includes a data declaration phase and a data verification phase. Specifically, the method includes, but is not limited to, the following steps:

[0075] Step S110: In the data verification phase, the data user prepays the corresponding data verification fee to the on-chain smart contract according to the verification requirements, and completes the verification of requirement satisfaction and data authenticity by interacting with the smart contract; the data user is the verifier of data authenticity.

[0076] Step S120: In the data declaration phase, the data owner performs Merkle tree transformation on the data and generates a feature zero-knowledge proof, and completes on-chain verification and notarization of the data through interaction with the smart contract; in the data verification phase, the data owner responds to the challenge of the data's true ownership, generates a proof of the existence of the challenge data block set, and performs on-chain verification and notarization; the data owner is the prover of the data's authenticity.

[0077] Specifically, the initialization parameters of the zero-knowledge proof are set through a trusted setting sub-community, and the legitimacy of the user's identity is verified by a CA institution; the trusted setting sub-community and the CA institution constitute a trusted setting community; and the existence of Merkle tree information, data characteristic information, and challenge data block sets are recorded through a blockchain.

[0078] In data authenticity verification scenarios, the issue of data authenticity is essentially the issue of data supply and demand consistency, such as... Figure 2 As shown, it mainly includes two aspects: First, the issue of data requirement satisfaction, that is, whether the data declared by the data owner meets the user's data requirements. The definition of data requirement satisfaction is as follows: Assume that the data feature set of data D is D f ={f1,f2,L,f m The data requirement of the data requester is D. r ={r1,r2,L,r m′}, if and only if D r ∈D f At that time, data D can meet data requirements D. rSecondly, there is the issue of data ownership authenticity, namely, whether the data owner truly possesses data D, and whether each declared data characteristic corresponds to real data. Data ownership authenticity is defined as follows: Assume that the set of data blocks for data D is Di. d ={d1,d2,L,d n The set of challenge data blocks randomly selected by the data user is D. c ={c1,c2,L,c n′}, if and only if D c ∈D d At that time, data D faces the challenge of data authenticity.

[0079] To address the issue of data authenticity verification, this application proposes a zero-knowledge data authenticity verification method (ZK-DAV) based on zk-SNARKs and an improved Merkle tree. The ZK-DAV method consists of two phases: a data declaration phase, where the data owner pre-declares relevant information about the stored data on the blockchain; and a data verification phase, including verification of data requirement fulfillment and verification of data ownership authenticity. The ZK-DAV method model is as follows: Figure 3 As shown, it consists of data owners, data users, a trusted settings community, smart contracts, and a blockchain. The roles of each component in the data transmission model are described below:

[0080] Data User DU: DU is the verifier of data authenticity. During the data verification phase, DU needs to prepay the corresponding data verification fee to the on-chain contract according to its verification requirements, and complete the verification of requirement fulfillment and data authenticity by interacting with the data verification smart contract;

[0081] Data Owner (DO): The DO is the certifier of data authenticity. During the data declaration phase, the DO first performs Merkle tree generation on the data and generates zero-knowledge proofs of the data features. It then interacts with the data declaration contract to complete on-chain verification and notarization of the data. During the data verification phase, the DO responds to challenges to the authenticity of the data ownership, generating proofs of the existence of the challenge data block set and performing on-chain verification and notarization.

[0082] Trusted Settings Community (TSC): The TSC is the only trusted entity, comprising the Trusted Settings sub-community and the CA (Certified Authority). The Trusted Settings sub-community provides multi-party trusted settings, completing the initial parameter settings for zero-knowledge proofs. The CA verifies the legitimacy of the user's identity, endorses the user, and generates public-private key pairs.

[0083] Smart Contracts (SC): Smart contracts act as executors of data verification. The data declaration contract is responsible for the on-chain declaration and notarization of data, while the data verification contract is responsible for verifying the authenticity of the data.

[0084] Blockchain BC records data-related information, such as Merkle tree information, data characteristic information, and the existence of a certain data block set, while providing a secure execution environment for smart contracts.

[0085] It is understood that, regarding the data Merkle treeification involved in the above methods, the data Merkle treeification designed in this embodiment includes constructing a Feature Merkle Tree (FMT) and a Data Block Merkle Tree (DMT). The Feature Merkle Tree is used for data requirement fulfillment verification; the Data Block Merkle Tree is used for data authenticity verification.

[0086] like Figure 4 The diagram illustrates the construction process of the FMT. The design of the FMT lies in the obfuscation settings at the leaf node level. This obfuscation includes eigenvalue obfuscation and obfuscation of new nodes. Specifically, eigenvalue obfuscation is achieved through a first random value r1. i With feature f i Perform hash operations on leaf ri =H(r1) i ||f i The purpose of using this as a leaf node value is to prevent verifiers from brute-forcing plaintext information of data features when the data domain containing the data features is limited. The obfuscation of the new node also generates a second random number r2. i And through the second random number r2 i Perform hash operations on leaf ri =H(r2) ii The purpose of adding new leaf nodes as features in the Merkle tree is to avoid exposing all leaf nodes to the verifier, thus preventing knowledge leakage.

[0087] from Figure 4 As shown in the construction process of FMT, the getLeafLayer function uses two types of obfuscation settings to construct the leaf node layer. Lines 4-5 are the construction of the intermediate layer. The getInternalLayer function takes the previous output fmt[l-1] as the input of the current operation and calculates the current output fmt[1] until the root node.

[0088] from Figure 5 As shown in the feature proof secret input generation algorithm, in generating feature zero-knowledge proof π r Time characteristic proof circuit c r Corresponding secret input w r The calculation process involves rows 1-5 recording the values ​​of sibling nodes along the path from the leaf node to the root node to obtain the first Merkel path `path`, and the positions of the sibling nodes (0: left node, 1: right node) to obtain the second Merkel path `pathIndex`. The first preset value is `l`. p From tree depth lf Calculated. Output path, pathIndex, and l p Evidence is only evidence that the party who knows it.

[0089] In this embodiment, data blocks are split into rows. The most significant features of the DMT structure are the node aggregation method and the number of tree branches. Specifically, the Data Block Merkle Tree (DMT) is a multi-branch tree structure, which reduces tree height and the number of intermediate nodes. Secondly, for the aggregation of multiple child nodes, DMT uses a concatenation-then-hash approach to reduce the number of hash operations. First, it concatenates the substrings h′=h1[0:1]||h2[l+1:2l]||h3[2l+1:3l]||h4[3l+1:4l] sequentially. Then, it performs a hash operation h=H(h′) on h′. Assuming the hash string length calculated by H(g) is L, then l=L / 4. The operation [i:j] represents taking the substring between indices i and j.

[0090] Specifically, such as Figure 6 The DMT construction algorithm shown in the figure has the following structure: lines 2-3 construct the leaf node layer, lines 4-6 construct the intermediate layer, the getGroups function obtains the groups of each node in the current layer, that is, the child nodes of the same parent node are grouped together, and the splitJoint function completes the aggregation of each node group. The aggregation method is the method of first concatenating and then hashing as described above.

[0091] When verifying the authenticity of data possession, the verifier may challenge multiple data blocks. This embodiment designs the existence proof and verification of multiple data blocks based on multiproof, and the existence of multiple data blocks only needs to be proven and verified once.

[0092] like Figure 7 The multi-block existence proof circuit c shown d In generating a multi-block existence proof ∏ d The corresponding secret input w d Calculation process. Line 4, the getIdxGroups function, groups the output nodes of each path group in each layer, i.e., nodes with the same parent node are grouped together. Line 5, gn, gets the number of path groups in each layer. Line 7, gl, gets the length of the Merkel path group corresponding to each idxGroup. Lines 8-10 record the position of the output nodes of each path group. Lines 11-14 perform a difference operation between the current complete child node group dmt[d][startIdx:endIdx] and the output node set exclPath obtained by the getINodes function to obtain the current Merkel path path[d]. Here, startIdx and endIdx represent the starting position of the current complete child node group in the dmt[d] layer, respectively.

[0093] In this embodiment, as Figure 8 shown by the zero-knowledge data authenticity proof circuit c r algorithm. Here, left and right respectively represent the left child node and the right child node for aggregation in each layer of the Merkle path. They are used to distinguish whether the intermediate output node INode and the Merkle path node path[i] in the Merkle path correspond to the left child node or the right child node through the Merkle path index pathIndex. The first to third lines are the aggregation of the Merkle path at the leaf node layer, and the intermediate output node corresponds to the leaf node leaf of the input feature r , and the fourth to eighth lines are the aggregation of the Merkle path at the intermediate layer. The aggregated nodes are the output node INode of the previous operation and the corresponding Merkle path node path[i]. Keep calculating upwards until the root node value corresponding to the Merkle path path is obtained, and compare it with the root node value root r of the corresponding FMT to determine whether the corresponding secret input w r =<path, pathIndex, l p > satisfies the constraint conditions of the zero-knowledge data feature proof circuit c r .

[0094] As Figure 9 shown by the algorithm of the zero-knowledge multi-data block existence proof circuit. INodes are the input nodes of each aggregation group in the current layer, pathStart is the start position of each path group in path, idxStart represents the start position of the corresponding input node group of each path group in pathIndex, and glStart represents the start position of the first path group in each layer in gl. The newINodes in line 4 are the output nodes after aggregation of each path group in the current layer. Lines 5 - 13 traverse each path group in the current layer and perform aggregation. Here, the getCurPath function and the getCurIndex function obtain the current path group and the corresponding input node position, and based on the getCompPath function, obtain the corresponding complete path group compPath. The spliceHash function splices the node values in compPath to generate a new hash string in the manner of Algorithm 4.3, and performs a hash operation on this hash string through the MiMC7 hash circuit. Finally, compare the obtained root node with the DMT root node root d to determine whether the secret input w d =<pathIndex, path, g, gn, l.b satisfies the constraint conditions of the circuit c d .

[0095] In this embodiment, the on-chain smart contract includes a Data Declaration Contract (DDSC) and a Data Verification Contract (DVSC). The Data Declaration Contract is used in the data declaration phase to complete the on-chain declaration and notarization of the data to be sold by the data owner. The Data Verification Contract is used to verify the authenticity of the data; data authenticity verification includes verification of data demand fulfillment and declaration and verification of the authenticity of data ownership. The parameters of the Data Declaration Contract are designed as follows: Figure 10 As shown. The data declaration contract method is as follows. Figure 11 As shown. It is understandable that the DDSC contract defines a structure `dataInfo`, whose members include the data owner (`owner`) and the FMT root hash value (`root`). r DMT root hash value d The system considers data features (a list of features) and the existence of a set of data blocks (dataBlocks). The `Verify` method is a zk-SNARKs verification function, while the `declareData` method is responsible for on-chain declaration and notarization of the data. It first uses the `Verify` method to verify the zero-knowledge proofs ∏ for each feature. r The correctness is verified, and then getDataInfo[root] is used. d Retrieve the data from the corresponding data structure `dataInfo` and update the relevant data information, including data feature information, i.e., `feature[leaf]`. r [i]] = true.

[0096] In this embodiment, the content of the data verification contract is as follows: Figure 12 As shown. It contains a contract variable `ddsc` of type `DDSC` used to retrieve relevant data information, i.e., the corresponding `dataInfo`. In DVSC, the constructor assigns a value to the contract variable `ddsc` by passing in the DDSC contract address `DDSCAddress`. The `verifyDR` function is responsible for verifying the fulfillment of data requirements, which is achieved through `getDataInfo[root]`. d Retrieve data-related information (dataInfo) and, based on data requirements (D) r And feature information to verify the satisfaction of data requirements, i.e., requirement(feature[D r [i]) The declareDB function is responsible for declaring the existence of challenge data block sets on the chain. It first verifies the existence of multiple data blocks using the Verify function with a zero-knowledge proof ∏. d The correctness of the data is verified, and after successful verification, it is also handled by getDataInfo[root]. d Retrieve the corresponding data information dataInfo, and use the on-chain index value h dUpdate the seller's ownership of this data block set, i.e., dataBlock[hd] = true. The verifyDB function is responsible for verifying the existence of a data block set, first by using getDataInfo[root]... d Get the data information dataInfo, and verify the existence of the data block set by the on-chain index value hd of the data block set, i.e., require(dataBlock[hd]).

[0097] As can be seen from the above, the data verification system implementation method based on blockchain and zero-knowledge proof in this application embodiment can be implemented through the following steps:

[0098] Step 1: Initialization Phase. The specific details are as follows:

[0099] Initialization is primarily performed by the Trusted Setting Community (TSC). The TSC's CA (Certificate Authority) accepts the security parameter λ′. Let G1 and G2 be the additive and multiplicative cyclic groups, respectively. Two distinct generators P and q are selected from G1 and G2, respectively. A bilinear mapping e: G1 × G1 → G2 is chosen, along with two secure hash functions H: and H1: And randomly select As its private key sk ca and public key PK ca =sP, sP→G1. Finally, the system common parameter pp is obtained through formula (1):

[0100] Gsetup(1 λ′ )→pp formula (1)

[0101] Where pp=(λ′,G1,G2,e,P,q,pk) ca Participating users provide their unique identifiers (IDs) to the CA, as shown in formula (2). The CA then generates the corresponding public-private key pair using the UserKenGen key generation algorithm.

[0102] UserKeyGen(pp,pk ca′ Formula (2) → (pk, sk)

[0103] Data ownership is based on a zero-knowledge feature proof circuit c r And the zero-knowledge data block existence proof circuit c d The security parameter λ is generated through multi-party secure trust setting via the Trusted Setting Community (TSC), as shown in formula (3). The corresponding zero-knowledge proof key pair (ek) is obtained using the zero-knowledge proof trusted setting algorithm TSetup. r ,vk r ) and (ekd ,vk d ):

[0104] Tsetup(1 λ ,c)→(ek,vk) Formula (3)

[0105] Among them, (ek) r ,vk r (c) is a zero-knowledge data feature proof circuit. r The corresponding proof key and verification key, (ek) d ,vk d (c) is a zero-knowledge multiple data block existence proof circuit. d The corresponding proof key and verification key.

[0106] Step Two: Data Declaration Phase. For example... Figure 13 As shown, the data declaration phase mainly involves DO declaring its data on the chain and verifying and storing the relevant information of the data on the chain. Specifically, it is divided into the data Merkle tree module, the data feature proof module, and the data on-chain verification and storage module.

[0107] Step 1: The data owner (DO) selects a random number r1 = {r11, r12, ..., r1...} m}, r2={r21,r22,L,r2 k1}, where r2 corresponds to the insertion position of each leaf node as p = {p1, p2, ..., p k1}, as shown in formulas (4) and (5), through Figure 4 The algorithm shown and Figure 6 The algorithm shown generates fmt and dmt:

[0108] FMTGen(D f Formula (4) → fmt

[0109] DMTGen(D d Formula (5) → dmt

[0110] Step 2: As shown in formulas (6) and (7), the data owner DO utilizes... Figure 5 The algorithm shown generates each data feature f i Corresponding to the zero-knowledge feature proof circuit c d The secret input w r And generate the corresponding data feature zero-knowledge proof π r :

[0111] FWtnsGen(fmt,l f idx i →w riFormula (6)

[0112] Prove(ek r ,x ri ,w ri )→π ri Formula (7)

[0113] Among them, l f Let fmt be the tree depth, and idx be the depth of the tree. i For data features f i Corresponding to the position in the leaf node layer of fmt, x ri For circuit c r public input, w ri For circuit c r The secret input;

[0114] Step 3: The DO and DDSC contracts interact by calling the declareData function to declare and store relevant data information on the chain, as shown in formula (8):

[0115] declareData(π r ,vk r root r root d leaf r ) Formula (8)

[0116] Where leaf represents each data feature f i This corresponds to the leaf node in the fmt leaf node layer.

[0117] Step 3: Data Validation Phase. For example... Figure 14 As shown, the data verification phase focuses on verifying both the fulfillment of data requirements and the authenticity of data ownership. Specifically, it includes a data requirement fulfillment verification module and a data authenticity ownership verification module. In the data requirement fulfillment verification, relevant data information such as data characteristics has already been stored during the data declaration phase; therefore, only the on-chain index value corresponding to each requirement characteristic needs to be calculated. However, the verification of data authenticity requires a challenge and response from both parties.

[0118] Step 1: The data user DU uses DO's public key to pk. o Encrypt its data requirements D r =[f1',f2',L,f' k2 ],get And send it to DO, where f i 'The data features required for DU;

[0119] Step 2: DO uses its private key to decrypt D rBased on the data characteristics of DU requirements f i 'Get its corresponding first type of confusion r1′={r1′1,r1′2,L,r1′ in fmt. k2 Then, use DU's public key to pk. u Encrypt r1′ and generate r1′ enc And send it to DU;

[0120] Step 3: Decrypt r1′ enc Obtain r1′, and calculate each demand feature f. i 'The corresponding on-chain index value, i.e., leaf r ′ i =H(f) i '||r1 i ′);

[0121] Step 4: DU obtained its various demand characteristics f' through calculation. i The corresponding index value leaf′ on the chain ri It interacts with the data verification smart contract DVSC and calls the verifyDR function to verify the satisfaction of its data requirements through formula (9):

[0122] verifyDR(root d leaf r ′)→1 / 0 formula (9)

[0123] Step 5: The data user DU randomly selects the data block cd′ to challenge. i This forms the challenge data block set D′ c =[cd′1,cd′2,L,cd′ w ], where cd′ i It might be an incomplete data block, then a PK is performed using the DO public key. o Encryption D′ c get And send it to the DO, along with the verification cost. v Pre-deposit into the DVSC contract;

[0124] Step 6: DO uses its private key sk o Decryption Get D′ c ;

[0125] Step 7: DO finds the challenge data blocks cd′ based on data D. i Missing data content, and construct the corresponding complete data block cd i ;

[0126] Step 8: As shown in formulas (10) and (11), DO utilizes Figure 8 The algorithm shown generates the challenge data block set D c Corresponding to the zero-knowledge multiple data block existence proof circuit c d The secret input w d And generate a zero-knowledge proof of the existence of the data block set π. d :

[0127] MDWtnsGen(dmt,l d ,b,idx c →w d Formula (10)

[0128] Prove(ek d ,x d ,w d )→π d Formula (11)

[0129] Among them, l d The tree depth corresponding to dmt, idx c For each challenge data block, x represents the position of the leaf node in the DMT layer. d For circuit c d public input, w d For circuit c d The secret input;

[0130] Step 9: The data owner DO interacts with the data verification smart contract DVSC by calling the declareDB function, and verifies π on-chain through formula (12). d And declare a challenge to data block set D c Holding:

[0131] declareDB(π d ,vk d root d leaf d ,h d )→1 / 0 formula (12)

[0132] Among them, leaf d For each challenge data block, the corresponding leaf node in the DMT is h d =H(leaf) d1 ||leaf d2 ||L||leaf dw The value is the index on the chain representing the existence of the challenge data block set. If the declareDB method executes successfully, DO will receive the verification cost. v Otherwise, DU will receive the prepaid verification cost. v .

[0133] Step 10: DO uses DU's public key to pk u Encryption D c generate And send it to DU;

[0134] Step 11: DU uses its private key sk u Decryption D c And calculate D using formula (13) c The on-chain index value h d ′:

[0135] H(H(D c [0])||H(D c [1])||L||H(D c [m-1]))→h′ d Formula (13)

[0136] Step 12: DU and DVSC contracts interact by calling the verifyDB function to verify the challenge data block set D using formula (14). c The existence of the data, that is, verifying the data provider's ownership of the data.

[0137] verifyDB(root d ,h′ d )→1 / 0 formula (14)

[0138] As described above, this embodiment, based on the structure of FMT and DMT, obtains a feature Merkle tree (FMT) and a data block Merkle tree (DMT) by Merkle treeing the data. Simultaneously, obfuscation design is implemented in the leaf node layer of the FMT to ensure the security of data feature information; furthermore, the DMT structure is improved to make it suitable for constructing large datasets, thereby enhancing verification efficiency. For the verification of data authenticity, corresponding zero-knowledge data feature proof circuits and zero-knowledge multi-data block existence proof circuits are designed. These two proof circuits are responsible for verifying data requirement satisfaction and verifying data authenticity, respectively, achieving credible proof and private verification of data authenticity, ensuring data privacy and security. The data authenticity proof and verification are divided into two stages: in the data declaration stage, Merkle treeing of the data, proof of data features, and on-chain declaration and storage of data-related information are completed; in the data verification stage, relevant smart contracts and blockchain technology are used to verify data requirement satisfaction and data authenticity. This process design achieves modularity and serialization of the entire process, improving the efficiency and reliability of data verification while avoiding the risk of data privacy leakage.

[0139] In summary, the data verification system implementation method based on blockchain and zero-knowledge proof provided in this application has the following beneficial effects:

[0140] First, it eliminates reliance on third-party services or trusted hardware environments. This embodiment achieves complete autonomy throughout the entire data authenticity verification process, without depending on any third-party services or trusted execution environments. This avoids third-party trust issues or hardware limitations, enhancing the independence and security of the verification process.

[0141] Secondly, it protects data privacy and enables confidential verification. This embodiment, through Merkle tree processing of the data and the design of a zero-knowledge proof circuit, ensures that no actual data content is disclosed throughout the verification process, thus guaranteeing data privacy. Simultaneously, it achieves confidential verification of data authenticity, meeting the data owner's need for data privacy protection.

[0142] Third, the data remains completely immobile, ensuring the data owner's control. Throughout the entire data authenticity verification process, the data remains within the owner's local secure environment, without needing to be transmitted or flow over a network. This design reduces the risk of data leakage, ensures the data owner's absolute control over their data, and enhances data security.

[0143] Fourth, it improves verification efficiency and is suitable for verifying large datasets. This embodiment improves and optimizes the Merkle tree structure and zero-knowledge proof circuit, enhancing verification efficiency and making it more suitable for verifying large datasets. This feature enables the invention to handle scenarios involving large-scale data authenticity verification, meeting the practical needs of the big data era.

[0144] This invention provides an implementation device for a data verification system based on blockchain and zero-knowledge proof. The data processing of the device includes a data declaration stage and a data verification stage. The device includes:

[0145] The first module is used in the data verification phase, where the data user prepays the corresponding data verification fee to the on-chain smart contract according to the verification requirements, and completes the verification of requirement satisfaction and data authenticity by interacting with the smart contract; the data user is the verifier of data authenticity.

[0146] The second module is used in the data declaration phase, where the data owner performs Merkle tree transformation on the data and generates a feature zero-knowledge proof, and completes on-chain verification and notarization of the data through interaction with the smart contract; in the data verification phase, the data owner responds to the challenge of the data's true ownership, generates a proof of the existence of the challenge data block set, and performs on-chain verification and notarization; the data owner is the prover of the data's authenticity.

[0147] Specifically, the initialization parameters of the zero-knowledge proof are set through a trusted setting sub-community, and the legitimacy of the user's identity is verified by a CA institution; the trusted setting sub-community and the CA institution constitute a trusted setting community; and the existence of Merkle tree information, data characteristic information, and challenge data block sets are recorded through a blockchain.

[0148] The content of the method embodiments of the present invention is applicable to the device embodiments. The specific functions implemented by the device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above methods.

[0149] This invention provides an apparatus for implementing a data verification system based on blockchain and zero-knowledge proofs, comprising:

[0150] At least one memory for storing programs;

[0151] At least one processor is used to load the program for execution. Figure 1 This paper presents an implementation method for a data verification system based on blockchain and zero-knowledge proof.

[0152] The content of the method embodiments of the present invention is applicable to the device embodiments. The specific functions implemented by the device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above methods.

[0153] This invention provides a storage medium storing a computer-executable program, which, when executed by a processor, is used to implement... Figure 1 This paper presents an implementation method for a data verification system based on blockchain and zero-knowledge proof.

[0154] The content of the method embodiments of the present invention is applicable to the storage medium embodiments. The specific functions implemented by the storage medium embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above methods.

[0155] Furthermore, embodiments of the present invention also provide a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device can read the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, causing the computer device to perform... Figure 1 This paper presents an implementation method for a data verification system based on blockchain and zero-knowledge proof.

[0156] The embodiments of the present invention have been described in detail above with reference to the accompanying drawings. However, the present invention is not limited to the above embodiments, and various changes can be made within the scope of knowledge possessed by those skilled in the art without departing from the spirit of the present invention. Furthermore, the embodiments of the present invention and the features thereof can be combined with each other unless otherwise specified.

Claims

1. A method for implementing a data verification system based on blockchain and zero-knowledge proof, characterized in that, The method includes a data declaration phase and a data verification phase, and the method includes the following steps: During the data verification phase, the data user prepays the corresponding data verification fee to the on-chain smart contract according to the verification requirements, and completes the verification of requirement satisfaction and data authenticity by interacting with the smart contract; the data user is the verifier of data authenticity. During the data declaration phase, the data owner performs Merkle tree transformation on the data and generates a feature zero-knowledge proof, completing on-chain verification and notarization of the data through interaction with the smart contract; during the data verification phase, the data owner responds to challenges to the authenticity of the data, generates a proof of the existence of the challenge data block set, and performs on-chain verification and notarization; the data owner is the prover of the authenticity of the data; Specifically, the initialization parameters of the zero-knowledge proof are set through a trusted setting sub-community, and the legitimacy of the user's identity is verified by a CA institution; the trusted setting sub-community and the CA institution constitute a trusted setting community; and the existence of Merkle tree information, data characteristic information, and challenge data block sets are recorded through a blockchain.

2. The method for implementing a data verification system based on blockchain and zero-knowledge proof according to claim 1, characterized in that, The Merkle treeification of the data includes constructing a feature Merkle tree and constructing a data block Merkle tree; The feature Merkle tree is used for data requirement satisfaction verification; The Merkle tree of the data blocks is used for data authenticity verification.

3. The method for implementing a data verification system based on blockchain and zero-knowledge proof according to claim 2, characterized in that, The constructed feature Merkle tree includes a confusion setting for the leaf node layer, wherein the confusion of the leaf node layer includes confusion of feature values ​​and confusion of new nodes; The obfuscation of the feature value is achieved by hashing the first random number and the feature to obtain the leaf node value; The obfuscation of the new node is performed by hashing a second random number and used as the new leaf node of the feature Merkle tree.

4. The method for implementing a data verification system based on blockchain and zero-knowledge proof according to claim 3, characterized in that, The data block Merkle tree includes a multi-way tree structure; for the aggregation of multiple child nodes, the data block Merkle tree performs a hash operation on the substrings by sequentially concatenating the substrings of the hash strings of each node.

5. The method for implementing a data verification system based on blockchain and zero-knowledge proof according to claim 1, characterized in that, When generating the feature zero-knowledge proof, the feature proof circuit corresponds to the calculation process of the secret input. The calculation process of the secret input includes a first Merkle path, a second Merkle path, and a first preset value. The first Merkle path is obtained by recording the values ​​of sibling nodes on the path from the leaf node to the root node. The second Merkle path is obtained by the position of the sibling nodes. The first preset value is calculated from the tree depth.

6. The method for implementing a data verification system based on blockchain and zero-knowledge proof according to claim 1, characterized in that, The smart contract includes a data declaration contract and a data verification contract; the data declaration contract is used in the data declaration phase to complete the on-chain declaration and notarization of the data to be sold by the data owner; the data verification contract is used to complete the data authenticity verification; the data authenticity verification includes the data demand satisfaction verification and the declaration and verification of the data's true ownership.

7. The method for implementing a data verification system based on blockchain and zero-knowledge proof according to claim 6, characterized in that, The data declaration contract defines a structure that includes the data owner, the feature Merkle root hash value, the data block Merkle root hash value, the data feature list, and the existence of the data block set.

8. A data verification system implementation device based on blockchain and zero-knowledge proof, characterized in that, The data processing procedure of the device includes a data declaration stage and a data verification stage. The device includes: The first module is used in the data verification phase, where the data user prepays the corresponding data verification fee to the on-chain smart contract according to the verification requirements, and completes the verification of requirement satisfaction and data authenticity by interacting with the smart contract; the data user is the verifier of data authenticity. The second module is used in the data declaration phase, where the data owner performs Merkle tree transformation on the data and generates a feature zero-knowledge proof, and completes on-chain verification and notarization of the data through interaction with the smart contract; in the data verification phase, the data owner responds to the challenge of the data's true ownership, generates a proof of the existence of the challenge data block set, and performs on-chain verification and notarization; the data owner is the prover of the data's authenticity. Specifically, the initialization parameters of the zero-knowledge proof are set through a trusted setting sub-community, and the legitimacy of the user's identity is verified by a CA institution; the trusted setting sub-community and the CA institution constitute a trusted setting community; and the existence of Merkle tree information, data characteristic information, and challenge data block sets are recorded through a blockchain.

9. A data verification system implementation device based on blockchain and zero-knowledge proof, characterized in that, include: At least one memory for storing programs; At least one processor is configured to load the program to execute a data verification system implementation method based on blockchain and zero-knowledge proof as described in any one of claims 1-7.

10. A storage medium, characterized in that, It stores a computer-executable program, which, when executed by a processor, is used to implement a data verification system implementation method based on blockchain and zero-knowledge proof as described in any one of claims 1-7.