CN112685770A - Data processing method, device and system based on block chain - Google Patents

Data processing method, device and system based on block chain Download PDF

Info

Publication number
CN112685770A
CN112685770A CN202011565931.8A CN202011565931A CN112685770A CN 112685770 A CN112685770 A CN 112685770A CN 202011565931 A CN202011565931 A CN 202011565931A CN 112685770 A CN112685770 A CN 112685770A
Authority
CN
China
Prior art keywords
data
processing
block
processing results
block chain
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.)
Pending
Application number
CN202011565931.8A
Other languages
Chinese (zh)
Inventor
马逸龙
金辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202011565931.8A priority Critical patent/CN112685770A/en
Publication of CN112685770A publication Critical patent/CN112685770A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The method comprises the steps that when data are processed, corresponding first data blocks obtained by splitting a plurality of first data and corresponding second data blocks obtained by splitting a second data are obtained and processed by a calculation participant on a block chain, and processing result data of the calculation participants are obtained and processed by an agent on the block chain.

Description

Data processing method, device and system based on block chain
Technical Field
The present application relates to the field of block chain technologies, and in particular, to a data processing method, apparatus, and system based on a block chain.
Background
The goal of block-chain technology is to achieve distributed reliable storage of data. When the block chain is specifically implemented, data is stored incrementally on multiple nodes in the network, the non-tamper property of the data entering the chain is ensured through a Secure Hash Algorithm (SHA), and the storage consistency of the data on each node is realized through a consensus Algorithm and a network transmission protocol.
Block chains can be generally divided into public chains (public chains) and permitted chains (permitted chains), currently, the main permitted chain systems, such as Fabric of Hyperledger Hyperhedger, use intelligent contracts called chain codes (chain codes), and users can use the chain codes to perform basic operations, such as transfer, data comparison, and the like. However, the current intelligent contract chain code only supports plaintext comparison, which exposes plaintext data of each data provider and makes it difficult to protect privacy of each data provider.
Disclosure of Invention
In view of this, the present application provides a data processing method, device and system based on a block chain.
The specific technical scheme is as follows:
a data processing method based on block chain is applied to a calculation participant on the block chain;
the method comprises the following steps:
acquiring a plurality of first data blocks; each first data block is a sub-data block obtained by splitting first data, and a plurality of first data are mutually different;
acquiring a second data block; the second data block is a subdata block obtained by splitting second data;
respectively carrying out first processing on the second data block and each first data block to obtain a plurality of first processing results;
obtaining first processing results of other calculation participants on the block chain to obtain a plurality of first processing results corresponding to each first data;
and performing second processing according to a plurality of first processing results corresponding to each first data to obtain a plurality of second processing results.
Optionally, after performing the second processing according to the plurality of first processing results corresponding to each of the first data, respectively, to obtain a plurality of second processing results, the method further includes:
determining whether the second data belongs to a data set formed by the first data according to a plurality of second processing results corresponding to each first data to obtain a determination result, and uploading the determination result to a block chain;
and a plurality of second processing results corresponding to each first data come from different calculation participants.
Optionally, the determining, according to a plurality of second processing results corresponding to each of the first data, whether the second data belongs to a data set formed by each of the first data includes:
performing third processing on a plurality of second processing results corresponding to each first data to obtain a plurality of third processing results;
and determining whether the second data belongs to a data set formed by the first data according to the third processing results.
Optionally, the performing the first processing on the second data block and each of the first data blocks respectively includes:
determining a difference value between a first data block and a second data block of first data based on a preset module;
determining the value of the intermediate parameter by using a calculation formula of the intermediate parameter, the first shared data block and the second shared data block;
processing the value of the intermediate parameter, the random number data block and the difference value to obtain a first processing result corresponding to the first data;
the sum value of each first shared data block used by different calculation participants meets a first numerical condition, and the sum value of each second shared data block used by different calculation participants meets a second numerical condition;
the performing second processing according to a plurality of first processing results corresponding to each of the first data, respectively, to obtain a plurality of second processing results, including:
determining a first sum of a plurality of first processing results corresponding to the first data based on the modulus;
determining whether the first sum is a quadratic residue of the modulus;
if the secondary residue of the module is obtained, carrying out fourth processing on the value of the intermediate parameter;
if the difference is not the secondary residue of the module, carrying out fifth processing on the value of the intermediate parameter; a result of the fourth processing or the fifth processing is a second processing result corresponding to the first data.
Optionally, the third processing is performed on a plurality of second processing results corresponding to each first data, and includes:
determining a second sum of a plurality of second processing results corresponding to each of the first data based on the modulus;
determining whether the second data is the same as the first data or not according to a second sum value corresponding to each first data to obtain a third processing result corresponding to the first data;
the determining whether the second data belongs to a data set formed by the first data according to the third processing results includes:
determining whether only one third processing result in a plurality of third processing results corresponding to a plurality of first data represents that the second data is the same as the corresponding first data;
if yes, the second data belong to a data set formed by the first data;
and if not, the second data does not belong to the data set formed by the first data.
Optionally, before uploading the determination result to the blockchain, the method further includes:
and under the condition that a plurality of determination results are obtained by a plurality of calculation participants, if the determination results are verified to be consistent with each other, triggering the step of uploading the determination results to the block chain.
A data processing method based on block chain is applied to an agent side on the block chain;
the method comprises the following steps:
obtaining a plurality of second processing results corresponding to each first data;
the second processing results corresponding to each first data come from different calculation participants, each second processing result is obtained by performing second processing on a plurality of first processing results of a first data, and each first processing result is obtained by performing first processing on a second data block of the second data and a first data block of the first data; a plurality of said first data being distinct from one another;
performing third processing on a plurality of second processing results corresponding to each first data to obtain a third processing result corresponding to each first data;
determining whether the second data belongs to a data set formed by the first data or not according to a third processing result corresponding to each first data to obtain a determination result;
and uploading the determined result to a block chain.
A data processing device based on a block chain is applied to a calculation participant on the block chain;
the device comprises:
a first acquisition unit configured to acquire a plurality of first data blocks and acquire a second data block; each first data block is a sub-data block obtained by splitting first data, and a plurality of first data are mutually different; the second data block is a subdata block obtained by splitting second data;
the first processing unit is used for respectively carrying out first processing on the second data block and each first data block to obtain a plurality of first processing results;
a second obtaining unit, configured to obtain first processing results of other computation participants on the block chain, and obtain multiple first processing results corresponding to each piece of the first data;
and the second processing unit is used for performing second processing according to a plurality of first processing results corresponding to each first data to obtain a plurality of second processing results.
A data processing device based on a block chain is applied to an agent side on the block chain;
the device comprises:
the third acquisition unit is used for acquiring a plurality of second processing results corresponding to each first data;
the second processing results corresponding to each first data come from different calculation participants, each second processing result is obtained by performing second processing on a plurality of first processing results of a first data, and each first processing result is obtained by performing first processing on a second data block of the second data and a first data block of the first data; a plurality of said first data being distinct from one another;
the third processing unit is used for performing third processing on a plurality of second processing results corresponding to each first data to obtain a third processing result corresponding to each first data;
a determining unit, configured to determine, according to a third processing result corresponding to each first data, whether the second data belongs to a data set formed by each first data, so as to obtain a determination result;
and the transmission unit is used for uploading the determined result to the block chain.
A blockchain-based data processing system, comprising:
a first data provider that holds a plurality of first data;
a second data provider holding second data;
a plurality of compute participants and agents on a blockchain;
wherein the computation participant is configured to perform the blockchain-based data processing method applied to the computation participant as described in any one of the above; the agent is used for executing the block chain-based data processing method applied to the agent.
According to the above scheme, when data processing is performed, the calculation participants on the blockchain acquire and process corresponding first data blocks obtained by splitting a plurality of first data respectively and corresponding second data blocks obtained by splitting a second data, and the agent on the blockchain acquires and processes processing result data of the plurality of calculation participants, neither the calculation participants nor the agent is involved in acquiring and processing original plaintext data such as the first data and the second data held by a data provider, that is, privacy data of the data provider is invisible to both the calculation participants and the agent, so that privacy leakage to the data provider is avoided, and information security during processing of the blockchain data is guaranteed.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
Fig. 1 is a schematic flowchart of a block chain-based data processing method applied to a computing participant according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a proving party performing data splitting and distributing data blocks to computing participants according to an embodiment of the present application;
fig. 3 is a schematic diagram of a querying party performing data splitting and distributing data blocks to computing participants according to an embodiment of the present application;
fig. 4 is a schematic flowchart of another block chain-based data processing method applied to a computation participant according to an embodiment of the present application;
FIG. 5 is a schematic diagram of an equal algorithm executed once for each first datum according to an embodiment of the present disclosure;
FIG. 6 is an implementation code of the equal algorithm provided by the embodiment of the present application;
fig. 7 is a schematic flowchart of another block chain-based data processing method applied to a computing participant according to an embodiment of the present application;
fig. 8 is a flowchart illustrating a block chain-based data processing method applied to a broker according to an embodiment of the present application;
FIG. 9 is a schematic structural diagram of a block chain-based data processing apparatus applied to a computation participant according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of a block chain-based data processing apparatus applied to a broker according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The current intelligent contract chain code only supports comparison of plaintext data of a data provider, namely, a block chain link point receiving a delegation simultaneously obtains plaintext of different data to be compared, processes the plaintext locally, and transmits a result back to a block chain, and no operator for data comparison under the condition of protecting privacy of the data provider is supported.
In order to solve the technical problems, the application provides a data processing method, a device and a system based on a block chain, and by providing on-chain computing power and processing data blocks obtained by splitting data held by a data owner instead of original plaintext data based on the on-chain computing power, data comparison under the condition of protecting privacy of a data provider is realized, so that leakage of private data of the data provider is avoided, and information security during block chain data processing is ensured.
Referring to fig. 1, a schematic flowchart of a data processing method based on a blockchain according to an embodiment of the present application is shown, where the method is applied to a computation participant on a blockchain, and the computation participant may be a node with a data processing function on the blockchain. The number of the calculation participants is multiple, and the multiple calculation participants cooperatively perform data processing required in the data comparison process.
The node as a computation participant may specifically be an endorsement node on a blockchain. The nodes on the block chain for endorsements are called endorsement nodes, the endorsement nodes are mainly used for endorsement processing on transactions before the transactions are submitted in response to endorsement requests of specific chain codes, and one transaction needs to obtain an endorsement containing one or more endorsement nodes (and the endorsements should be effective).
The existing endorsement mechanism in the block chain is that a system sets an endorsement node in advance, after a proposal node submits a new transaction request, the endorsement node carries out simulated chain code execution on the new transaction, after the legal compliance of the transaction is determined, an endorsement result is signed and returned to the proposal node, the endorsement result is finally collected to generate final submission information, and the final submission information is submitted to all nodes through ordering service (order service) to realize the confirmation operation (commit) of transaction chain linking. In the specific execution process of the endorsement node, the whole content of the transaction can be completely seen, namely in the traditional technology, the endorsement node can perform unimpeded access to the endorsement data, so that the endorsement node is a main channel for leakage of the block chain information. According to the embodiment of the application, the data processing safety of the block chain in the transaction (such as data comparison) process is improved by improving the data processing process of the endorsement node on the block chain.
As shown in fig. 1, the data processing method based on a block chain according to this embodiment may include:
step 101, obtaining a plurality of first data blocks; each first data block is a sub-data block obtained by splitting first data, and the first data blocks are different from one another.
The application aims to realize a data comparison operator based on privacy protection, and the data comparison operator can be specifically applied to index query proof, determine whether an index K is in a directory L (namely, prove whether the index K belongs to a data set corresponding to the directory L) or not through data comparison based on privacy protection, expand the application scene of an intelligent contract based on the technical scheme of the application, and develop intelligent contract application related to privacy protection, such as developing a privacy retrieval system based on index query proof and the like.
102, acquiring a second data block; the second data block is a sub data block obtained by splitting second data.
Calculating each first data block in a plurality of first data blocks acquired by a participant, and splitting each first data block in different held first data for a first data provider to obtain a corresponding data block in a data block set; and calculating the second data block acquired by the participant as one data block in a data block set obtained by splitting the held second data by the second data provider.
The first data provider may specifically be a prover, owning a directory L, L comprising N entries: l is1,L2…LNEach item is a first data; the second data provider may be an inquiring party, and the inquiring party has the index K, that is, the second data, and wants to know whether the K is in the directory L. Multiple computing participants engage in an operation to determine or prove whether the index K is in the directory L, but provided that the computing participants are not aware of the plaintext data for the directory L and the index K.
In an implementation, the index K and each entry in the directory L may be, but are not limited to, numerical data or text data, for example, the querying party owns the value K (e.g., account balance, qualification level, etc.), whether the value K belongs to the value set included in the directory of the proving party is to be known, or the querying party owns the text data K (e.g., a certain paper title or a keyword), whether the text K belongs to the text set included in the directory of the proving party is to be known, and the like.
In order to implement data comparison based on privacy protection, a first data provider splits each entry, namely each first data in a directory L into a plurality of data blocks in advance based on a splitting rule to obtain a plurality of first data blocks corresponding to each first data, and distributes the plurality of first data blocks corresponding to each first data to a plurality of calculators; similarly, the second data provider splits the index K, that is, the second data, into a plurality of data blocks based on the splitting rule to obtain a plurality of second data blocks corresponding to the second data, and distributes the plurality of second data blocks corresponding to the second data to the plurality of calculators.
Optionally, in the embodiment of the present application, a large prime number P is predefined as a system parameter of a block chain, so that operations in the system are all mapped to operations in a finite field Fp (i.e., {0, 2, 3 … P-1 }). In view of this, the first data provider is working on each entry L as the first dataiBefore splitting, the L 'is obtained by coding the L'i=E(Li) Before splitting the index K as the second data, the second data provider correspondingly encodes K, resulting in K' ═ e (K). The encoding mode is not unique, and one feasible encoding mode is to perform hash operation on data first, and then perform modulo operation on P by using a hash operation result, that is:
E(Li)=Hash(Li)modp;
E(K)=Hash(K)modp。
thereafter, the first data provider makes an entry L 'for each encoded first data'iAnd splitting according to a splitting rule to obtain a plurality of first data blocks corresponding to the first data, and correspondingly splitting the encoded second data, namely K', by a second data provider according to the splitting rule to obtain a plurality of second data blocks corresponding to the second data.
The splitting method is not unique, and may be addition-based splitting or polynomial-based splitting, and redundant computation-oriented splitting or non-redundant computation-oriented splitting may be further employed in addition-based or polynomial-based splitting. The embodiment of the present application mainly takes splitting based on addition and oriented to non-redundant computation as an example to explain the method of the present application.
In addition-based and non-redundant computation oriented splitting, the splitting rule may be set to, but is not limited to:
and splitting the data according to the random number based on the number of the calculation participants on the block chain, so that the number of the data blocks obtained by splitting is related to the number of the calculation participants, and the value size of the data blocks obtained by splitting is related to the size of the random number.
Specifically, assume that the number of participants is calculated as M, based on the tear-down described aboveAccording to rules, each coded first data L 'is divided by a first data provider (prover) according to a random number'iSplitting into M first data blocks: l'i1、L’i2…L’iMAnd are prepared from L'ijAnd sending the data to the jth computing participant to realize the distribution of different first data blocks of each first data to different computing participants, as shown in fig. 2.
The following exemplifies a data splitting method based on random numbers and the number of participants. Taking data as 100 as an example, assuming that the data needs to be split into two data blocks, and assuming that the adopted random number is 37, the data 100 can be split into 37 and 73, and if the data needs to be split into more than two data blocks, the data splitting can be correspondingly completed based on a plurality of random numbers.
Similarly, the second data provider (querier) splits the encoded second data K' into M second data blocks according to the random number: k'1、K’2…K’MAnd is prepared from K'jAnd sending the second data to the jth computing participant to realize the distribution of different second data blocks of the second data to different computing participants, as shown in fig. 3 in detail.
A plurality of corresponding first data blocks of the plurality of first data and a corresponding second data block of the second data are obtained by the calculation participants.
In the embodiment of the application, the data splitting operation is completed by the data provider without any agent or third party, so that the private data of the data provider is correspondingly prevented from being known by any agent or third party, and the risk of privacy disclosure in the data splitting stage is avoided.
In an implementation, optionally, a process of encoding, splitting, and distributing a first data block to a computation participant by a first data provider may be used as an initialization process, and after each computation participant obtains and stores (for example, stores to a computation participant local database) a corresponding first data block of each first data transmitted by the first data provider, the initialization is considered to be completed, and a state of the completion of the initialization is stored to the blockchain network. Subsequently, when a second data provider is ensured to be in an initialization completion state by inquiring the block chain network, encoding and splitting second data held by the second data provider and transmitting the second data to a data block of the block chain are executed; however, the present embodiment is not limited to this, and the first data provider and the second data provider may simultaneously perform encoding, splitting, and transmission processing of data in parallel.
And 103, performing first processing on the second data block and each first data block respectively to obtain a plurality of first processing results.
Then, the second data block to be obtained by the computation participant is respectively subjected to first processing with each obtained first data block, for example, the second data block K to be obtained by the jth computation participantjRespectively with the first data block L1j、L2j…LNjThe first process is performed.
The first processing may specifically include:
1) and determining a difference value of a first data block of the first data and the second data block based on a preset module.
The predetermined modulus is the large prime number P.
Based on a preset modulus, the determined difference value between the first data block and the second data block of the first data is the result of performing a modulus operation on the difference value between the first data block and the second data block to p, so that the difference value between the first data block and the second data block of the first data is mapped to a corresponding numerical value on the finite field Fp.
2) And determining the value of the intermediate parameter by using the calculation formula of the intermediate parameter, the first shared data block and the second shared data block.
The sum value of the first shared data blocks used by different calculation participants meets a first numerical condition, and the sum value of the second shared data blocks used by different calculation participants meets a second numerical condition.
Specifically, the value of the intermediate parameter _ b may be calculated using the following calculation equation:
_b=-4*share_bit+share(5);
wherein:
the share _ bit represents a first shared data block used by the calculation participator, and the sum of the first shared data blocks used by different calculation participators is 0 or 1;
share (5) represents the second shared data blocks used by the computation participants, and the sum of the second shared data blocks used by different computation participants is 5.
3) Processing the value of the intermediate parameter, the random number data block and the difference value to obtain a first processing result corresponding to the first data;
specifically, the first processing result _ c is calculated by using the following calculation formula:
_c=diff*_r+(_b*rp*rp);
wherein: diff represents a difference value of the first data block and the second data block; the doublet (r, rp) represents the block of random number data.
And step 104, obtaining first processing results of other calculation participants on the block chain to obtain a plurality of first processing results corresponding to each first data.
After the calculation participating party performs the first processing, a first processing result corresponding to each first data is obtained correspondingly. On the basis, a first processing result obtained by executing the first processing on each first data corresponding to each other computing participant can be obtained through broadcasting and the like, and a plurality of first processing results corresponding to each first data are correspondingly obtained. For example, for the first data LiAccordingly, M first processing results _ c obtained by the M computing nodes respectively executing the first processing can be obtained.
And 105, performing second processing according to a plurality of first processing results corresponding to each first data to obtain a plurality of second processing results.
Then, the calculation participants respectively perform second processing according to a plurality of first processing results corresponding to each first data, specifically including:
1) determining a first sum of a plurality of first processing results corresponding to the first data based on the modulus;
based on the modulus, the determined first sum of the plurality of first processing results corresponding to the first data is a result obtained by performing modulo operation on the sum p of the plurality of first processing results corresponding to the first data, so that the sum of the plurality of first processing results corresponding to the first data is mapped to a corresponding numerical value on the finite field Fp.
2) Determining whether the first sum is a quadratic residue of the modulus.
Specifically, the value of the quadratic characteristic of the first sum, that is, legendre symbol Legendre (c), may be calculated, and it is determined whether the first sum is the quadratic residue modulo p based on the value of the quadratic characteristic of the first sum.
The legendre symbol Legendre (c) of the first sum is calculated as follows:
Figure BDA0002861738350000111
in the formula, c represents a first sum.
If the value of the formula is 1 by calculation, the first sum is the quadratic residue of the modulo p; if the value of this equation is-1, then the first sum is not the second residue of modulo p.
3) And if the secondary residue of the module is obtained, carrying out fourth processing on the value of the intermediate parameter.
The fourth processing specifically includes:
obtaining a second processing result x corresponding to the first data by using the following calculation formula:
x=(_b+share(1))/2;
wherein: share (1) indicates a third shared data block used by the computation participants, and the sum of the third shared data blocks used by the computation participants is 1.
4) And if the difference is not the secondary residue of the module, carrying out fifth processing on the value of the intermediate parameter.
The fifth processing specifically includes:
obtaining a second processing result x' corresponding to the first data using the following calculation:
x’=(share(1)-_b)/2。
the result of the fourth processing or the fifth processing is a second processing result corresponding to the first data.
Subsequently, the calculation participant or the agent may further determine whether the second data belongs to a data set formed by each first data according to a plurality of second processing results corresponding to each first data to obtain a determination result, and upload the determination result to the block chain;
and a plurality of second processing results corresponding to each first data come from different calculation participants.
In the data processing method based on the blockchain provided by this embodiment, when data processing is performed, a corresponding first data block obtained by splitting a plurality of first data and a corresponding second data block obtained by splitting a second data are obtained and processed by a computation participant on the blockchain, and acquisition and processing of original plaintext data held by a data provider, such as the first data and the second data, are not involved, that is, privacy data of the data provider is invisible to the computation participant, so that privacy disclosure of the data provider is avoided, and information security during the blockchain data processing is ensured.
In addition, because the information of each data provider (such as the data of the proving party and the inquiring party) is obtained by all the computation participants (such as a plurality of endorsement nodes) in the traditional technology, each computation participant can independently complete the data processing required by the transaction task, and the data processing process corresponding to the transaction task does not involve the cooperation among a plurality of nodes, so that the block chain only has the calculation capacity under the chain in the traditional technology, the application distributes the data blocks obtained by splitting to each computation participant but not complete data by splitting each data provider, so that each computation participant (or subsequently introduced agent) can complete the data processing required by the transaction task by the cooperative interaction among each other, thereby realizing the calculation capacity on the chain of the block chain, and realizing the improvement of the existing endorsement mechanism for the endorsement processing of the block chain, the information security in the endorsement process is further improved by the on-chain computing power of the block chain.
In an optional embodiment of the present application, after the computation participant performs second processing according to a plurality of first processing results corresponding to each first data, respectively, to obtain a plurality of second processing results, the computation participant continues to serve as an execution main body, determines whether the second data belongs to a data set formed by each first data according to a plurality of second processing results corresponding to each first data, and uploads the determination result to the block chain.
In view of this, referring to the block chain-based data processing method flowchart shown in fig. 4, after step 105, the data processing method applied to the computation participant of the present application may further determine whether the second data belongs to the data set formed by the respective first data by further performing the following steps 106 and 108 by the computation participant, and upload the determination result to the block chain:
and 106, performing third processing on a plurality of second processing results corresponding to each first data to obtain a plurality of third processing results.
And a plurality of second processing results corresponding to each first data come from different calculation participants.
In the implementation, for the plurality of calculation participants, some or all of them may be selected as an execution subject to execute the processing of step 106 and step 108, and the calculation participants as the execution subject may obtain the second processing results of other calculation participants based on means such as broadcasting, and obtain a plurality of second processing results corresponding to each first data, and perform the third processing on the plurality of second processing results corresponding to each first data to obtain a plurality of third processing results.
The third process specifically includes:
1) and determining a second sum of a plurality of second processing results corresponding to each first data based on the modulus.
Based on the modulus, the determined second sum of the plurality of second processing results corresponding to each first data is a result obtained by performing modulo operation on the sum p of the plurality of second processing results corresponding to each first data, so that the sum of the plurality of second processing results corresponding to each first data is mapped to a corresponding numerical value on the finite field Fp.
2) Determining whether second data is the same as the first data or not according to a second sum corresponding to each first data to obtain a third processing result corresponding to the first data;
specifically, if the last bit of the binary data corresponding to the second sum is 1, it is determined that the second data is the same as the first data; otherwise, if the last bit of the binary data corresponding to the second sum is 0, the second data is determined to be different from the first data.
A plurality of third processing results are respectively obtained for a plurality of first data corresponding to the first data provider, and the third processing result corresponding to each first data can be used for indicating whether the second data is the same as the first data or not. In essence, the embodiment of the present application corresponds to each first data in the plurality of first data for the first data provider, such as each entry L in the directory LiIn this embodiment, the process is referred to as an algorithmic process of the equivalent algorithm, and specifically, refer to fig. 5 for a comparison.
In addition, fig. 6 also exemplarily provides an implementation code of the equivalent algorithm.
And step 107, determining whether the second data belongs to a data set formed by the first data according to the plurality of third processing results to obtain a determination result.
And step 108, uploading the determined result to the block chain.
On the basis, the calculation participant serving as the execution subject determines whether only one third processing result in a plurality of third processing results corresponding to the plurality of first data represents that the second data is the same as the corresponding first data; if yes, the second data belong to a data set formed by the first data; if not, the second data does not belong to the data set formed by the first data.
And finally uploading the determination result of whether the second data belongs to the data set formed by each first data to the block chain, for example, a book on the chain of the block chain, for the first data provider (prover) and/or the second data provider (inquirer) to query, and developing a corresponding application based on the query result, for example, performing result query by the prover, and in case that the determination result indicates that the second data (e.g., a paper topic, a keyword) of the second data provider belongs to the catalog (e.g., a topic set, a keyword set) of the first data provider, feeding back each object matching the second data to the inquirer (e.g., returning a paper set matching the topic or keyword provided by the inquirer), and in case that the determination result indicates that the second data does not belong to the catalog of the first data provider, corresponding response information indicating that the query failed may be returned to the querying party.
In this embodiment, in the process of performing data comparison on the second data and each piece of first data by using an equal algorithm to determine whether the second data belongs to a data set composed of a plurality of pieces of first data, the computation participant serving as the execution subject does not involve acquisition and processing of original plaintext data, such as the first data and the second data, held by the data provider, that is, the privacy data of the data provider is invisible to the computation participant, so that privacy leakage to the data provider is avoided, data comparison under the condition of protecting the privacy of the data provider is realized, and information security during processing of block chain data is ensured.
The inventor verifies that the equivalent algorithm (including the first processing, the second processing, and the third processing) of the embodiment of the present application can ensure that the third processing result with the result of 1 is obtained in the case that the second data is equal to the first data, and the third processing result with the result of 0 or 1 is obtained with a probability in the case that the second data is not equal to the first data.
Therefore, in the determination manner of the above embodiment (i.e., in the case where the corresponding third processing result is 1, it is determined that the second data is equal to the first data, and in the case where the corresponding third processing result is 0, it is determined that the second data is not equal to the first data), there may be a certain error, which may result in an insufficient accuracy of the determination result of "whether the second data belongs to the data set composed of the plurality of first data".
In order to solve the technical problem, an equal algorithm may be executed for each first data for a plurality of times in a loop, for example, the execution is executed for 32 times or other times, so as to obtain a plurality of third processing results corresponding to each first data, wherein in the process of executing the equal algorithm for each first data for the plurality of times in the loop, a judgment is performed by repeatedly generating different random numbers (e.g., (r, rp)) and/or using different shared data blocks (e.g., share _ bit, share (5), share (1)), if a third processing result with a result of 1 is obtained for each time, it is determined that the second data is the same as the first data, otherwise, if a third processing result with a result of 0 exists in the loop, it is determined that the second data is not the same as the first data.
Through the cyclic processing, the misjudgment rate existing in the processing process based on the equal algorithm can be greatly reduced, and accordingly the finally obtained determination result of whether the second data belongs to the data set formed by the plurality of first data has higher accuracy.
In an alternative embodiment, referring to fig. 7, the data processing method applied to the computation participants in this embodiment may further include the following processing between step 107 and step 108:
step 107', when multiple determination results are obtained by multiple computation participants, determining whether the multiple determination results are consistent, and if the multiple determination results are verified to be consistent with each other, triggering the processing procedure of uploading the determination results to the blockchain in step 108.
Specifically, the determination result is used to indicate whether or not the second data belongs to a data set made up of a plurality of first data.
In the case where a plurality of determination results are obtained by a plurality of computation participants as execution subjects on the blockchain, respectively, it may be first verified whether the plurality of determination results coincide with each other before linking the determination results.
In an implementation, the calculation participant may specifically collect a plurality of determination results together based on means such as broadcasting, and determine whether the plurality of determination results are all the same, for example, whether all the determination results indicate that the second data belongs to a data set formed by a plurality of first data, or all the determination results indicate that the second data does not belong to a data set formed by a plurality of first data, if the plurality of determination results are all the same, the determination results are only uplinked, otherwise, if the plurality of determination results are different, it may be known that there is a processing error of at least one calculation participant, in such a case, the determination results are rejected to be uplinked, the data comparison process and the verification process may be performed again, and the uplink operation of the determination results is performed after the verification is passed, so as to ensure the correctness of the uplink data as much as possible.
After the calculation participant performs the second processing according to the plurality of first processing results corresponding to each first data to obtain a plurality of second processing results, optionally, an agent on the blockchain instead of the calculation participant may be used as an execution subject, and according to the plurality of second processing results corresponding to each first data, it is determined whether the second data belongs to a data set formed by each first data, and the determination result is uploaded to the blockchain.
Therefore, the embodiment of the application also discloses a data processing method based on the blockchain, which is applied to the agent on the blockchain, and the agent can comprise one or more nodes on the blockchain.
Referring to fig. 8, which is a flow chart illustrating a data processing method based on a blockchain, the data processing method applied to the agent may include:
step 801, obtaining a plurality of second processing results corresponding to each first data;
the second processing results corresponding to each first data come from different calculation participants, each second processing result is obtained by performing second processing on a plurality of first processing results of a first data, and each first processing result is obtained by performing first processing on a second data block of the second data and a first data block of the first data; a plurality of the first data are distinguished from each other.
Step 802, performing third processing on a plurality of second processing results corresponding to each first data to obtain a third processing result corresponding to each first data.
The third process may include:
determining a second sum of a plurality of second processing results corresponding to each first datum based on a preset modulus, such as the modulus p; and determining whether the second data is the same as the first data according to the second sum corresponding to each first data to obtain a third processing result corresponding to the first data.
Step 803, according to the third processing result corresponding to each first data, determining whether the second data belongs to the data set formed by each first data, and obtaining a determination result.
Specifically, it may be determined whether only one of a plurality of third processing results corresponding to the plurality of first data indicates that the second data is the same as the corresponding first data; if yes, the second data belong to a data set formed by the first data; and if not, the second data does not belong to the data set formed by the first data.
And step 804, uploading the determined result to the block chain.
Optionally, in order to improve the accuracy of the determination result of whether the finally obtained "second data belongs to the data set composed of the plurality of first data", the agent may further perform, for each first data, a process of obtaining the second processing result from each computation participant for a plurality of times in a loop, and performing third processing on a plurality of second processing results corresponding to each first data.
The process of obtaining the determination result indicating whether the second data belongs to the data set formed by the respective first data by the agent through performing the third processing, and the process of executing the third processing multiple times in a loop to improve the accuracy of the finally obtained determination result are consistent with the corresponding processing when the calculation participant is the execution subject, and specific reference may be made to the corresponding processing part of the calculation participant, and details will not be described here.
An application example of the data processing method based on the block chain according to the embodiment of the present application is provided below.
In this example, assuming that the modulo p is 17, the number of selected calculation nodes in the block chain is 3, and assuming that a is obtained by encoding an entry in the prover directory and B is obtained by encoding a is 14, the main processing part of the method of the present application will be described by taking only the example of performing the comparison processing based on the privacy on a and B.
Each piece of data in A, B is divided into three data blocks, for example, a is 3+6+4, and B is 2+8+4, and distributed to three computing nodes, when:
and the node 1: a1 ═ 3, B1 ═ 2;
and (3) the node 2: a2 ═ 6, B2 ═ 8;
and (3) the node: a3 ═ 4, B3 ═ 4.
Diff is adopted to represent the difference value obtained by subtracting the corresponding data blocks of A and B by each node, and the difference value is obtained by calculating A1-B1, A2-B2 and A3-B3 at each computing node, so that:
Diff=1 Diff=15 Diff=0
suppose that share _ bits adopted by three nodes (the sum of the share _ bits of the three nodes is 0 or 1) are:
6 7 5
meanwhile, suppose that Share (5) adopted by three nodes (the sum of Share (5) of the three nodes is 5) is:
2 2 1
based on the calculation formula — 4 × share _ bit + share (5), the intermediate parameter _ b of each node is obtained as:
_b=-4*6+2=12 _b=-4*7+2=8 _b=-4*5+1=15
the random number data block Rand _ share adopted by the three nodes can be any value, and the assumption is that:
_r=1 _r=6 _r=3
Rp=4 Rp=3 Rp=8
then, according to the calculation formula _ c ═ diff _ r + (_ b × rp), each node can be obtained:
_c=1*1+(12*4*4)=6 _c=15*6+(8*3*3)=9 _c=0*3+(2*8*8)=9
then, based on broadcasting, obtaining a value of the third party _ c at each node, and obtaining a sum Open (_ c) of the third party _ c based on modulo p to obtain a first sum value c, namely 6+9+9 — 7mod 17;
next, based on the formula
Figure BDA0002861738350000171
Calculating Legendre symbol Legendre (c) of c, and judging whether c is the secondary residue of the modulo p based on the Legendre symbol Legendre (c);
there are 78mod17 is 16, i.e., -1mod17, and-1 indicates that the first sum is not a quadratic residue modulo p, so the second processing result for each node is calculated using the formula x' ═ Share (1) - _ b)/2, where it is assumed that Share (1) for each node (the sum of Share (1) for the three nodes is 1) as follows:
7 8 3
then each node can be given by x' ═ share (1) - _ b)/2:
Figure BDA0002861738350000181
and then, based on broadcasting, obtaining values of the three parties x ' at least one node, calculating the sum of the three parties x ' Open (x ') -17-0, and taking the last bit 0, thus knowing that A is not equal to B.
Corresponding to the above block chain-based data processing method applied to a computation participant, an embodiment of the present application further discloses a block chain-based data processing apparatus applied to a computation participant on a block chain, where referring to a schematic structural diagram of the apparatus shown in fig. 9, the apparatus may include:
a first obtaining unit 901, configured to obtain a plurality of first data blocks and obtain a second data block; each first data block is a sub-data block obtained by splitting first data, and a plurality of first data are mutually different; the second data block is a subdata block obtained by splitting second data;
a first processing unit 902, configured to perform first processing on the second data block and each first data block respectively to obtain a plurality of first processing results;
a second obtaining unit 903, configured to obtain first processing results of other computation participants on the block chain, and obtain multiple first processing results corresponding to each piece of the first data;
the second processing unit 904 is configured to perform second processing according to a plurality of first processing results corresponding to each of the first data, respectively, to obtain a plurality of second processing results.
In an optional implementation manner of the embodiment of the present application, after performing the second processing according to a plurality of first processing results corresponding to each of the first data respectively to obtain a plurality of second processing results, the second processing unit 904 is further configured to:
determining whether the second data belongs to a data set formed by the first data according to a plurality of second processing results corresponding to each first data to obtain a determination result, and uploading the determination result to a block chain;
and a plurality of second processing results corresponding to each first data come from different calculation participants.
In an optional implementation manner of the embodiment of the present application, the determining, by the second processing unit 904, whether the second data belongs to a data set formed by each of the first data according to a plurality of second processing results corresponding to each of the first data includes:
performing third processing on a plurality of second processing results corresponding to each first data to obtain a plurality of third processing results;
and determining whether the second data belongs to a data set formed by the first data according to the third processing results.
In an optional implementation manner of the embodiment of the present application, the first processing unit 902 is specifically configured to:
determining a difference value between a first data block and a second data block of first data based on a preset module;
determining the value of the intermediate parameter by using a calculation formula of the intermediate parameter, the first shared data block and the second shared data block;
processing the value of the intermediate parameter, the random number data block and the difference value to obtain a first processing result corresponding to the first data;
the sum value of each first shared data block used by different calculation participants meets a first numerical condition, and the sum value of each second shared data block used by different calculation participants meets a second numerical condition;
the second processing unit 904 performs second processing according to a plurality of first processing results corresponding to each of the first data, respectively, to obtain a plurality of second processing results, including:
determining a first sum of a plurality of first processing results corresponding to the first data based on the modulus;
determining whether the first sum is a quadratic residue of the modulus;
if the secondary residue of the module is obtained, carrying out fourth processing on the value of the intermediate parameter;
if the difference is not the secondary residue of the module, carrying out fifth processing on the value of the intermediate parameter; a result of the fourth processing or the fifth processing is a second processing result corresponding to the first data.
In an optional implementation manner of the embodiment of the present application, the third processing performed by the second processing unit 904 on a plurality of second processing results corresponding to each piece of first data includes:
determining a second sum of a plurality of second processing results corresponding to each of the first data based on the modulus;
determining whether the second data is the same as the first data or not according to a second sum value corresponding to each first data to obtain a third processing result corresponding to the first data;
the second processing unit 904 determines whether the second data belongs to a data set constituted by the respective first data, according to the plurality of third processing results, including:
determining whether only one third processing result in a plurality of third processing results corresponding to a plurality of first data represents that the second data is the same as the corresponding first data;
if yes, the second data belong to a data set formed by the first data;
and if not, the second data does not belong to the data set formed by the first data.
In an optional implementation manner of this embodiment of the present application, before uploading the determination result to the blockchain, the second processing unit 904 is further configured to:
and under the condition that a plurality of determination results are obtained by a plurality of calculation participants, if the determination results are verified to be consistent with each other, triggering the processing of uploading the determination results to the block chain.
The data processing apparatus based on the blockchain applied to the computation participant disclosed in the embodiment of the present application corresponds to the data processing method based on the blockchain applied to the computation participant disclosed in any one of the method embodiments above, so the description is relatively simple, and for the relevant similarities, please refer to the description of the data processing method based on the blockchain applied to the computation participant in the method embodiments above, and details are not described here.
Corresponding to the above block chain-based data processing method applied to the agent, the embodiment of the present application also discloses another block chain-based data processing apparatus, which is applied to the agent on the block chain, and referring to a schematic structural diagram of the apparatus shown in fig. 10, the apparatus may include:
a third obtaining unit 1001, configured to obtain a plurality of second processing results corresponding to each piece of first data;
the second processing results corresponding to each first data come from different calculation participants, each second processing result is obtained by performing second processing on a plurality of first processing results of a first data, and each first processing result is obtained by performing first processing on a second data block of the second data and a first data block of the first data; a plurality of said first data being distinct from one another;
a third processing unit 1002, configured to perform third processing on multiple second processing results corresponding to each first data to obtain a third processing result corresponding to each first data;
a determining unit 1003, configured to determine, according to a third processing result corresponding to each first data, whether the second data belongs to a data set formed by each first data, to obtain a determination result;
a transmitting unit 1004, configured to upload the determination result to the blockchain.
The data processing apparatus applied to the block chain based on the agent in the embodiment of the present application is relatively simple in description because it corresponds to the data processing method applied to the block chain based on the agent in any of the method embodiments described above, and for the relevant similarities, please refer to the description of the data processing method applied to the block chain based on the agent in the method embodiments above, and details are not described here.
In addition, the embodiment of the present application further discloses a data processing system based on a block chain, which includes: a data provider, a plurality of compute participants on a blockchain, and an agent.
The data providers comprise a first data provider and a second data provider; a first data provider holds a plurality of first data for use as a prover; the second data provider holds second data which is used as an inquirer to acquire whether the second data belongs to a data set formed by a plurality of first data of the first data provider;
each computing participant for performing a blockchain-based data processing method as provided in any of the embodiments above applied to the computing participants;
the proxy is used for executing the data processing method based on the block chain applied to the proxy according to any one of the above embodiments.
With regard to the data interaction among the data provider, the computation participant and the agent in the system, and the cooperative processing process between the computation participant and the agent on the blockchain, reference may be made to the related description of the blockchain-based data processing method disclosed in the above method embodiments, and details are not repeated here.
It should be noted that, in the present specification, the embodiments are all described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments may be referred to each other.
For convenience of description, the above system or apparatus is described as being divided into various modules or units by function, respectively. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
From the above description of the embodiments, it is clear to those skilled in the art that the present application can be implemented by software plus necessary general hardware platform. Based on such understanding, the technical solutions of the present application may be essentially or partially implemented in the form of a software product, which may be stored in a storage medium, such as a ROM/RAM, a magnetic disk, an optical disk, etc., and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method according to the embodiments or some parts of the embodiments of the present application.
Finally, it is further noted that, herein, relational terms such as first, second, third, fourth, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus 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 apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The foregoing is only a preferred embodiment of the present application and it should be noted that those skilled in the art can make several improvements and modifications without departing from the principle of the present application, and these improvements and modifications should also be considered as the protection scope of the present application.

Claims (10)

1. A data processing method based on block chain is applied to a calculation participant on the block chain;
the method comprises the following steps:
acquiring a plurality of first data blocks; each first data block is a sub-data block obtained by splitting first data, and a plurality of first data are mutually different;
acquiring a second data block; the second data block is a subdata block obtained by splitting second data;
respectively carrying out first processing on the second data block and each first data block to obtain a plurality of first processing results;
obtaining first processing results of other calculation participants on the block chain to obtain a plurality of first processing results corresponding to each first data;
and performing second processing according to a plurality of first processing results corresponding to each first data to obtain a plurality of second processing results.
2. The method according to claim 1, after performing the second processing according to the plurality of first processing results corresponding to each of the first data to obtain a plurality of second processing results, further comprising:
determining whether the second data belongs to a data set formed by the first data according to a plurality of second processing results corresponding to each first data to obtain a determination result, and uploading the determination result to a block chain;
and a plurality of second processing results corresponding to each first data come from different calculation participants.
3. The method according to claim 2, wherein the determining whether the second data belongs to a data set formed by the respective first data according to a plurality of second processing results corresponding to each of the first data comprises:
performing third processing on a plurality of second processing results corresponding to each first data to obtain a plurality of third processing results;
and determining whether the second data belongs to a data set formed by the first data according to the third processing results.
4. The method of claim 3, the first processing the second data block separately from each of the first data blocks, comprising:
determining a difference value between a first data block and a second data block of first data based on a preset module;
determining the value of the intermediate parameter by using a calculation formula of the intermediate parameter, the first shared data block and the second shared data block;
processing the value of the intermediate parameter, the random number data block and the difference value to obtain a first processing result corresponding to the first data;
the sum value of each first shared data block used by different calculation participants meets a first numerical condition, and the sum value of each second shared data block used by different calculation participants meets a second numerical condition;
the performing second processing according to a plurality of first processing results corresponding to each of the first data, respectively, to obtain a plurality of second processing results, including:
determining a first sum of a plurality of first processing results corresponding to the first data based on the modulus;
determining whether the first sum is a quadratic residue of the modulus;
if the secondary residue of the module is obtained, carrying out fourth processing on the value of the intermediate parameter;
if the difference is not the secondary residue of the module, carrying out fifth processing on the value of the intermediate parameter; a result of the fourth processing or the fifth processing is a second processing result corresponding to the first data.
5. The method according to claim 4, wherein the third processing is performed on a plurality of second processing results corresponding to each first data, and comprises:
determining a second sum of a plurality of second processing results corresponding to each of the first data based on the modulus;
determining whether the second data is the same as the first data or not according to a second sum value corresponding to each first data to obtain a third processing result corresponding to the first data;
the determining whether the second data belongs to a data set formed by the first data according to the third processing results includes:
determining whether only one third processing result in a plurality of third processing results corresponding to a plurality of first data represents that the second data is the same as the corresponding first data;
if yes, the second data belong to a data set formed by the first data;
and if not, the second data does not belong to the data set formed by the first data.
6. The method of claim 2, further comprising, prior to said uploading said determination to a blockchain:
and under the condition that a plurality of determination results are obtained by a plurality of calculation participants, if the determination results are verified to be consistent with each other, triggering the step of uploading the determination results to the block chain.
7. A data processing method based on block chain is applied to an agent side on the block chain;
the method comprises the following steps:
obtaining a plurality of second processing results corresponding to each first data;
the second processing results corresponding to each first data come from different calculation participants, each second processing result is obtained by performing second processing on a plurality of first processing results of a first data, and each first processing result is obtained by performing first processing on a second data block of the second data and a first data block of the first data; a plurality of said first data being distinct from one another;
performing third processing on a plurality of second processing results corresponding to each first data to obtain a third processing result corresponding to each first data;
determining whether the second data belongs to a data set formed by the first data or not according to a third processing result corresponding to each first data to obtain a determination result;
and uploading the determined result to a block chain.
8. A data processing device based on a block chain is applied to a calculation participant on the block chain;
the device comprises:
a first acquisition unit configured to acquire a plurality of first data blocks and acquire a second data block; each first data block is a sub-data block obtained by splitting first data, and a plurality of first data are mutually different; the second data block is a subdata block obtained by splitting second data;
the first processing unit is used for respectively carrying out first processing on the second data block and each first data block to obtain a plurality of first processing results;
a second obtaining unit, configured to obtain first processing results of other computation participants on the block chain, and obtain multiple first processing results corresponding to each piece of the first data;
and the second processing unit is used for performing second processing according to a plurality of first processing results corresponding to each first data to obtain a plurality of second processing results.
9. A data processing device based on a block chain is applied to an agent side on the block chain;
the device comprises:
the third acquisition unit is used for acquiring a plurality of second processing results corresponding to each first data;
the second processing results corresponding to each first data come from different calculation participants, each second processing result is obtained by performing second processing on a plurality of first processing results of a first data, and each first processing result is obtained by performing first processing on a second data block of the second data and a first data block of the first data; a plurality of said first data being distinct from one another;
the third processing unit is used for performing third processing on a plurality of second processing results corresponding to each first data to obtain a third processing result corresponding to each first data;
a determining unit, configured to determine, according to a third processing result corresponding to each first data, whether the second data belongs to a data set formed by each first data, so as to obtain a determination result;
and the transmission unit is used for uploading the determined result to the block chain.
10. A blockchain-based data processing system, comprising:
a first data provider that holds a plurality of first data;
a second data provider holding second data;
a plurality of compute participants and agents on a blockchain;
wherein the computing participant is configured to perform the method of any of claims 1-6; the agent is configured to perform the method of claim 7.
CN202011565931.8A 2020-12-25 2020-12-25 Data processing method, device and system based on block chain Pending CN112685770A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011565931.8A CN112685770A (en) 2020-12-25 2020-12-25 Data processing method, device and system based on block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011565931.8A CN112685770A (en) 2020-12-25 2020-12-25 Data processing method, device and system based on block chain

Publications (1)

Publication Number Publication Date
CN112685770A true CN112685770A (en) 2021-04-20

Family

ID=75453306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011565931.8A Pending CN112685770A (en) 2020-12-25 2020-12-25 Data processing method, device and system based on block chain

Country Status (1)

Country Link
CN (1) CN112685770A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116614231A (en) * 2023-07-19 2023-08-18 北京信安世纪科技股份有限公司 Data holding proving method, system, equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245490A (en) * 2019-05-20 2019-09-17 阿里巴巴集团控股有限公司 The receipt storage method and node of conditional combination code mark and type dimension
CN110298190A (en) * 2019-04-19 2019-10-01 矩阵元技术(深圳)有限公司 Decentralization Secure data processing method, device and storage medium
US20200142986A1 (en) * 2018-11-06 2020-05-07 International Business Machines Corporation Offloaded chaincode execution for a database

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200142986A1 (en) * 2018-11-06 2020-05-07 International Business Machines Corporation Offloaded chaincode execution for a database
CN110298190A (en) * 2019-04-19 2019-10-01 矩阵元技术(深圳)有限公司 Decentralization Secure data processing method, device and storage medium
CN110245490A (en) * 2019-05-20 2019-09-17 阿里巴巴集团控股有限公司 The receipt storage method and node of conditional combination code mark and type dimension

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116614231A (en) * 2023-07-19 2023-08-18 北京信安世纪科技股份有限公司 Data holding proving method, system, equipment and storage medium
CN116614231B (en) * 2023-07-19 2023-09-22 北京信安世纪科技股份有限公司 Data holding proving method, system, equipment and storage medium

Similar Documents

Publication Publication Date Title
US20200311678A1 (en) Smart contract execution using distributed coordination
CN111669366B (en) Localized differential private data exchange method and storage medium
CN112765677B (en) Federal learning method, device and system based on blockchain
CN107330681B (en) Method and equipment for determining transaction time of transaction outside block chain
CN112288097A (en) Federal learning data processing method and device, computer equipment and storage medium
CN110169015A (en) Reach common understanding between network node in a distributed system
CN108200208B (en) Logistics block chain consensus algorithm based on cloud computing
JP2021515271A (en) Computer-based voting process and system
CN110730963A (en) System and method for information protection
CN113886501A (en) Block chain service module extension method based on multi-chain architecture
CN112686672B (en) Endorsement signature compression method on blockchain, electronic equipment and storage medium
US20230059580A1 (en) Blockchain with random committee selection
CN113645278B (en) Cross-chain message transmission method, device and storage medium of block chain
CN112039893B (en) Private transaction processing method and device, electronic equipment and readable storage medium
CN113902440A (en) Distributed key-based alliance chain cross-chain transaction method and device
CN112669150A (en) Data processing method, device and system based on block chain
CN116955857A (en) Data processing method, device, medium and electronic equipment
CN114186694A (en) Efficient, safe and low-communication longitudinal federal learning method
JP2018093363A (en) Verification system, verification method, and verification program
CN115811422A (en) Medical data sharing method and system based on block chain
CN112685770A (en) Data processing method, device and system based on block chain
CN111769945A (en) Auction processing method based on block chain and block chain link point
US20240179211A1 (en) Computer-implemented system and method for controlling processing steps of a distributed system
Chipperfield et al. Estimating precision and recall for deterministic and probabilistic record linkage
CN116170162B (en) Selective consensus method, computer storage medium, and terminal device

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