CN113779147B - Data uplink and utilization method, device, equipment and readable storage medium - Google Patents
Data uplink and utilization method, device, equipment and readable storage medium Download PDFInfo
- Publication number
- CN113779147B CN113779147B CN202111006874.4A CN202111006874A CN113779147B CN 113779147 B CN113779147 B CN 113779147B CN 202111006874 A CN202111006874 A CN 202111006874A CN 113779147 B CN113779147 B CN 113779147B
- Authority
- CN
- China
- Prior art keywords
- data
- utilized
- hash value
- evidence
- utilization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012795 verification Methods 0.000 claims abstract description 56
- 238000004364 calculation method Methods 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
The application relates to a data uplink and utilization method, a device, equipment and a readable storage medium, which relate to the technical field of block chains and comprise the steps of respectively carrying out Hash calculation on a plurality of databases to obtain a plurality of Hash values and storing the Hash values in a block chain; acquiring data demand information of a data demand party and determining a Hash value to be utilized according to the data demand information; generating a first evidence based on the zk-snarks protocol and a Hash value to be utilized; and the data requiring party verifies the first evidence and utilizes the database corresponding to the Hash value to be utilized according to the verification result. According to the application, the data provider can perform condition proof on the uplink data according to different data utilization requirements, thereby ensuring data security and reducing trust cost; the data demand party can verify the correctness of the evidence and utilize the original data corresponding to the Hash value to be utilized, so that the utilization of the original data corresponding to the data on the chain is realized, and the data utilization efficiency is improved.
Description
Technical Field
The present application relates to the field of blockchain technologies, and in particular, to a method, an apparatus, a device, and a readable storage medium for data uplink and utilization.
Background
As blockchain technology is increasingly emerging in the field of view of people, its decentralised, secure, public features provide the potential to solve the multi-party trust problems of data ownership and data security in complex interactive business scenarios in multiple domains, multiple enterprises. Essentially, a blockchain is a shared database in which data or information is stored that has characteristics such as "non-counterfeitable, global marking, traceable, public transparency, collective maintenance. Based on the characteristics, the blockchain technology lays a solid trust foundation, creates a reliable cooperation mechanism and has wide application prospect.
However, due to the specificity of the blockchain, the blockchain cannot be used as a traditional database, but the relational database and the blockchain are subjected to business analysis, and the data unsuitable for direct uplink is subjected to blockchain uplink reconstruction and then is stored in the uplink. The current block chain data uplink mode generally uses a Hash (Hash function) algorithm, namely, a Hash value obtained by performing Hash calculation on data is uplink, and the method has the security advantages of being non-tamperable and non-repudiation.
However, the data uplink is only the first step of implementing the interactive data utilization service scenario, and how to implement multi-element, efficient, safe and reliable on-link data utilization is the key of establishing a complete data utilization system. The method for using the data Hash value to uplink can prove the integrity of the data, but under the condition that the original data is not provided, the corresponding relation between the Hash value and the original data cannot be directly verified, meanwhile, due to the hiding property of a Hash algorithm, the related information of the original data cannot be observed from the Hash value, and further, the database and the data subset contained in the database cannot be further utilized; especially for the diversified utilization scene of data, whether the data set meets the data utilization condition can not be proved according to different data requirements.
Disclosure of Invention
The application provides a data uplink and utilization method, a device, equipment and a readable storage medium, which are used for solving the problem that original data cannot be utilized in the related technology.
In a first aspect, a method for data uplink and utilization is provided, including the following steps:
respectively carrying out Hash calculation on a plurality of databases to obtain a plurality of Hash values, and storing the Hash values into a block chain;
acquiring data demand information of a data demand party, and determining a Hash value to be utilized according to the data demand information;
generating a first evidence based on the zk-snarks protocol and the Hash value to be utilized, wherein the first evidence is evidence for proving that the calculation process of the Hash value to be utilized is correct and that a database corresponding to the Hash value to be utilized meets data demand information;
and sending the first evidence to a data demand party for the data demand party to verify the first evidence based on the zk-snarks protocol and the data demand information, and utilizing the database corresponding to the Hash value to be utilized according to a verification result.
In some embodiments, the using the database corresponding to the Hash value to be used according to the verification result includes:
when the verification result is correct, acquiring a database corresponding to the Hash value to be utilized;
and verifying the binding relation between the Hash value to be utilized and the database corresponding to the Hash value to be utilized, and if the verification is passed, utilizing the database corresponding to the Hash value to be utilized.
In some embodiments, the using the database corresponding to the Hash value to be used according to the verification result includes:
when the verification result is correct, sending utilization logic of a database corresponding to the Hash value to be utilized to a data provider, so that the data provider can calculate and obtain a data result according to the utilization logic and the database corresponding to the Hash value to be utilized, and generating a second evidence based on zk-snarks protocol and the data result, wherein the second evidence is evidence for proving that the data result is calculated and obtained based on a real database corresponding to the Hash value to be utilized;
and acquiring the second evidence, verifying the second evidence based on the zk-snarks protocol, and acquiring and utilizing a data result if the verification is passed.
In some embodiments, the using the database corresponding to the Hash value to be used according to the verification result includes:
when the verification result is correct, acquiring a ciphertext of a database corresponding to the Hash value to be utilized, which is provided by a data provider;
the ciphertext is utilized based on a blind polynomial computing model.
In a second aspect, a data uplink and utilization apparatus is provided, including:
the storage unit is used for carrying out Hash calculation on the databases respectively to obtain a plurality of Hash values, and storing the Hash values into the block chain;
the determining unit is used for acquiring the data demand information of the data demand party and determining a Hash value to be utilized according to the data demand information;
the generation unit is used for generating a first evidence based on the zk-snarks protocol and the Hash value to be utilized, wherein the first evidence is evidence for proving that the calculation process of the Hash value to be utilized is correct and that a database corresponding to the Hash value to be utilized meets data demand information;
the utilization unit is used for sending the first evidence to a data demand party so that the data demand party can verify the first evidence based on the zk-snarks protocol and the data demand information, and the database corresponding to the Hash value to be utilized can be utilized according to a verification result.
In some embodiments, the utilization unit is specifically configured to:
when the verification result is correct, acquiring a database corresponding to the Hash value to be utilized;
and verifying the binding relation between the Hash value to be utilized and the database corresponding to the Hash value to be utilized, and if the verification is passed, utilizing the database corresponding to the Hash value to be utilized.
In some embodiments, the utilization unit is specifically further configured to:
when the verification result is correct, sending utilization logic of a database corresponding to the Hash value to be utilized to a data provider, so that the data provider can calculate and obtain a data result according to the utilization logic and the database corresponding to the Hash value to be utilized, and generating a second evidence based on zk-snarks protocol and the data result, wherein the second evidence is evidence for proving that the data result is calculated and obtained based on a real database corresponding to the Hash value to be utilized;
and acquiring the second evidence, verifying the second evidence based on the zk-snarks protocol, and acquiring and utilizing a data result if the verification is passed.
In some embodiments, the utilization unit is specifically further configured to:
when the verification result is correct, acquiring a ciphertext of a database corresponding to the Hash value to be utilized, which is provided by a data provider;
the ciphertext is utilized based on a blind polynomial computing model.
In a third aspect, a data uplink and utilization device is provided, including: the system comprises a memory and a processor, wherein at least one instruction is stored in the memory, and the at least one instruction is loaded and executed by the processor so as to realize the data uplink and utilization method.
In a fourth aspect, a computer-readable storage medium is provided, the computer storage medium storing computer instructions that, when executed by a computer, cause the computer to perform the aforementioned data-chaining and utilization method.
The application provides a method, a device, equipment and a readable storage medium for data uplink and utilization, which comprise the following steps: respectively carrying out Hash calculation on a plurality of databases to obtain a plurality of Hash values, and storing the Hash values into a block chain; acquiring data demand information of a data demand party, and determining a Hash value to be utilized according to the data demand information; generating a first evidence based on the zk-snarks protocol and the Hash value to be utilized, wherein the first evidence is evidence for proving that the calculation process of the Hash value to be utilized is correct and that a database corresponding to the Hash value to be utilized meets data demand information; and sending the first evidence to a data demand party for the data demand party to verify the first evidence based on the zk-snarks protocol and the data demand information, and utilizing the database corresponding to the Hash value to be utilized according to a verification result. According to the application, the data provider can generate evidence on the Hash value to be utilized of the data demand information meeting the data demand information of the data demand party based on the zk-snarks protocol, so that the condition of uplink data can be proved according to different data utilization demands, the data safety of the data provider is ensured, and the trust cost is reduced; the data demand party can verify the correctness of the evidence based on the zk-snarks protocol, and utilize the original data corresponding to the Hash value to be utilized according to the verification result, namely, the utilization of the original data corresponding to the data on the chain is realized, and the data utilization efficiency is improved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic flow chart of a data uplink and utilization method according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of a data uplink and utilization device according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of a data uplink and utilization device according to an embodiment of the present application.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present application more apparent, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are some embodiments of the present application, but not all embodiments of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
The embodiment of the application provides a data uplink and utilization method, a device, equipment and a readable storage medium, which can solve the problem that original data cannot be utilized in the related technology.
Fig. 1 is a flow chart of a data uplink and utilization method according to an embodiment of the present application, including the following steps:
step S10: respectively carrying out Hash calculation on a plurality of databases to obtain a plurality of Hash values, and storing the Hash values into a block chain;
in an exemplary embodiment of the present application, each user may include a plurality of databases, each database includes a plurality of data subsets, and each data subset includes a plurality of pieces of data, so only one integral Hash value needs to be calculated for each database. Taking an example that a Data provider calculates a Hash value of a database on the own side, for example, the database on the own side is data= { data_set1, data_set2,..data_setn, n is a positive integer }, where { data_set1, data_set2, }, data_setn represents an n-dimensional vector taking a Data subset of the database Data as a component, i.e., data_set represents the Data subset, then the Hash calculation method of the database is h_data=h (data_set1, data_set2,..data_setn, n is a positive integer), h_data is a Hash value, and H represents a Hash algorithm used by a Data uplink; and signing the Hash value by utilizing the private key of the own party, and then storing the Hash value and the signature of the data on the block chain by the data provider, thereby completing the data uplink.
Step S20: acquiring data demand information of a data demand party, and determining a Hash value to be utilized according to the data demand information;
for example, in the embodiment of the present application, for the data that has been successfully uplink from the own side, the data provider may determine, in real time or at any time after the data is uplink, uplink data that meets the requirement according to the data requirement information provided by the data demander, that is, determine the Hash value to be utilized.
Step S30: generating a first evidence based on the zk-snarks protocol and the Hash value to be utilized, wherein the first evidence is evidence for proving that the calculation process of the Hash value to be utilized is correct and that a database corresponding to the Hash value to be utilized meets data demand information;
illustratively, in the embodiment of the application, for the Data which is already uplink by the Data provider, the zk-snarks (Zero-Knowledge SuccinctNon-InteractiveArgument ofKnowledge, zero knowledge proof) protocol is utilized immediately or at any time after the Data is uplink, and on the premise that original Data is not disclosed, the Data to be calculated and correct by the Hash value in the database Data and the Hash algorithm are proved, and meanwhile, the Data subset data_set in the Data is proved to meet certain attribute conditions in the Data demand information. The zero-knowledge proof protocol based on the computational complexity problem and the cryptography assumption is an efficient and reliable verifiable technology, and due to the completeness, reliability and zero knowledge of the zero-knowledge proof protocol, a data provider actually holding trusted data can enable any data demander to trust that the data meets the use condition, and meanwhile the original numerical value of the data is not revealed.
Specifically, the data provider determines a Hash value to be utilized (i.e. a certain Hash value in uplink data) meeting the data requirement according to the self requirement (for example, adding some important attributes with public requirements to data on a own chain) or the data requirement provided by the data consumer, and generates first evidence that the Hash value calculation process is correct and the original data in the database hidden in the Hash value meets the data requirement by zk-snarks protocol for the Hash value to be utilized; evidence generation can be divided into the following two cases:
the first evidence was generated as follows: a certain Data subset data_setk= [ d1, d2, ], data dj in dm ] in a database Data needs to be proved to meet a Data requirement demand, wherein k is more than or equal to 1 and less than or equal to n, j is more than or equal to 1 and less than or equal to m, k is a positive integer, m is a positive integer, and j is a positive integer; specifically, the problem to be proved to be solved is expressed by mathematical operation (the step belongs to the consensus part), namely the problem is converted into the following equation set, and the equation set has a solution:
the data provider utilizes the zk-snarks protocol evidence generation process and generates, in conjunction with the above-described system of equations, a first evidence that is used to prove that a set of values as shown below is a set of solutions to the above-described system of equations:
and put the first proof on the chain or send it to the object with verification requirement (the verifier for short, comprising the data-requiring party).
The second evidence was generated as follows: it is necessary to prove that certain Data subsets data_sets1= [ d11, d12, ], d1m, data_sets2= [ d21, d22, ], data_setsk= [ dk1, dk2, ], dkm in the database Data meet the Data requirements demand1, demand2, >, demandk, respectively; specifically, the above problem to be proved to be solved is converted into the following equation set, and the equation set has a solution:
the data provider utilizes the zk-snarks protocol evidence generation process and generates, in conjunction with the above-described system of equations, a first evidence that is used to prove that a set of values as shown below is a set of solutions to the above-described system of equations:
and put the first evidence on the chain or send it to the data demander.
Step S40: and sending the first evidence to a data demand party for the data demand party to verify the first evidence based on the zk-snarks protocol and the data demand information, and utilizing the database corresponding to the Hash value to be utilized according to a verification result.
In the embodiment of the application, the data demand party verifies the signature of the Hash value through a signature algorithm after receiving the first evidence, and verifies whether the received first evidence meets the data demand of the own party by utilizing the zk-snarks protocol evidence verification process and combining the equation set, if the verification is passed, the data demand party utilizes the database corresponding to the Hash value according to the cooperative or application demand, otherwise, the data demand party refuses to use the database.
According to the application, the data provider can generate evidence on the Hash value to be utilized of the data demand information meeting the data demand information of the data demand party based on the zk-snarks protocol, so that the condition of uplink data can be proved according to different data utilization demands, the data safety of the data provider is ensured, and the trust cost is reduced; the data demand party can verify the correctness of the evidence based on the zk-snarks protocol, and utilize the original data corresponding to the Hash value to be utilized according to the verification result, namely, the utilization of the original data corresponding to the data on the chain is realized, and the data utilization efficiency is improved.
Further, in an embodiment of the present application, the using the database corresponding to the Hash value to be used according to the verification result includes:
when the verification result is correct, acquiring a database corresponding to the Hash value to be utilized;
and verifying the binding relation between the Hash value to be utilized and the database corresponding to the Hash value to be utilized, and if the verification is passed, utilizing the database corresponding to the Hash value to be utilized.
In the embodiment of the application, the two parties agree on a data sharing channel, and the data provider directly shares the original data plaintext or ciphertext encrypted by the public key of the demander to the data demander through the data sharing channel. After the data demand side acquires the original database, the database and H_data are verified, and if the data pass through, the data are utilized according to own side demands.
Further, in an embodiment of the present application, the using the database corresponding to the Hash value to be used according to the verification result includes:
when the verification result is correct, sending utilization logic of a database corresponding to the Hash value to be utilized to a data provider, so that the data provider can calculate and obtain a data result according to the utilization logic and the database corresponding to the Hash value to be utilized, and generating a second evidence based on zk-snarks protocol and the data result, wherein the second evidence is evidence for proving that the data result is calculated and obtained based on a real database corresponding to the Hash value to be utilized;
and acquiring the second evidence, verifying the second evidence based on the zk-snarks protocol, and acquiring and utilizing a data result if the verification is passed.
In the embodiment of the application, the two parties agree on a demand sharing channel, the data demand party shares the own-side data-utilized computing logic Method to the data provider through the demand sharing channel, the data provider computes the relevant data result according to the Method and the database, and generates a second evidence of correctly computing the result by using the true original data according to zk-snarks protocol, namely, proving:this set of values is the set of equations: />Is a set of solutions. The data requiring party verifies whether the received second evidence meets the verification condition by utilizing the evidence verification process of the zk-snarks protocol, and the data result is accepted and utilized by the verification.
Further, in an embodiment of the present application, the using the database corresponding to the Hash value to be used according to the verification result includes:
when the verification result is correct, acquiring a ciphertext of a database corresponding to the Hash value to be utilized, which is provided by a data provider;
the ciphertext is performed based on a blind polynomial calculation model.
Exemplary, in the embodiment of the application, for a data provider who does not want to provide the whole database at one time and a data demand party who does not want to disclose data utilization logic, data transaction can be completed according to a blind polynomial calculation model, namely, based on the blind polynomial calculation model, through multiple rounds of interactive calculation on the data ciphertext and the blind ciphertext, a data utilization result is obtained. At this time, the data provider only provides some processing results of the database, and the data demander only obtains the processing results of the data.
Therefore, the embodiment of the application is suitable for a re-use scene of the data after the uplink, the data provider calculates the Hash value of the huge database on the own side and stores the Hash value on the blockchain, and then at any time, the data provider can provide the proof that the hidden original data in the Hash value meets the requirement based on zk-snarks protocol according to different data requirements of the data requiring side; the data demander can verify the correctness of the certification, and then both parties utilize the data according to the collaboration or application requirements. The application realizes that the original data hidden in the Hash value meets the application condition according to the application requirement under the condition that the original data is not disclosed for the data which is already on the chain, and the application is more in line with the actual application scene.
Referring to fig. 2, the embodiment of the application further provides a device for data uplink and utilization, which includes:
the storage unit is used for carrying out Hash calculation on the databases respectively to obtain a plurality of Hash values, and storing the Hash values into the block chain;
the determining unit is used for acquiring the data demand information of the data demand party and determining a Hash value to be utilized according to the data demand information;
the generation unit is used for generating a first evidence based on the zk-snarks protocol and the Hash value to be utilized, wherein the first evidence is evidence for proving that the calculation process of the Hash value to be utilized is correct and that a database corresponding to the Hash value to be utilized meets data demand information;
the utilization unit is used for sending the first evidence to a data demand party so that the data demand party can verify the first evidence based on the zk-snarks protocol and the data demand information, and the database corresponding to the Hash value to be utilized can be utilized according to a verification result.
According to the application, the data provider can generate evidence on the Hash value to be utilized of the data demand information meeting the data demand information of the data demand party based on the zk-snarks protocol, so that the condition of uplink data can be proved according to different data utilization demands, the data safety of the data provider is ensured, and the trust cost is reduced; the data demand party can verify the correctness of the evidence based on the zk-snarks protocol, and utilize the original data corresponding to the Hash value to be utilized according to the verification result, namely, the utilization of the original data corresponding to the data on the chain is realized, and the data utilization efficiency is improved.
Further, in an embodiment of the present application, the usage unit is specifically configured to:
when the verification result is correct, acquiring a database corresponding to the Hash value to be utilized;
and verifying the binding relation between the Hash value to be utilized and the database corresponding to the Hash value to be utilized, and if the verification is passed, utilizing the database corresponding to the Hash value to be utilized.
Further, in an embodiment of the present application, the usage unit is specifically configured to:
when the verification result is correct, sending utilization logic of a database corresponding to the Hash value to be utilized to a data provider, so that the data provider can calculate and obtain a data result according to the utilization logic and the database corresponding to the Hash value to be utilized, and generating a second evidence based on zk-snarks protocol and the data result, wherein the second evidence is evidence for proving that the data result is calculated and obtained based on a real database corresponding to the Hash value to be utilized;
and acquiring the second evidence, verifying the second evidence based on the zk-snarks protocol, and acquiring and utilizing a data result if the verification is passed.
Further, in an embodiment of the present application, the usage unit is specifically configured to:
when the verification result is correct, acquiring a ciphertext of a database corresponding to the Hash value to be utilized, which is provided by a data provider;
the ciphertext is utilized based on a blind polynomial computing model.
It should be noted that, for convenience and brevity of description, the specific working process of the above-described apparatus and units may refer to the corresponding process in the foregoing data uplink and utilization method embodiment, which is not described herein again.
The apparatus provided by the above embodiments may be implemented in the form of a computer program that may run on a data-uplink and utilization device as shown in fig. 3.
The embodiment of the application also provides a data uplink and utilization device, which comprises: the system comprises a memory, a processor and a network interface which are connected through a system bus, wherein at least one instruction is stored in the memory, and the at least one instruction is loaded and executed by the processor so as to realize all or part of the steps of the data uplink and utilization method.
Wherein the network interface is used for network communication, such as sending assigned tasks, etc. It will be appreciated by those skilled in the art that the structure shown in FIG. 3 is merely a block diagram of some of the structures associated with the present inventive arrangements and is not limiting of the computer device to which the present inventive arrangements may be applied, and that a particular computer device may include more or fewer components than shown, or may combine some of the components, or have a different arrangement of components.
The processor may be a CPU, but may also be other general purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), off-the-shelf programmable gate arrays (FieldProgrammable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic device discrete hardware components, or the like. A general purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like, that is a control center of a computer device, with various interfaces and lines connecting various parts of the entire computer device.
The memory may be used to store computer programs and/or modules, and the processor implements various functions of the computer device by running or executing the computer programs and/or modules stored in the memory, and invoking data stored in the memory. The memory may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, application programs required for at least one function (such as a video playing function, an image playing function, etc.), and the like; the storage data area may store data (such as video data, image data, etc.) created according to the use of the cellular phone, etc. In addition, the memory may include high speed random access memory, and may also include non-volatile memory, such as a hard disk, memory, plug-in hard disk, smart Media Card (SMC), secure Digital (SD) Card, flash Card (Flash Card), at least one disk storage device, flash memory device, or other volatile solid state storage device.
The embodiment of the application also provides a computer readable storage medium, on which a computer program is stored, which when being executed by a processor, realizes all or part of the steps of the aforementioned data uplink and utilization method.
The foregoing embodiments of the present application may be implemented in whole or in part by computer program instructions for implementing the relevant hardware, and the computer program may be stored in a computer readable storage medium, where the computer program when executed by a processor may implement the steps of the methods described above. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, executable files or in some intermediate form, etc. The computer readable medium may include: any entity or device capable of carrying computer program code, record medium, USB flash disk, removable hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RandomAccess memory, RAM), electrical carrier wave signals, telecommunications signals, and software distribution media. It should be noted that the content of the computer readable medium can be appropriately increased or decreased according to the requirements of the jurisdiction's jurisdiction and the patent practice, for example, in some jurisdictions, the computer readable medium does not include electrical carrier signals and telecommunication signals according to the jurisdiction and the patent practice.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, server, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, magnetic disk storage, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or system. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or system that comprises the element.
The foregoing embodiment numbers of the present application are merely for the purpose of description, and do not represent the advantages or disadvantages of the embodiments.
The foregoing is only a specific embodiment of the application to enable those skilled in the art to understand or practice the application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (8)
1. A method for data uplink and utilization, comprising the steps of:
respectively carrying out Hash calculation on a plurality of databases to obtain a plurality of Hash values, and storing the Hash values into a block chain;
acquiring data demand information of a data demand party, and determining a Hash value to be utilized according to the data demand information;
generating a first evidence based on the zk-snarks protocol and the Hash value to be utilized, wherein the first evidence is evidence for proving that the calculation process of the Hash value to be utilized is correct and that a database corresponding to the Hash value to be utilized meets data demand information;
the first evidence is sent to a data demand party for the data demand party to verify the first evidence based on the zk-snarks protocol and the data demand information, and the database corresponding to the Hash value to be utilized is utilized according to a verification result;
the method for utilizing the database corresponding to the Hash value to be utilized according to the verification result comprises the following steps:
when the verification result is correct, sending utilization logic of a database corresponding to the Hash value to be utilized to a data provider, so that the data provider can calculate and obtain a data result according to the utilization logic and the database corresponding to the Hash value to be utilized, and generating a second evidence based on zk-snarks protocol and the data result, wherein the second evidence is evidence for proving that the data result is calculated and obtained based on a real database corresponding to the Hash value to be utilized;
and acquiring the second evidence, verifying the second evidence based on the zk-snarks protocol, and acquiring and utilizing a data result if the verification is passed.
2. The method for data uplink and utilization according to claim 1, wherein the utilizing the database corresponding to the Hash value to be utilized according to the verification result includes:
when the verification result is correct, acquiring a database corresponding to the Hash value to be utilized;
and verifying the binding relation between the Hash value to be utilized and the database corresponding to the Hash value to be utilized, and if the verification is passed, utilizing the database corresponding to the Hash value to be utilized.
3. The method for data uplink and utilization according to claim 1, wherein the utilizing the database corresponding to the Hash value to be utilized according to the verification result includes:
when the verification result is correct, acquiring a ciphertext of a database corresponding to the Hash value to be utilized, which is provided by a data provider;
the ciphertext is utilized based on a blind polynomial computing model.
4. A data uplink and utilization apparatus, comprising:
the storage unit is used for carrying out Hash calculation on the databases respectively to obtain a plurality of Hash values, and storing the Hash values into the block chain;
the determining unit is used for acquiring the data demand information of the data demand party and determining a Hash value to be utilized according to the data demand information;
the generation unit is used for generating a first evidence based on the zk-snarks protocol and the Hash value to be utilized, wherein the first evidence is evidence for proving that the calculation process of the Hash value to be utilized is correct and that a database corresponding to the Hash value to be utilized meets data demand information;
the utilization unit is used for sending the first evidence to a data demand party so that the data demand party can verify the first evidence based on the zk-snarks protocol and the data demand information, and utilizing the database corresponding to the Hash value to be utilized according to a verification result;
wherein, the utilization unit is specifically further used for:
when the verification result is correct, sending utilization logic of a database corresponding to the Hash value to be utilized to a data provider, so that the data provider can calculate and obtain a data result according to the utilization logic and the database corresponding to the Hash value to be utilized, and generating a second evidence based on zk-snarks protocol and the data result, wherein the second evidence is evidence for proving that the data result is calculated and obtained based on a real database corresponding to the Hash value to be utilized;
and acquiring the second evidence, verifying the second evidence based on the zk-snarks protocol, and acquiring and utilizing a data result if the verification is passed.
5. The data uplink and utilization apparatus of claim 4, wherein the utilization unit is specifically configured to:
when the verification result is correct, acquiring a database corresponding to the Hash value to be utilized;
and verifying the binding relation between the Hash value to be utilized and the database corresponding to the Hash value to be utilized, and if the verification is passed, utilizing the database corresponding to the Hash value to be utilized.
6. The data uplink and utilization apparatus of claim 4, wherein the utilization unit is further specifically configured to:
when the verification result is correct, acquiring a ciphertext of a database corresponding to the Hash value to be utilized, which is provided by a data provider;
the ciphertext is utilized based on a blind polynomial computing model.
7. A data uplink and utilization device, comprising: a memory and a processor, the memory having stored therein at least one instruction that is loaded and executed by the processor to implement the data chaining and utilization method of any of claims 1-3.
8. A computer-readable storage medium, characterized by: the computer storage medium stores computer instructions that, when executed by a computer, cause the computer to perform the data-chaining and utilization method of any of claims 1 to 3.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111006874.4A CN113779147B (en) | 2021-08-30 | 2021-08-30 | Data uplink and utilization method, device, equipment and readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111006874.4A CN113779147B (en) | 2021-08-30 | 2021-08-30 | Data uplink and utilization method, device, equipment and readable storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113779147A CN113779147A (en) | 2021-12-10 |
CN113779147B true CN113779147B (en) | 2023-11-07 |
Family
ID=78839924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111006874.4A Active CN113779147B (en) | 2021-08-30 | 2021-08-30 | Data uplink and utilization method, device, equipment and readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113779147B (en) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109274481A (en) * | 2018-08-01 | 2019-01-25 | 中国科学院数据与通信保护研究教育中心 | A kind of traceable method of data of block chain |
CN111191284A (en) * | 2019-12-27 | 2020-05-22 | 中国司法大数据研究院有限公司 | Processing method, device and system for judicial evidence storage of sensitive information based on block chain technology |
CN111553792A (en) * | 2020-03-24 | 2020-08-18 | 平安科技(深圳)有限公司 | Data verification method and device based on block chain |
CN111861480A (en) * | 2020-09-21 | 2020-10-30 | 浙江大学 | Traffic detection model transaction method and device, electronic equipment and storage medium |
CN112035889A (en) * | 2020-09-03 | 2020-12-04 | 平安壹钱包电子商务有限公司 | Block chain privacy verification method and device for computing outsourcing and computer equipment |
CN112231751A (en) * | 2020-10-19 | 2021-01-15 | 深圳市札记网络科技有限公司 | Data transmission system and method based on block chain |
CN112435026A (en) * | 2020-11-27 | 2021-03-02 | 从法信息科技有限公司 | Method and device for protecting file transaction information by using zero-knowledge proof and electronic equipment |
CN112541197A (en) * | 2020-12-28 | 2021-03-23 | 深圳前海微众银行股份有限公司 | Result verification method and device |
CN112765268A (en) * | 2020-12-31 | 2021-05-07 | 杭州趣链科技有限公司 | Block chain-based data privacy protection method, device and equipment |
CN113114645A (en) * | 2021-03-31 | 2021-07-13 | 武汉天喻信息产业股份有限公司 | Method, device and equipment for improving storage capacity and operation safety of safety module |
CN113255005A (en) * | 2020-09-15 | 2021-08-13 | 支付宝(杭州)信息技术有限公司 | Block chain-based data asset transfer method, device and equipment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10742424B2 (en) * | 2018-08-29 | 2020-08-11 | International Business Machines Corporation | Trusted identity solution using blockchain |
FR3099017B1 (en) * | 2019-07-16 | 2021-08-06 | Idemia Identity & Security France | Process for verifying a transaction in a blockchain-type database |
-
2021
- 2021-08-30 CN CN202111006874.4A patent/CN113779147B/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109274481A (en) * | 2018-08-01 | 2019-01-25 | 中国科学院数据与通信保护研究教育中心 | A kind of traceable method of data of block chain |
CN111191284A (en) * | 2019-12-27 | 2020-05-22 | 中国司法大数据研究院有限公司 | Processing method, device and system for judicial evidence storage of sensitive information based on block chain technology |
CN111553792A (en) * | 2020-03-24 | 2020-08-18 | 平安科技(深圳)有限公司 | Data verification method and device based on block chain |
CN112035889A (en) * | 2020-09-03 | 2020-12-04 | 平安壹钱包电子商务有限公司 | Block chain privacy verification method and device for computing outsourcing and computer equipment |
CN113255005A (en) * | 2020-09-15 | 2021-08-13 | 支付宝(杭州)信息技术有限公司 | Block chain-based data asset transfer method, device and equipment |
CN111861480A (en) * | 2020-09-21 | 2020-10-30 | 浙江大学 | Traffic detection model transaction method and device, electronic equipment and storage medium |
CN112231751A (en) * | 2020-10-19 | 2021-01-15 | 深圳市札记网络科技有限公司 | Data transmission system and method based on block chain |
CN112435026A (en) * | 2020-11-27 | 2021-03-02 | 从法信息科技有限公司 | Method and device for protecting file transaction information by using zero-knowledge proof and electronic equipment |
CN112541197A (en) * | 2020-12-28 | 2021-03-23 | 深圳前海微众银行股份有限公司 | Result verification method and device |
CN112765268A (en) * | 2020-12-31 | 2021-05-07 | 杭州趣链科技有限公司 | Block chain-based data privacy protection method, device and equipment |
CN113114645A (en) * | 2021-03-31 | 2021-07-13 | 武汉天喻信息产业股份有限公司 | Method, device and equipment for improving storage capacity and operation safety of safety module |
Non-Patent Citations (2)
Title |
---|
A blockchain-based scheme for privacy-preserving and secure sharing of medical data;Haiping Huang等;《Computers & Security》;摘要、正文第3-4小节 * |
一种面向网格计算的分布式匿名协作算法;石志国;贺也平;淮晓永;张宏;;计算机研究与发展(第S1期);80-88 * |
Also Published As
Publication number | Publication date |
---|---|
CN113779147A (en) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112182644B (en) | Data processing method and device and electronic equipment | |
US9049027B2 (en) | Non-PKI digital signatures and information notary public in the cloud | |
CN109714165B (en) | Key management method for client to generate key components respectively and electronic equipment | |
CN111464315B (en) | Digital signature processing method, device, computer equipment and storage medium | |
CN113743939A (en) | Identity authentication method, device and system based on block chain | |
CN111064583B (en) | Threshold SM2 digital signature method and device, electronic equipment and storage medium | |
CN111815321A (en) | Transaction proposal processing method, device, system, storage medium and electronic device | |
CN113037479B (en) | Data verification method and device | |
CN115396115B (en) | Block chain data privacy protection method, device, equipment and readable storage medium | |
CN114760071B (en) | Zero-knowledge proof based cross-domain digital certificate management method, system and medium | |
CN111245594B (en) | Homomorphic operation-based collaborative signature method and system | |
CN109981591B (en) | Key management method for generating private key by single client and electronic equipment | |
Xia et al. | An improved privacy preserving construction for data integrity verification in cloud storage | |
CN113779147B (en) | Data uplink and utilization method, device, equipment and readable storage medium | |
CN115473632B (en) | Improved multi-layer linkable ring signature generation method and device | |
CN109818753B (en) | Method and equipment for generating key for multiple clients and multiple servers by one client | |
CN114362958B (en) | Intelligent home data security storage auditing method and system based on blockchain | |
Chenli et al. | Fairtrade: Efficient atomic exchange-based fair exchange protocol for digital data trading | |
CN112887097A (en) | Signature method based on SM2 elliptic curve, related device and storage medium | |
CN110766407A (en) | Transaction verification method, accounting node and medium based on block chain | |
CN115473634B (en) | Improved method and device for generating linkable ring signature | |
CN113746836B (en) | Data holding verification method and system | |
CN116506227B (en) | Data processing method, device, computer equipment and storage medium | |
CN117834303B (en) | Data auditing method for decentralised storage | |
CN112749964B (en) | Information monitoring method, system, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |