Multi-user zero-knowledge proof method for distributed data storage environment

By adopting multi-user zero-knowledge proof method and obfuscating circuit technology in a distributed data storage environment, the problem of multi-user verification of data accuracy and integrity while protecting private data privacy is solved, and data sharing with high security and transparency is achieved and verification process.

CN119483971APending Publication Date: 2025-02-18GUANGZHOU FANGHE DATA SERVICE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411511972.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-28
Publication Date
2025-02-18

AI Technical Summary

Technical Problem

In a distributed data storage environment, how to verify the correctness and integrity of data with multiple users participating while ensuring that the private data privacy of each user is strictly protected?

Method used

The multi-user zero-knowledge proof method is used to generate obfuscation circuits through the verification party, and use inadvertent transmission protocols to exchange information, so that each user can only obtain the input line value in the obfuscation circuit corresponding to his own input. The user evaluates the obfuscating circuit based on the line values ​​of other users received from the broadcast and the individual line values, and sends the evaluation results to the verification party, and the verification party verifies the validity of the user's evaluation results.

Benefits of technology

The private data privacy of each user during the multi-user joint verification process is strictly protected, preventing data leakage and tampering, improving the security and transparency of the system, and enhancing mutual trust and cooperation among users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119483971A_ABST
    Figure CN119483971A_ABST
Patent Text Reader

Abstract

The invention discloses a multi-user zero-knowledge certification method for a distributed data storage environment, which effectively protects privacy and avoids sensitive information leakage through zero-knowledge certification and a confusion circuit technology when a user certifies that data is owned or calculates correctness, and prevents unauthorized access due to complexity of a confusion circuit. The security of data in transmission and storage is ensured, the security exchange of information between a verification party and a user is ensured through an inadvertent transmission protocol, information leakage is prevented, the transparency and credibility of the system are enhanced through a multi-party participation verification mechanism, mutual trust and cooperation among users are promoted, the verification party verifies a user evaluation result, the verification process is ensured to be accurate and reliable, and the verification efficiency is improved. The method establishes a trust foundation for cooperation, improves the stability and efficiency of a distributed data storage environment, has universality and flexibility, and is suitable for various distributed storage scenes needing data privacy protection and verification.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data privacy technology, and in particular to a multi-user zero-knowledge proof method for a distributed data storage environment. Background Art

[0002] In today's data-driven industries, distributed data analysis is playing an increasingly important role. With the advancement of informatization, various data have gradually shifted from traditional paper records to digitalization, forming a huge and complex data set. Through in-depth analysis of these data, we can better understand business conditions, patterns and effects, provide decision-making support for enterprises, researchers and government departments, and thus improve the quality and efficiency of various services.

[0003] The application of distributed data analysis in various industries is mainly reflected in cross-institutional data sharing and collaborative computing. Different institutions, such as enterprises, research centers and government agencies, each hold a large amount of unique data, including but not limited to business records, imaging data, genomic data and real-time monitoring parameters. Through distributed data analysis, these data can be integrated and analyzed under the premise of ensuring privacy and security, enabling researchers to conduct research on a wider range of data sets, thereby improving the breadth and depth of research. For example, distributed data analysis can be applied to public management and policy making. By analyzing the data provided by various institutions, government agencies can more accurately monitor and predict various events and formulate effective public strategies and emergency response measures.

[0004] In data management, multi-user zero-knowledge proof technology that supports distributed environments provides an effective means to address data privacy and security issues. For example, multiple institutions use multi-user zero-knowledge proofs to prove to public institutions that their aggregated data has correct and complete data without directly revealing specific information. This method can ensure that sensitive information such as business details and personal identity information will not be leaked during data integration and analysis. In addition, by using zero-knowledge proofs, institutions can also verify the authenticity and integrity of data provided by other provers without having to access the original data. This not only reduces the risk of data leakage, but also helps to comply with strict data protection regulations. Summary of the invention

[0005] In view of this, the present invention proposes a multi-user zero-knowledge proof method for a distributed data storage environment, which can enable multiple users to jointly verify the validity of a public statement while ensuring that the privacy of each user's private data is strictly protected throughout the entire process.

[0006] The technical solution of the present invention is achieved in this way:

[0007] A multi-user zero-knowledge proof method for a distributed data storage environment, specifically comprising:

[0008] The verifier generates a garbled circuit;

[0009] The verifier and the user exchange information through the oblivious transfer protocol to ensure that each user can obtain the input line value in the obfuscated circuit corresponding to their own input;

[0010] The user broadcasts the obtained garbled circuit input line value to other users;

[0011] The verifier broadcasts the generated obfuscated circuit.

[0012] The user evaluates the obfuscated circuit based on the line values ​​of other users received from the broadcast and the personal line value, and sends the evaluation result to the verification party;

[0013] The verifier verifies the validity of the user's evaluation results.

[0014] As a further optional solution of the multi-user zero-knowledge proof method for a distributed data storage environment, the verifier generates a confusion circuit, specifically including:

[0015] The verifier specifies the corresponding verification method and the original circuit corresponding to the method;

[0016] The verification party generates a random key, where the random key is used to obfuscate the original circuit;

[0017] Use the obfuscation algorithm to obfuscate the original circuit according to the random key and output a triplet;

[0018] Generate garbled circuit input labels;

[0019] Set the encryption algorithm, evaluation algorithm, and decryption algorithm for the obfuscated circuit.

[0020] As a further optional solution of the multi-user zero-knowledge proof method for a distributed data storage environment, the verifier and the user exchange information through an oblivious transfer protocol to ensure that each user can obtain the input line value in the obfuscated circuit corresponding to his / her input, specifically including:

[0021] The user interacts with the verifier through n oblivious transfer protocols. In each oblivious transfer protocol, the user sends obfuscated information to the verifier, and the verifier returns the corresponding result to the user according to the protocol rules;

[0022] After n oblivious transfer protocols, the user obtains a set of initial input line label values;

[0023] The obfuscated input line label value is processed to obtain the input line label value corresponding to the final obfuscated circuit.

[0024] As a further optional solution of the multi-user zero-knowledge proof method for a distributed data storage environment, the user broadcasts the obtained obfuscated circuit input line value to other users, specifically including:

[0025] After user P obtains the corresponding obfuscated circuit input value, it is broadcasted to other users through the securely authenticated point-to-point communication tunnel.

[0026] As a further optional solution of the multi-user zero-knowledge proof method for a distributed data storage environment, the verifier broadcasts the generated obfuscated circuit, specifically including:

[0027] Obtain corresponding circuit gate information according to the generated obfuscated circuit;

[0028] The generated obfuscated circuit and information of all circuit gates are broadcast to all users.

[0029] As a further optional solution of the multi-user zero-knowledge proof method for a distributed data storage environment, the user evaluates the obfuscated circuit according to the line values ​​of other users received from the broadcast and the personal line value, and sends the evaluation result to the verifier, specifically including:

[0030] Generate an output label value of the first circuit gate according to the line values ​​of other users received from the broadcast, the line value of the user itself and the logic rule of the first circuit gate;

[0031] The output label value of the first circuit gate is used as an input line label of the next circuit gate, and so on, until all the circuit gates of the entire obfuscated circuit are processed, and the evaluation result of the final circuit gate is obtained;

[0032] The final circuit gate evaluation result is sent to the verifier.

[0033] As a further optional solution of the multi-user zero-knowledge proof method for a distributed data storage environment, the verification party verifies the validity of the user evaluation result, specifically including:

[0034] The verifier checks whether the calculation results of all users are consistent with each other. If the calculation results of all users are consistent, the verifier will further check whether these consistent calculation results are consistent with the expected calculation results. If they are consistent with the expected calculation results, the user evaluation results are determined to be valid.

[0035] A multi-user zero-knowledge proof system for a distributed data storage environment, comprising:

[0036] A confusion circuit generation module, used by the verification party to generate a confusion circuit;

[0037] An input line value distribution module is used for exchanging information between the verifier and the user through the oblivious transfer protocol to ensure that each user can obtain the input line value in the obfuscated circuit corresponding to his / her input;

[0038] A broadcast input line value module is used for a user to broadcast the obtained obfuscated circuit input line value to other users;

[0039] A confusion circuit broadcast module, used by the verification party to broadcast the confusion circuit generated by it;

[0040] A confusion circuit evaluation module, which is used for a user to evaluate the confusion circuit according to the line values ​​of other users received from the broadcast and the personal line value, and send the evaluation result to the verification party;

[0041] The evaluation result verification module is used by the verification party to verify the validity of the user's evaluation results.

[0042] A computing device comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the steps of the multi-user zero-knowledge proof method for a distributed data storage environment are implemented.

[0043] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the multi-user zero-knowledge proof method for a distributed data storage environment.

[0044] The beneficial effects of the present invention are as follows: through the zero-knowledge proof mechanism, it is ensured that when the user proves the ownership of his data or the correctness of the calculation, any additional information about his input data will not be leaked, which greatly enhances the privacy protection of user data, so that when data is shared and verified in a distributed data storage environment, the user's sensitive information can be safely protected. As an encryption technology, the complexity of the obfuscation circuit makes it difficult for unauthorized parties to obtain useful information by analyzing the obfuscation circuit. This method effectively prevents the leakage and tampering of data during transmission and storage, and improves the security of the entire system. Through the oblivious transfer protocol, the verifier and the user can exchange information securely, ensuring that each user can only obtain the input in the obfuscation circuit corresponding to his own input. The circuit value is input, thereby avoiding the risk of information leakage. This method allows multiple users to participate in the verification process. Each user can evaluate the obfuscated circuit and send the evaluation result to the verifier. This multi-party verification mechanism enhances the transparency and credibility of the system and promotes mutual trust and cooperation among users in the distributed data storage environment. The verifier ensures the accuracy and reliability of the entire verification process by verifying the validity of the user's evaluation result, which provides a solid trust foundation for cooperation between users and makes the distributed data storage environment more stable and efficient. This method is based on obfuscated circuits and zero-knowledge proof technology, has strong versatility and flexibility, and can be applied to various distributed data storage environments that require data privacy protection and verification. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0046] Figure 1 A schematic diagram of the steps of a multi-user zero-knowledge proof method for a distributed data storage environment provided by an embodiment of the present invention;

[0047] Figure 2 A schematic diagram of the composition of a multi-user zero-knowledge proof system for a distributed data storage environment provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0048] The technical solutions in the embodiments of the present invention are described clearly and completely below. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0049] refer to Figure 1 to Figure 2 , a multi-user zero-knowledge proof method for a distributed data storage environment, specifically comprising:

[0050] The verifier generates a garbled circuit;

[0051] The verifier and the user exchange information through the oblivious transfer protocol to ensure that each user can obtain the input line value in the obfuscated circuit corresponding to their own input;

[0052] The user broadcasts the obtained garbled circuit input line value to other users;

[0053] The verifier broadcasts the generated obfuscated circuit.

[0054] The user evaluates the obfuscated circuit based on the line values ​​of other users received from the broadcast and the personal line value, and sends the evaluation result to the verification party;

[0055] The verifier verifies the validity of the user's evaluation results.

[0056] In this embodiment, the zero-knowledge proof mechanism is used to ensure that the user will not leak any additional information about his input data while proving the ownership of his data or the correctness of the calculation. This greatly enhances the privacy protection of user data, so that the user's sensitive information can be safely protected when sharing and verifying data in a distributed data storage environment. The complexity of the obfuscated circuit as an encryption technology makes it difficult for unauthorized parties to obtain useful information by analyzing the obfuscated circuit. This method effectively prevents the leakage and tampering of data during transmission and storage, and improves the security of the entire system. Through the oblivious transfer protocol, the verifier and the user can exchange information securely, ensuring that each user can only obtain the input circuit in the obfuscated circuit corresponding to his own input. The method allows multiple users to participate in the verification process. Each user can evaluate the obfuscated circuit and send the evaluation results to the verifier. This multi-party verification mechanism enhances the transparency and credibility of the system and promotes mutual trust and cooperation among users in the distributed data storage environment. The verifier ensures the accuracy and reliability of the entire verification process by verifying the validity of the user's evaluation results. This provides a solid trust foundation for cooperation between users and makes the distributed data storage environment more stable and efficient. This method is based on obfuscated circuits and zero-knowledge proof technology, has strong versatility and flexibility, and can be applied to various distributed data storage environments that require data privacy protection and verification.

[0057] It should be noted that, assuming that multiple users participate in the certification process, the identifiers of these users are (P1, ..., P m), and each user P i The distributed storage data owned is (w i,1 , w i,2 , ..., w i,n ). Data distribution is based on Shamir’s secret sharing method.

[0058] f(w)=a0+a1w+a2w 2 +...+a t w t-1 [mod(p)]

[0059] The symbol for the verifier is V.

[0060] In addition, the initialization phase parameters are defined as follows:

[0061] f: Boolean function corresponding to multi-user zero-knowledge proof;

[0062] m: the number of users participating in the protocol;

[0063] n: the number of single-user input lines;

[0064] q: number of non-input lines;

[0065] g: circuit gate number;

[0066] L(g): left input line of circuit g;

[0067] R(g): The right input line of circuit g.

[0068] Preferably, the verification party generates a confusion circuit, specifically including:

[0069] The verifier specifies the corresponding verification method and the original circuit corresponding to the method;

[0070] The verification party generates a random key, where the random key is used to obfuscate the original circuit;

[0071] Use the obfuscation algorithm to obfuscate the original circuit according to the random key and output a triplet;

[0072] Generate garbled circuit input labels;

[0073] Set the encryption algorithm, evaluation algorithm, and decryption algorithm for the obfuscated circuit.

[0074] In this embodiment, a random key is generated to confuse the original circuit, which greatly increases the difficulty of cracking the obfuscated circuit. The unpredictability and uniqueness of the random key make each generated obfuscated circuit unique, thereby effectively preventing malicious users from reverse analysis of the circuit logic and data theft; the obfuscation algorithm is used to confuse the original circuit according to the random key, which can hide the structure and function of the original circuit, so that even if the obfuscated circuit is intercepted, it is difficult for attackers to extract valuable information from it, which further enhances the security of data privacy protection; the triplet output by the obfuscation algorithm (usually including the obfuscated circuit itself, key information, and possible auxiliary information) provides a basis for subsequent encryption, evaluation, and decryption processes. This structured output method allows the obfuscated circuit to be easily integrated with other components, thereby improving the flexibility and scalability of the system; by setting a special encryption algorithm, evaluation algorithm, and decryption algorithm for the obfuscated circuit, comprehensive control over the life cycle of the obfuscated circuit can be achieved. These algorithms can be customized and optimized according to specific needs to adapt to different application scenarios and security requirements ; The generation of obfuscated circuits is a key step in the zero-knowledge proof process. By constructing an obfuscated circuit that is functionally equivalent to the original circuit but has a complex structure, the verifier can require the user to prove that he or she has a secret or has performed a calculation without leaking the original circuit information. This mechanism provides a basis for realizing zero-knowledge proof; Before generating an obfuscated circuit, the verifier needs to clarify the corresponding verification method and the original circuit corresponding to the method. This step ensures that the generation of the obfuscated circuit is purposeful and meaningful, that is, the obfuscated circuit must be able to support the subsequent verification process, thereby achieving the goal of zero-knowledge proof; Generating input labels for obfuscated circuits helps users correctly map their inputs to the corresponding positions in the obfuscated circuit, which simplifies the user's operation process and reduces verification failures caused by input errors; By setting a special evaluation algorithm for the obfuscated circuit, it is possible to efficiently verify whether the evaluation results submitted by the user are valid. The evaluation algorithm should be able to quickly and accurately determine whether the user's calculation results are consistent with the expected output of the obfuscated circuit, thereby ensuring the accuracy and efficiency of the verification process.

[0075] It should be noted that the verifier creates a garbled circuit corresponding to the verification method, which specifically includes:

[0076] The verifier V uses a random number r to confuse the circuit C according to the verification method. The generation of the confusing circuit GC is done by the confusing algorithm Gb(1 λ , r, C) generation, the obfuscation algorithm Gb is a random algorithm that outputs a triple (GC, e, d), where e is the encrypted information label And d is the decryption information table, and the XOR circuit gate uses the algorithm GbXOR(K 0 , K 1 , 1λ ) to obtain the obfuscated input label L of a single XOR circuit gate 0 , L 1 , R 0 , R 1 ; AND circuit gate through the algorithm GbAND(K 0 , K 1 , 1 λ ) to obtain a single AND gate obfuscated input label L 0 , L 1 , R 0 , R 1 ; Non-circuit gate pass algorithm get The garbled circuit also includes several other algorithms, including the encryption algorithm X←En(e,x), the evaluation algorithm z←Ev(GC,X) and the decryption algorithm z←De(d,Z).

[0077] The encryption algorithm is a deterministic algorithm that uses the encryption information e to map the unencrypted input x to the encrypted input

[0078] The evaluation algorithm is a deterministic algorithm that can evaluate the obfuscated circuit GC through the encrypted input label X and obtain an encrypted output Z′, whose correctness meets the probability:

[0079]

[0080] is negligible, that is, an honestly generated obfuscated circuit will obtain a unique output result Z after evaluation, and the generated obfuscated circuit is authentic, which meets the probability:

[0081]

[0082] is negligible, that is, a malicious circuit evaluator cannot obtain the output result Z corresponding to x without the corresponding input label value corresponding to x.

[0083] The decryption algorithm uses the decryption information table to decrypt the encrypted output Z to the original output z. In the method of the present invention, if the input meets the NP relationship, then d = Z and the output z = 1, otherwise the output is 0. Each circuit gate g has a corresponding output confusion table (C0, C1, C2, C3), and there are a total of |G| circuit gate output confusion tables {(C g,0 , C g,1 , C g,2 ,C g,3 )} g∈G .

[0084] In addition, the verifier generates a random number seed and obtains a confusion table, which includes:

[0085] For all i∈[m], t∈[n], the verifier V generates a random number seed XOR input line label value Obtain the obfuscation table Send to user P i .

[0086] Preferably, the verifier and the user exchange information through an oblivious transfer protocol to ensure that each user can obtain the input line value in the obfuscated circuit corresponding to his / her input, specifically including:

[0087] The user interacts with the verifier through n oblivious transfer protocols. In each oblivious transfer protocol, the user sends obfuscated information to the verifier, and the verifier returns the corresponding result to the user according to the protocol rules;

[0088] After n oblivious transfer protocols, the user obtains a set of initial input line label values;

[0089] The obfuscated input line label value is processed to obtain the input line label value corresponding to the final obfuscated circuit.

[0090] In this embodiment, the oblivious transfer protocol allows the user to obtain specific information related to his / her input from the verifier without disclosing his / her input information. This protocol ensures privacy during information transmission, that is, the verifier cannot know the user's specific input, and the user can only obtain the part of information related to his / her input. Through n oblivious transfer protocols, the user gradually obtains the input line label value corresponding to his / her input in the obfuscated circuit without exposing the structure of the entire obfuscated circuit or the input information of other users. This effectively prevents the leakage of sensitive information and protects the privacy rights of the user. Since each oblivious transfer protocol follows strict protocol rules, the verifier cannot tamper with the result returned to the user. This ensures the authenticity and accuracy of the input line label value obtained by the user, providing a safe and reliable environment for the subsequent verification process. It provides a reliable foundation; the design of the oblivious transfer protocol takes into account the possibility of man-in-the-middle attacks, and ensures the integrity and confidentiality of information during transmission through encryption and verification mechanisms, which effectively prevents malicious third parties from intercepting and tampering with transmitted information, and improves the overall security of the system; through the n-time oblivious transfer protocol, users can efficiently obtain the input line label values ​​related to their own inputs. This batch information exchange method avoids the delay and congestion problems that may be caused by the single transmission of a large amount of data, and improves the response speed and efficiency of the system; users only need to interact with the verifier according to the protocol rules to obtain the required input line label values. The entire processing process is transparent to the user, and there is no need to have an in-depth understanding of the internal details of the obfuscated circuit or the oblivious transfer protocol, which simplifies the user's operation process and lowers the threshold for use.

[0091] It should be noted that each user P i Generate a random number (r i,1 , r i,2 , ..., r i,n ) as input, through n times of oblivious transmission OT i Interact with the verifier V to obtain the corresponding input line label value Each user's data {w i,t} t∈[n] The corresponding input line label value of the garbled circuit GC By inputting the line label value After the verifier V generates the obfuscated circuit GC, the label value As the sender inadvertently transmits OT i Input from user P i Through inadvertent transmission of OT i After getting the input {r i,t} t∈[n] The corresponding input line label value of the garbled circuit GC After processing, the input line label value corresponding to the real garbled circuit GC is obtained.

[0092] For all i∈[m], t∈[n], the verifier V generates a random number seed The pseudo-random generator G is generated by XORing all the input line label values Obtain the obfuscation table Send to user P i .

[0093] Each user P i Generate a random number (r i,1 , r i,2 , ..., r i,n As input, through n times of oblivious transmission OT i The interaction with the verifier V obtains the input line label value of the corresponding obfuscated circuit GC

[0094] In actual applications, inadvertent transmission of OT i PVWOT can be used for construction, and the safety parameter λ can be set to 1024 or higher to achieve a safety strength that meets actual needs;

[0095] Using PVWOT to construct oblivious transfer, each user P i The process of transmitting a message corresponding to 1 bit to the verifier V is as follows:

[0096] design For the generator to be g, the prime order to be q, and the group Each user P i They each have a public string with the verification party V User P i Pick a random number Calculate g = (g b ) α , h=(h b ) α And send (g, h) to the verifier V. The verifier selects four random numbers Then calculate Verifier V sends (u0, w0 = v0·m0) and (u1, w1 = v1·m1) to user P i User P i Output the message m corresponding to one bit b =w b ·(u b ) -α .

[0097] The above PVWOT process is executed a total of m×n times to obtain the label values ​​corresponding to all random number inputs.

[0098] Each user P i Generate a random number of n bits {r i,t} t∈[n] And for distributed storage data (w i,1 , w i,2 , ..., w i,n ) for encryption Get {d i,t} t∈[n] Sent to the verifier V.

[0099] The verifier V receives all users {P i} i∈[m] The encrypted data {d i,t} i∈[m],t∈[n] , based on the encrypted data, a new line label is generated And label the line Send to each user P i .

[0100] Each user P i Get the verification party V to send a new line label Then, operate the line label Get the stored distributed data (w i,1 , w i,2 , ..., w i,n ) The random number generated by the verifier corresponding to

[0101] Each user P i Distributed data (w i,1 , w i,2 , ..., w i,n ) is a random number generated by the verifier V corresponding to Processing Get distributed data (w i,1 , w i,2 , ..., w i,n ) corresponds to the input label value of the garbled circuit

[0102] Preferably, the user broadcasts the acquired obfuscation circuit input line value to other users, specifically including:

[0103] After user P obtains the corresponding obfuscated circuit input value, it is broadcasted to other users through the securely authenticated point-to-point communication tunnel.

[0104] In this embodiment, data is transmitted through a securely authenticated point-to-point communication tunnel, which can ensure the confidentiality, integrity and tamper-resistance of the data during transmission. This tunnel usually uses encryption technology to protect data and prevent unauthorized third parties from intercepting or tampering with the transmitted information. The security authentication mechanism ensures that only verified users can participate in communication, which prevents malicious users from impersonating legitimate users to receive or tamper with data. This identity authentication enhances the security of the system and makes the data sharing process more reliable. Compared with broadcast transmission, point-to-point transmission can accurately send data to designated recipients as needed, which reduces unnecessary data redundancy and transmission delays and improves the efficiency and accuracy of data sharing. Through the instant communication tunnel, user P can quickly broadcast the obfuscated circuit input line value to other users, so that all users can receive the data almost at the same time. This immediacy is particularly important for scenarios that require real-time processing or verification.

[0105] It should be noted that user P i Get the corresponding garbled circuit input value {K′ i,t} t∈[n] After that, it is broadcasted to other users, and finally each user obtains all the garbled circuit input values ​​{K′ i,t} t∈[m],t∈[n] ; Broadcast transmission can be sent through a securely authenticated point-to-point communication tunnel.

[0106] Preferably, the verifier broadcasts the generated obfuscation circuit, specifically including:

[0107] Obtain corresponding circuit gate information according to the generated obfuscated circuit;

[0108] The generated obfuscated circuit and information of all circuit gates are broadcast to all users.

[0109] In this embodiment, the core idea of ​​the obfuscated circuit is to cover up the real input information by encrypting and disrupting the circuit value. The verifier broadcasts the obfuscated circuit and its circuit gate information to all users, but the users can only see the encrypted and obfuscated data and cannot directly obtain the real input information, thereby protecting the input privacy of each participant; each circuit gate information of the obfuscated circuit is encrypted and obfuscated, making any attempt to tamper with the circuit information difficult. Even if the information is intercepted during transmission, the attacker cannot easily modify or forge the circuit information.

[0110] Preferably, the user evaluates the obfuscation circuit according to the line values ​​of other users received from the broadcast and the personal line value, and sends the evaluation result to the verification party, specifically including:

[0111] Generate an output label value of the first circuit gate according to the line values ​​of other users received from the broadcast, the line value of the user itself and the logic rule of the first circuit gate;

[0112] The output label value of the first circuit gate is used as an input line label of the next circuit gate, and so on, until all the circuit gates of the entire obfuscated circuit are processed, and the evaluation result of the final circuit gate is obtained;

[0113] The final circuit gate evaluation result is sent to the verifier.

[0114] In this embodiment, by allowing users to evaluate based on line values ​​from multiple users (including themselves and other users), the scheme implements a multi-party verification mechanism in distributed computing, which helps to reduce the impact of single point failures and improve the reliability of calculation results; users process input line values ​​in order according to the logic rules of circuit gates in the obfuscated circuit, ensuring the logical consistency of the entire evaluation process, and the output of each circuit gate is based on the correct input and logic rules, thereby ensuring the accuracy of the final evaluation result; during the evaluation process, users can only calculate based on the logic rules of the obfuscated circuit and the received line values, and cannot reversely deduce the input information of other users, which further enhances the security of the evaluation process; all users can receive obfuscated circuit and circuit gate information at the same time, and perform evaluation calculations independently. This parallel processing method greatly improves computing efficiency and shortens the overall computing time; users exchange line values ​​through broadcasting, without the need to establish complex point-to-point communication connections, which reduces communication overhead and reduces system complexity.

[0115] It should be noted that the verifier V broadcasts the generated obfuscated circuit GC and the obfuscated table {(C g,0 , Cg,1 , C g,2 , C g,3 )} g∈G For all users, each user P i According to the garbled circuit input value {K′ i,t} i∈[m],t∈[n] As input, the garbled circuit GC is evaluated and the calculation result Z is obtained. i ; The calculation results are evaluated by the algorithm Ev(GC, {K′ i,t} i∈[m],t∈[n] ) is generated, and after obtaining the output label value of a circuit gate g, it is used as one of the input line labels of the circuit gate g+1. Finally, the output result of the final circuit gate is the output result of the entire evaluation algorithm Ev.

[0116] Preferably, the verification party verifies the validity of the user evaluation result, specifically including:

[0117] The verifier checks whether the calculation results of all users are consistent with each other. If the calculation results of all users are consistent, the verifier will further check whether these consistent calculation results are consistent with the expected calculation results. If they are consistent with the expected calculation results, the user evaluation results are determined to be valid.

[0118] In this embodiment, the verifier not only checks whether the calculation results of all users are consistent with each other, but also further compares these consistent calculation results with the expected calculation results. This double verification mechanism greatly enhances the robustness of the system and can effectively identify and eliminate potential errors or abnormal situations. In a distributed computing environment, due to factors such as network delays, hardware failures or malicious attacks, the calculation results of individual users may deviate. By checking whether the calculation results of all users are consistent, the verifier can identify and ignore these deviations, thereby ensuring the accuracy of the overall calculation results. The verifier performs a consistency check on the calculation results of all users to ensure that all users follow the same calculation rules and logical paths. This consistency not only reflects the correctness of the calculation process, but also reflects the stability and reliability of the system. Comparing the consistent calculation results with the expected calculation results is a key step in verifying the validity of the calculation results. This step ensures that the calculation results are not only internally consistent, but also consistent with external expectations, thereby improving the reliability and credibility of the calculation results.

[0119] It should be noted that each user P i The calculated result Z i Sent to the verifier V. The verifier V verifies whether all {Z i} i∈[m] are consistent with each other, if they are consistent, then check {Z i} i∈[m]Is it consistent with the expected calculation result Z′? If it is consistent, accept the result; if any of the test results is inconsistent, reject it.

[0120] A multi-user zero-knowledge proof system for a distributed data storage environment, comprising:

[0121] A confusion circuit generation module, used by the verification party to generate a confusion circuit;

[0122] An input line value distribution module is used for exchanging information between the verifier and the user through the oblivious transfer protocol to ensure that each user can obtain the input line value in the obfuscated circuit corresponding to his / her input;

[0123] A broadcast input line value module is used for a user to broadcast the obtained obfuscated circuit input line value to other users;

[0124] A confusion circuit broadcast module, used by the verification party to broadcast the confusion circuit generated by it;

[0125] A confusion circuit evaluation module, which is used for a user to evaluate the confusion circuit according to the line values ​​of other users received from the broadcast and the personal line value, and send the evaluation result to the verification party;

[0126] The evaluation result verification module is used by the verification party to verify the validity of the user's evaluation results.

[0127] A computing device comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the steps of the multi-user zero-knowledge proof method for a distributed data storage environment are implemented.

[0128] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the multi-user zero-knowledge proof method for a distributed data storage environment.

[0129] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the protection scope of the present invention.

Claims

1. A multi-user zero-knowledge proof method for a distributed data storage environment, characterized in that: Specifically include: The verifier generates a garbled circuit; The verifier and the user exchange information through the oblivious transfer protocol to ensure that each user can obtain the input line value in the obfuscated circuit corresponding to their own input; The user broadcasts the obtained garbled circuit input line value to other users; The verifier broadcasts the generated obfuscated circuit. The user evaluates the obfuscated circuit based on the line values ​​of other users received from the broadcast and the personal line value, and sends the evaluation result to the verification party; The verifier verifies the validity of the user's evaluation results.

2. A multi-user zero-knowledge proof method for a distributed data storage environment according to claim 1, characterized in that: The verification party generates a confusion circuit, specifically including: The verifier specifies the corresponding verification method and the original circuit corresponding to the method; The verification party generates a random key, where the random key is used to obfuscate the original circuit; Use the obfuscation algorithm to obfuscate the original circuit according to the random key and output a triplet; Generate garbled circuit input labels; Set the encryption algorithm, evaluation algorithm, and decryption algorithm for the obfuscated circuit.

3. A multi-user zero-knowledge proof method for a distributed data storage environment according to claim 2, characterized in that: The verifier and the user exchange information through the oblivious transfer protocol to ensure that each user can obtain the input line value in the obfuscated circuit corresponding to their own input, specifically including: The user interacts with the verifier through n oblivious transfer protocols. In each oblivious transfer protocol, the user sends obfuscated information to the verifier, and the verifier returns the corresponding result to the user according to the protocol rules; After n oblivious transfer protocols, the user obtains a set of initial input line label values; The obfuscated input line label value is processed to obtain the input line label value corresponding to the final obfuscated circuit.

4. A multi-user zero-knowledge proof method for a distributed data storage environment according to claim 3, characterized in that: The user broadcasts the obtained obfuscated circuit input line value to other users, specifically including: After user P obtains the corresponding obfuscated circuit input value, it is broadcasted to other users through the securely authenticated point-to-point communication tunnel.

5. A multi-user zero-knowledge proof method for a distributed data storage environment according to claim 4, characterized in that: The verifier broadcasts the generated obfuscation circuit, specifically including: Obtain corresponding circuit gate information according to the generated obfuscated circuit; The generated obfuscated circuit and the information of all circuit gates are broadcast to all users.

6. A multi-user zero-knowledge proof method for a distributed data storage environment according to claim 5, characterized in that: The user evaluates the obfuscated circuit according to the line values ​​of other users received from the broadcast and the personal line value, and sends the evaluation result to the verification party, specifically including: Generate an output label value of the first circuit gate according to the line values ​​of other users received from the broadcast, the line value of the user itself and the logic rule of the first circuit gate; The output label value of the first circuit gate is used as an input line label of the next circuit gate, and so on, until all the circuit gates of the entire obfuscated circuit are processed, and the evaluation result of the final circuit gate is obtained; The final circuit gate evaluation result is sent to the verifier.

7. A multi-user zero-knowledge proof method for a distributed data storage environment according to claim 6, characterized in that: The verification party verifies the validity of the user evaluation result, specifically including: The verifier checks whether the calculation results of all users are consistent with each other. If the calculation results of all users are consistent, the verifier will further check whether these consistent calculation results are consistent with the expected calculation results. If they are consistent with the expected calculation results, the user evaluation results are determined to be valid.

8. A multi-user zero-knowledge proof system for a distributed data storage environment, characterized in that: include: A confusion circuit generation module, used by the verification party to generate a confusion circuit; An input line value distribution module is used to exchange information between the verifier and the user through the oblivious transfer protocol to ensure that each user can obtain the input line value in the obfuscated circuit corresponding to his / her input; A broadcast input line value module is used for a user to broadcast the obtained obfuscated circuit input line value to other users; A confusion circuit broadcast module, used by the verification party to broadcast the confusion circuit generated by it; A confusion circuit evaluation module, which is used for a user to evaluate the confusion circuit according to the line values ​​of other users received from the broadcast and the personal line value, and send the evaluation result to the verification party; The evaluation result verification module is used by the verification party to verify the validity of the user's evaluation results.

9. A computing device, characterized in that The invention comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the steps of the multi-user zero-knowledge proof method for a distributed data storage environment described in any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, which, when executed by a processor, implements the steps of the multi-user zero-knowledge proof method for a distributed data storage environment as described in any one of claims 1 to 7.