CN110691078A - Block chain-based data dynamic reliability verification method - Google Patents
Block chain-based data dynamic reliability verification method Download PDFInfo
- Publication number
- CN110691078A CN110691078A CN201910908619.5A CN201910908619A CN110691078A CN 110691078 A CN110691078 A CN 110691078A CN 201910908619 A CN201910908619 A CN 201910908619A CN 110691078 A CN110691078 A CN 110691078A
- Authority
- CN
- China
- Prior art keywords
- data
- verification
- user
- dig
- sig
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
The invention relates to the technical field of computer block chains, in particular to a data dynamic reliability verification method based on a block chain. Firstly, constructing a data dynamic reliability verification framework based on a block chain, wherein the data dynamic reliability verification framework comprises the block chain, a data center under the chain and a verification network; then, the data type of the dynamically updated original data is marked and signed, and then the dynamically updated original data is stored in a data center under a chain; then, selecting a main node, and writing the metadata (sig, dig, type) of the original data into the block chain by using the main node; and finally, the verification node queries all metadata of the user on the chain by combining the user signature and the data type to obtain a data abstract on the chain, selects a main node to query the original data of the user from a data center under the chain and extract the data abstract under the chain, and judges whether the data verification is reliable or not after performing on-chain and off-chain comparison. The invention can realize the data dynamic reliability verification based on the block chain and improve the verification efficiency and accuracy.
Description
Technical Field
The invention relates to the technical field of computer block chains, in particular to a data dynamic reliability verification method based on a block chain.
Background
The block chain is a database which is maintained in the same global state by nodes which are not mutually trusted, and has the advantages of decentralization, redundant storage, data tamper resistance and the like. The block chain technology can realize the sharing of data by multiple parties which are not trusted with each other without a third-party trusted authority. The property of block chaining to achieve data tamper resistance is mainly due to the introduction of a chained structure in units of blocks. The data in the block is stored by using a Merkle tree, and the hash transportation of the result after every two child nodes are connected obtains the value of the parent node, so that any data in the block which is tampered can be found through the Merkle tree root. The blocks are connected together through a PreBlockHash field in a block header, the rings are buckled, and any block is tampered to cause the change of all the following fields, so that whether the data is tampered or not can be easily verified.
However, blockchains also have their own disadvantages. The data in the block chain is packed into blocks for storage, and the block capacity is not large, so that the storage space of the block chain is limited. Therefore, many current methods using the blockchain technology store original data into a general database instead of directly storing the data into a blockchain, and then extract metadata from the original data and store the metadata into the blockchain, so that the original data is managed by using the metadata, and the reliability of the data is ensured. For this mode, unlike the data verification process in a normal blockchain, the reliability verification of data involves an interactive process up and down the chain. Compared with the static reliability verification that only the reliability of the persistent data is verified, the dynamic reliability verification needs to verify the reliability of the dynamically updated data, so that the verification process is more complicated. However, no method for verifying the dynamic reliability of data based on the blockchain exists in the prior blockchain technology.
Disclosure of Invention
Aiming at the problems in the prior art, the invention provides a data dynamic reliability verification method based on a block chain, which can realize data dynamic reliability verification based on the block chain and improve verification efficiency and accuracy.
The technical scheme of the invention is as follows:
a data dynamic reliability verification method based on a block chain is characterized by comprising the following steps:
step 1: the method comprises the steps that a data dynamic reliability verification framework based on a block chain is constructed, the data center under the block chain comprises the block chain, and a verification network comprises a verification node set SVN={VN1,VN2,…,VNp,…,VNP},VNpThe verification node is the P-th verification node, and P is the total number of the verification nodes;
step 2: storing the original data into a data center under a chain;
step 2.1: when the user SU={U1,U2,…,Ui,…,UIRequest to add original data S for the first time S ═ S1,s2,…,sl,…,sLWhen it is, mark the data type of the original data S as new, use user UiSignature sig ofiFor user UiThe original data added for the first time is signed, and the original data S is written into a data center under a chain; wherein, UiFor the ith user, I is the total number of users, sigi∈Ssig,Ssig={sig1,sig2,……,sigi,……,sigI};
Step 2.2: if the original data set is S ═ S1,s2,…,sl,…,sLWhen the user S is usedU={U1,U2,…,Ui,…,UIRequest supplemental data a ═ a1,a2,…,am,…,aMWhen the user U is used, the data type of the data A is marked as ap-pendiSignature sig ofiFor user UiThe data type of the data A is signed, and the data A is written into a data center under a chain; when the user SU={U1,U2,…,Ui,…,UIRequesting to put data a ═ a1,a2,…,am,…,aMIs supplemented to suE.g. S and SvE, when the data A 'is between S, the data A' is set to { Su,a1,a2,…,am,…,aM,svThe data type of { is marked as ap pend, use user UiSignature sig ofiFor user UiThe data type of the data A is signed, and the data A' is written into a data center under a chain;
step 2.3: if the original data set is S ═ S1,s2,…,sl,…,sLWhen the user S is usedU={U1,U2,…,Ui,…,UIRequesting data S in the set Sw,…,sx}(w<x) is modified by B ═ B1,b2,…,bn,…,bNAt this time, data B' is set to { s }w,…,sx,b1,b2,…,bn,…,bNThe data type of { is marked as mod, using user UiSignature sig ofiFor user UiSigning the data with the data type of the model, and writing the data B' into a data center under a chain; when the user SU={U1,U2,…,Ui,…,UIRequesting data S in the set Sw,…,sx}(w<x) deleting the data C ═ sw,…,sxNULL } data type is labeled modify, using user UiSignature sig ofiFor user UiSigning the data with the data type of the model, and writing the data C into a data center under a chain; wherein NULL indicates NULL;
and step 3: writing metadata of the original data into the block chain;
step 3.1: set of verification nodes SVNEach verification node in (a) extracts raw data S from the data center under the chaindata={data1,data2,…,dataj,…,dataJAnd from the raw data S by means of a hash functiondataExtract data abstract Sdig={dig1,dig2,…,digj,…,digJAnd use user UiSignature sig ofiFor user UiSignature using the original datajData type flag pair digest dig ofjThe data type of (2) is marked; wherein digjAs raw datajThe abstract of (1);
step 3.2: randomly selecting a verification node VN from verification nodes which firstly complete data abstract extraction operationkAs master node, master node VNkBroadcasting a first message, and stopping data abstract extraction operation after other verification nodes receive the first message;
step 3.3: master node VNkUsing the original data SdataMetadata of<sig,dig,type>Constructing a Merkle tree, packaging the Merkle tree into a block, connecting the block to a block chain, and broadcasting a second message; wherein dig is the master node VNkExtracting the data abstract, wherein sig is a signature corresponding to the data abstract dig, and type is a data type mark of the data abstract dig;
step 3.4: after receiving the second message, other verification nodes synchronize the state of the block chain;
and 4, step 4: performing data dynamic reliability verification based on the block chain;
step 4.1: user UiSign sigsiSent to a set of verification nodes SVNEach verifying node of;
step 4.2: set of verification nodes SVNEach verifying node in the set inquires data on the blockchain from the tail of the blockchain to the head of the blockchain, and each verifying node determines data digest to be broadcastedonAnd broadcasting the data digeston;
Step 4.2.1: let q be 1;
step 4.2.2: the verification node queries data on the block chain from the tail of the block chain to the head of the block chain, and the queried signature is sigiIs marked as<sigi,digq,typeq>,digqThe q signature queried for verifying the node is sigiData digest, type in the on-chain data of (1)qIs an abstract digqA data type flag of (1);
step 4.2.3: if typeqLet get new, let digeston=digqBroadcast data digeston(ii) a If typeqTo be either ap pend or modify, let digeston=digqQ is q +1, go to step 4.2.4;
step 4.2.4: the verification node continuously inquires data on the block chain from the head of the block chain, and the inquired signature is sigiIs marked as<sigi,digq,typeq>;
Step 4.2.5: if typeqLet get new, let digeston={digeston,digqGet, broadcast data digeston(ii) a If typeqTo be either ap pend or modify, let digeston={digeston,digqQ +1, and returning to the step 4.2.4;
step 4.3: when more than P/2 verification nodes inquire the same data digestonFrom query to on-chain data digestonRandomly selects one verification node VN from the verification nodesoAs master node, master node VNoBroadcasting a third message, and stopping data query operation after other verification nodes receive the third message;
step 4.4: master node VNoQuerying user U from a data center under a chainiAnd extracting a data digest from the raw dataoff;
Step 4.5: if digestonAnd digestoffConsistent, master node VNoReturning to user UiThe data verification is reliable; if digestonAnd digestoffInconsistent, master node VNoReturning to user UiThe data verification is unreliable.
The invention has the beneficial effects that:
according to the invention, a data dynamic reliability verification framework based on the block chain is constructed, the dynamically updated original data is subjected to data type marking and then stored in a data center under the chain, a main node is selected by utilizing a self-defined consensus mechanism to write the metadata < sig, dig, type > of the dynamically updated original data into the block chain, and the data abstracts of the user are respectively extracted on the chain and under the chain by combining the user signature and the data type marking, so that the data dynamic reliability verification based on the block chain can be realized by comparison, and the verification efficiency and accuracy are improved.
Drawings
FIG. 1 is a schematic structural diagram of a block chain-based data dynamic reliability verification framework according to the present invention;
FIG. 2 is a flow chart of a data storage phase in the block chain-based data dynamic reliability verification method of the present invention;
FIG. 3 is a flow chart of the data verification stage in the block chain-based data dynamic reliability verification method of the present invention.
Detailed Description
The invention will be further described with reference to the accompanying drawings and specific embodiments.
The invention discloses a data dynamic reliability verification method based on a block chain, which comprises the following steps:
step 1: constructing a block chain-based data dynamic reliability verification framework as shown in FIG. 1, wherein the block chain-based data dynamic reliability verification framework comprises a block chain, a data center under the chain and a verification network, and the verification network comprises a verification node set SVN={VN1,VN2,…,VNp,…,VNP},VNpIs the P-th verification node, and P is the total number of verification nodes.
In this embodiment, verification node set SVN={VN1,VN2,…,VNp,…,VN15}。
Step 2: storing the original data into a data center under a chain;
step 2.1: when the user SU={U1,U2,…,Ui,…,UIRequest to add original data S for the first time S ═ S1,s2,…,sl,…,sLWhen it is, mark the data type of the original data S as new, use user UiSignature sig ofiFor user UiThe original data added for the first time is signed, and the original data S is written into a data center under a chain; wherein, UiFor the ith user, I is the total number of users, sigi∈Ssig,Ssig={sig1,sig2,……,sigi,……,sigI};
Step 2.2: if the original data set is S ═ S1,s2,…,sl,…,sLWhen the user S is usedU={U1,U2,…,Ui,…,UIRequest supplemental data a ═ a1,a2,…,am,…,aMWhen the user U is used, the data type of the data A is marked as ap-pendiSignature sig ofiFor user UiThe data type of the data A is signed, and the data A is written into a data center under a chain; when the user SU={U1,U2,…,Ui,…,UIRequesting to put data a ═ a1,a2,…,am,…,aMIs supplemented to suE.g. S and SvE, when the data A 'is between S, the data A' is set to { Su,a1,a2,…,am,…,aM,svThe data type of { is marked as ap pend, use user UiSignature sig ofiFor user UiThe data type of the data A is signed, and the data A' is written into a data center under a chain;
step 2.3: if the original data set is S ═ S1,s2,…,sl,…,sLWhen the user S is usedU={U1,U2,…,Ui,…,UIRequesting data S in the set Sw,…,sx}(w<x) is modified by B ═ B1,b2,…,bn,…,bNAt this time, data B' is set to { s }w,…,sx,b1,b2,…,bn,…,bNThe data type of { is marked as mod, using user UiSignature sig ofiFor user UiSigning the data with the data type of the model, and writing the data B' into a data center under a chain; when the user SU={U1,U2,…,Ui,…,UIRequesting data S in the set Sw,…,sx}(w<x) deleting the data C ═ sw,…,sxNULL } data type is labeled modify, using user UiSignature sig ofiFor user UiSigning the data with the data type of the model, and writing the data C into a data center under a chain; wherein NULL is indicated as NULL.
And step 3: writing metadata of the original data into the block chain;
step 3.1: set of verification nodes SVNEach verification node in (a) extracts raw data S from the data center under the chaindata={data1,data2,…,dataj,…,dataJAnd from the raw data S by means of a hash functiondataExtract data abstract Sdig={dig1,dig2,…,digj,…,digJAnd use user UiSignature sig ofiFor user UiSignature using the original datajData type flag pair digest dig ofjThe data type of (2) is marked; wherein digjAs raw datajThe abstract of (1);
step 3.2: randomly selecting a verification node VN from verification nodes which firstly complete data abstract extraction operationkAs master node, master node VNkBroadcasting a first message, and stopping data abstract extraction operation after other verification nodes receive the first message;
step 3.3: master node VNkUsing the original data SdataMetadata of<sig,dig,type>Construction of MerkE, packaging the Merkle tree into a block, connecting the block to a block chain, and broadcasting a second message; wherein dig is the master node VNkExtracting the data abstract, wherein sig is a signature corresponding to the data abstract dig, and type is a data type mark of the data abstract dig;
step 3.4: and after receiving the second message, the other verification nodes synchronize the block chain state.
The invention defines three types of data, namely adding type data (new data), supplementary type data (appended data) and modifying type data (modify data), and the data type marks are new, appended and modify data respectively.
For example, when the first added data is abcd, the data type of the data abcd is marked as new, the abstract is dig ═ hash (abcd), the data abcd is stored in the data center, and < sig, dig, new > is stored in the block chain. When the original data is abcd, ef is supplemented to a data center, the data type of the data ef is marked as apend, the abstract is dig which is Hash (ef), the data ef is stored in the data center, and the sig, dig and apend are stored in a block chain; if ef is supplemented between b and c, the data type of the data befc is marked as apend, the abstract is dig-Hash (befc), the data befc is stored in the data center, and the sig, dig and apend are stored in the block chain. When the original data is abcd, d is modified into g, the data type of the data dg is marked as modify, the abstract is extracted as dig which is Hash (dg), the data dg is stored in a data center, and < sig, dig and modify > is stored in a block chain; if d in the original data needs to be deleted, the data type of the data d + NULL is marked as modify, the abstract is extracted as dig-Hash (d + NULL), the data d + NULL is stored in a data center, and < sig, dig, modify > is stored in a block chain.
In this embodiment, the original data after dynamic update in the data center is the user SU={U1,U2,…,Ui,…,U10Original data S of } anddata={data1,data2,…,dataj,…,data10000}, verifying the node set SVN={VN1,VN2,…,VNp,…,VN15Each verification node in the system extracts original data S from a data center under a chaindata. Authentication node VN from the first completed data digest extraction operation1,VN5,VN7Randomly selecting a verification node as a master node, VN5If the data summary is selected, the recording right of the block is possessed, and the broadcast is sent out to stop the data summary extraction work of other nodes. Master node VN5Using the original data SdataMetadata of<sig,dig,type>And constructing a Merkle tree, packaging the Merkle tree into a block, and connecting the block to a block chain. Wherein, the data1Is marked as new and is a user U1The first added data is stored in the block chain as data unit<sig1,dig1,new>(ii) a Data150Is marked as ap-pend and is user U5Supplementary data, stored in block chains having data units of<sig5,dig150,append>(ii) a Data300Is marked as modify and is the user U7Modified data, stored in block chain data units of<sig7,dig300,modify>。
And 4, step 4: performing data dynamic reliability verification based on the block chain;
step 4.1: user UiSign sigsiSent to a set of verification nodes SVNEach verifying node of;
step 4.2: set of verification nodes SVNEach verifying node in the set inquires data on the blockchain from the tail of the blockchain to the head of the blockchain, and each verifying node determines data digest to be broadcastedonAnd broadcasting the data digeston;
Step 4.2.1: let q be 1;
step 4.2.2: the verification node queries data on the block chain from the tail of the block chain to the head of the block chain, and the queried signature is sigiIs marked as<sigi,digq,typeq>,digqThe q signature queried for verifying the node is sigiData digest, type in the on-chain data of (1)qIs an abstract digqA data type flag of (1);
step 4.2.3: if typeqLet get new, let digeston=digqBroadcast data digeston(ii) a If typeqTo be either ap pend or modify, let digeston=digqQ is q +1, go to step 4.2.4;
step 4.2.4: the verification node continuously inquires data on the block chain from the head of the block chain, and the inquired signature is sigiIs marked as<sigi,digq,typeq>;
Step 4.2.5: if typeqLet get new, let digeston={digeston,digqGet, broadcast data digeston(ii) a If typeqTo be either ap pend or modify, let digeston={digeston,digqQ +1, and returning to the step 4.2.4;
step 4.3: when more than P/2 verification nodes inquire the same data digestonFrom query to on-chain data digestonRandomly selects one verification node VN from the verification nodesoAs master node, master node VNoBroadcasting a third message, and stopping data query operation after other verification nodes receive the third message;
step 4.4: master node VNoQuerying user U from a data center under a chainiAnd extracting a data digest from the raw dataoff;
Step 4.5: if digestonAnd digestoffConsistent, master node VNoReturning to user UiThe data verification is reliable; if digestonAnd digestoffInconsistent, master node VNoReturning to user UiThe data verification is unreliable.
In this embodiment, the user U is in progress1When verifying the reliability of the data, the user U1Sign sigs1Sent to a set of verification nodes SVNEach verifying node of; wherein the authentication node VN3The 1 st signature queried is sig1Data sheet ofIs composed of<sig1,dig1,new>Judging that the abstract is of a new type, and no user U exists before the new type1Data of (2), query result digestonIs dig1. In progress of user U5When verifying the reliability of the data, the user U5Sign sigs5Sent to a set of verification nodes SVNEach verifying node of; wherein the authentication node VN3The 1 st signature queried is sig5Data unit of<sig5,dig150,append>If the abstract is judged to be of an ap pend type, querying the user U5The previous piece of data, the query result is<sig5,dig121,new>Indicating that there is no more data of the user before the data, query result digestonIs dig150+dig121. In progress of user U7When verifying the reliability of the data, the user U7Sign sigs7Sent to a set of verification nodes SVNEach verifying node of; wherein the authentication node VN3Query to data unit<sig7,dig300,modify>Judging the abstract as new type, querying user U7The previous piece of data, the query result is<sig7,dig287,append>Judging the abstract as an apend type, continuously inquiring the previous data of the user, and obtaining an inquiry result<sig7,dig253,new>Judging that the user data does not exist in front of the abstract, and obtaining a dig result300+dig287+dig253(ii) a More than 15/2 verification nodes …, VN3,VN4,VN5… query for the same data digestonFrom query to on-chain data digestonRandomly selecting one verification node from the verification nodes as a master node, VN3If the node is selected, the broadcast enables other nodes which do not complete the query to stop the query. Master node VN3Having obtained the correct query result, the reliability is verified by comparison with the data digest extracted from the data center, and the verification result is returned to the user.
Compared with a general database solution mode for solving the distributed consistency problem, the block chain needs to consider the factors of decentralization, mutual distrust among multiple parties and the like when solving the problem, so that the block chain has a self-consensus mechanism. The POW mechanism is typically used in the common chain and the PBFT algorithm is used in the private chain. The invention uses a self-defined consensus mechanism: in the data storage stage, the node which finishes the abstract extraction operation firstly becomes a main node and has block recording right, and if a plurality of nodes finish simultaneously, one node is randomly selected as the main node; in the data verification stage, one node is randomly selected from a plurality of nodes which complete the query firstly as a main node. In general, the consensus mechanism adopted by the invention ensures the uniqueness of the main node, so that the block chain does not have the problem of bifurcation.
The invention constructs a data dynamic reliability verification framework based on the block chain, carries out data type marking on the dynamically updated original data, stores the dynamically updated original data into a data center under the chain, selects a main node by utilizing a self-defined consensus mechanism to write the metadata < sig, dig, type > of the dynamically updated original data into the block chain, extracts the data abstracts of the user on the chain and under the chain respectively by combining the user signature and the data type mark, realizes the data dynamic reliability verification based on the block chain by comparison, and improves the verification efficiency and accuracy.
It is to be understood that the above-described embodiments are only a few embodiments of the present invention, and not all embodiments. The above examples are only for explaining the present invention and do not constitute a limitation to the scope of protection of the present invention. All other embodiments, which can be derived by those skilled in the art from the above-described embodiments without any creative effort, namely all modifications, equivalents, improvements and the like made within the spirit and principle of the present application, fall within the protection scope of the present invention claimed.
Claims (1)
1. A data dynamic reliability verification method based on a block chain is characterized by comprising the following steps:
step 1: the data dynamic reliability verification framework based on the block chain comprises the block chain, a data center under the block chain and a verification networkThe network comprises a set of verification nodes SVN={VN1,VN2,…,VNp,…,VNP},VNpThe verification node is the P-th verification node, and P is the total number of the verification nodes;
step 2: storing the original data into a data center under a chain;
step 2.1: when the user SU={U1,U2,…,Ui,…,UIRequest to add original data S for the first time S ═ S1,s2,…,sl,…,sLWhen it is, mark the data type of the original data S as new, use user UiSignature sig ofiFor user UiThe original data added for the first time is signed, and the original data S is written into a data center under a chain; wherein, UiFor the ith user, I is the total number of users, sigi∈Ssig,Ssig={sig1,sig2,……,sigi,……,sigI};
Step 2.2: if the original data set is S ═ S1,s2,…,sl,…,sLWhen the user S is usedU={U1,U2,…,Ui,…,UIRequest supplemental data a ═ a1,a2,…,am,…,aMWhen the user U is used, the data type of the data A is marked as ap-pendiSignature sig ofiFor user UiThe data type of the data A is signed, and the data A is written into a data center under a chain; when the user SU={U1,U2,…,Ui,…,UIRequesting to put data a ═ a1,a2,…,am,…,aMIs supplemented to suE.g. S and SvE, when the data A 'is between S, the data A' is set to { Su,a1,a2,…,am,…,aM,svThe data type of { is marked as ap pend, use user UiSignature sig ofiFor user UiThe data type of the data A is signed, and the data A' is written into a data center under a chain;
step 2.3: if the original data setIs S ═ S1,s2,…,sl,…,sLWhen the user S is usedU={U1,U2,…,Ui,…,UIRequesting data S in the set Sw,…,sx}(w<x) is modified by B ═ B1,b2,…,bn,…,bNAt this time, data B' is set to { s }w,…,sx,b1,b2,…,bn,…,bNThe data type of { is marked as mod, using user UiSignature sig ofiFor user UiSigning the data with the data type of the model, and writing the data B' into a data center under a chain; when the user SU={U1,U2,…,Ui,…,UIRequesting data S in the set Sw,…,sx}(w<x) deleting the data C ═ sw,…,sxNULL } data type is labeled modify, using user UiSignature sig ofiFor user UiSigning the data with the data type of the model, and writing the data C into a data center under a chain; wherein NULL indicates NULL;
and step 3: writing metadata of the original data into the block chain;
step 3.1: set of verification nodes SVNEach verification node in (a) extracts raw data S from the data center under the chaindata={data1,data2,…,dataj,…,dataJAnd from the raw data S by means of a hash functiondataExtract data abstract Sdig={dig1,dig2,…,digj,…,digJAnd use user UiSignature sig ofiFor user UiSignature using the original datajData type flag pair digest dig ofjThe data type of (2) is marked; wherein digjAs raw datajThe abstract of (1);
step 3.2: randomly selecting a verification node VN from verification nodes which firstly complete data abstract extraction operationkAs master node, master node VNkFirst cancellation of broadcastAfter receiving the first message, other verification nodes stop data abstract extraction operation;
step 3.3: master node VNkUsing the original data SdataMetadata of<sig,dig,type>Constructing a Merkle tree, packaging the Merkle tree into a block, connecting the block to a block chain, and broadcasting a second message; wherein dig is the master node VNkExtracting the data abstract, wherein sig is a signature corresponding to the data abstract dig, and type is a data type mark of the data abstract dig;
step 3.4: after receiving the second message, other verification nodes synchronize the state of the block chain;
and 4, step 4: performing data dynamic reliability verification based on the block chain;
step 4.1: user UiSign sigsiSent to a set of verification nodes SVNEach verifying node of;
step 4.2: set of verification nodes SVNEach verifying node in the set inquires data on the blockchain from the tail of the blockchain to the head of the blockchain, and each verifying node determines data digest to be broadcastedonAnd broadcasting the data digeston;
Step 4.2.1: let q be 1;
step 4.2.2: the verification node queries data on the block chain from the tail of the block chain to the head of the block chain, and the queried signature is sigiIs marked as<sigi,digq,typeq>,digqThe q signature queried for verifying the node is sigiData digest, type in the on-chain data of (1)qIs an abstract digqA data type flag of (1);
step 4.2.3: if typeqLet get new, let digeston=digqBroadcast data digeston(ii) a If typeqTo be either ap pend or modify, let digeston=digqQ is q +1, go to step 4.2.4;
step 4.2.4: the verification node continuously inquires data on the block chain from the head of the block chain, and the inquired signature is sigiIs marked as<sigi,digq,typeq>;
Step 4.2.5: if typeqLet get new, let digeston={digeston,digqGet, broadcast data digeston(ii) a If typeqTo be either ap pend or modify, let digeston={digeston,digqQ +1, and returning to the step 4.2.4;
step 4.3: when more than P/2 verification nodes inquire the same data digestonFrom query to on-chain data digestonRandomly selects one verification node VN from the verification nodesoAs master node, master node VNoBroadcasting a third message, and stopping data query operation after other verification nodes receive the third message;
step 4.4: master node VNoQuerying user U from a data center under a chainiAnd extracting a data digest from the raw dataoff;
Step 4.5: if digestonAnd digestoffConsistent, master node VNoReturning to user UiThe data verification is reliable; if digestonAnd digestoffInconsistent, master node VNoReturning to user UiThe data verification is unreliable.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910908619.5A CN110691078B (en) | 2019-09-25 | 2019-09-25 | Block chain-based data dynamic reliability verification method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910908619.5A CN110691078B (en) | 2019-09-25 | 2019-09-25 | Block chain-based data dynamic reliability verification method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110691078A true CN110691078A (en) | 2020-01-14 |
CN110691078B CN110691078B (en) | 2021-07-13 |
Family
ID=69110440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910908619.5A Active CN110691078B (en) | 2019-09-25 | 2019-09-25 | Block chain-based data dynamic reliability verification method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110691078B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414417A (en) * | 2020-03-02 | 2020-07-14 | 陕西西影数码传媒科技有限责任公司 | Video copyright management method based on block chain |
CN111683082A (en) * | 2020-06-04 | 2020-09-18 | 杭州溪塔科技有限公司 | Data sharing method and system based on block chain and electronic equipment |
CN112417517A (en) * | 2020-11-19 | 2021-02-26 | 成都无右区块链科技有限公司 | Data standard management method based on block chain |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104394155A (en) * | 2014-11-27 | 2015-03-04 | 暨南大学 | Multi-user cloud encryption keyboard searching method capable of verifying integrity and completeness |
US20170236123A1 (en) * | 2016-02-16 | 2017-08-17 | Blockstack Inc. | Decentralized processing of global naming systems |
CN108712429A (en) * | 2018-05-24 | 2018-10-26 | 西安电子科技大学 | The method for secret protection of data is calculated based on block chain cloud outsourcing |
CN108959563A (en) * | 2018-07-04 | 2018-12-07 | 东北大学 | A kind of expansible block chain query method and system of capacity |
CN109447647A (en) * | 2018-11-19 | 2019-03-08 | 上海趣链信息科技有限公司 | A kind of safety payment system based on block chain |
CN109871709A (en) * | 2018-12-20 | 2019-06-11 | 顺丰科技有限公司 | Block chain private data deposits card method, system and storage medium |
-
2019
- 2019-09-25 CN CN201910908619.5A patent/CN110691078B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104394155A (en) * | 2014-11-27 | 2015-03-04 | 暨南大学 | Multi-user cloud encryption keyboard searching method capable of verifying integrity and completeness |
US20170236123A1 (en) * | 2016-02-16 | 2017-08-17 | Blockstack Inc. | Decentralized processing of global naming systems |
CN108712429A (en) * | 2018-05-24 | 2018-10-26 | 西安电子科技大学 | The method for secret protection of data is calculated based on block chain cloud outsourcing |
CN108959563A (en) * | 2018-07-04 | 2018-12-07 | 东北大学 | A kind of expansible block chain query method and system of capacity |
CN109447647A (en) * | 2018-11-19 | 2019-03-08 | 上海趣链信息科技有限公司 | A kind of safety payment system based on block chain |
CN109871709A (en) * | 2018-12-20 | 2019-06-11 | 顺丰科技有限公司 | Block chain private data deposits card method, system and storage medium |
Non-Patent Citations (2)
Title |
---|
KUN HAO,ET.AL: "《Blockchain-Based Outsourced Storage Schema in untrusted environment》", 《IEEE》 * |
贾大宇等: "《区块链的存储容量可扩展模型》", 《计算机科学与探索》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414417A (en) * | 2020-03-02 | 2020-07-14 | 陕西西影数码传媒科技有限责任公司 | Video copyright management method based on block chain |
CN111414417B (en) * | 2020-03-02 | 2023-02-14 | 陕西西影数码传媒科技有限责任公司 | Video copyright management method based on block chain |
CN111683082A (en) * | 2020-06-04 | 2020-09-18 | 杭州溪塔科技有限公司 | Data sharing method and system based on block chain and electronic equipment |
CN112417517A (en) * | 2020-11-19 | 2021-02-26 | 成都无右区块链科技有限公司 | Data standard management method based on block chain |
CN112417517B (en) * | 2020-11-19 | 2023-11-28 | 成都无右区块链科技有限公司 | Data standard management method based on block chain |
Also Published As
Publication number | Publication date |
---|---|
CN110691078B (en) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110602148B (en) | Method and device for generating state tree of block and verifying data on chain | |
CN110691078B (en) | Block chain-based data dynamic reliability verification method | |
CN109165224B (en) | Indexing method for key words on block chain database | |
CN112261159B (en) | Method and system for executing cross-slice transaction, main chain node and target slicing node | |
WO2021232804A1 (en) | Blockchain data indexing method, and blockchain data storage method | |
KR20220012353A (en) | Validation of Data Fields in Blockchain Transactions | |
CN111209591B (en) | Storage structure sorted according to time and quick query method | |
WO2020211498A1 (en) | A method and an apparatus for batch acquisition of blockchain data | |
WO2020093809A1 (en) | Method and device for reading blockchain data | |
CN112261163B (en) | State storage method in block chain system, block chain system and node | |
CN111651525A (en) | Block chain data storage method and device | |
CN109634959A (en) | A kind of block index method and block index device | |
CN113094334B (en) | Digital service method, device, equipment and storage medium based on distributed storage | |
CN111680067A (en) | Data processing method, device and system based on block chain | |
CN109194486A (en) | Believable cooperation model and data model, metadata storage and co-verification algorithm | |
CN113259478A (en) | Method and device for executing transaction in blockchain system and blockchain system | |
CN110673966A (en) | Data interaction method based on block chain up-link down cooperation | |
CN109067849B (en) | Block-based data synchronization method | |
CN108876378B (en) | Public link data encryption backup method | |
CN114127724A (en) | Integrity audit for multi-copy storage | |
CN110691079B (en) | Multi-copy reliability verification method based on block chain encryption | |
CN111414417B (en) | Video copyright management method based on block chain | |
CN103309973B (en) | Can verify that the method and system of outsourcing data query | |
CN110601857B (en) | Data interaction method based on local-global block chain cooperation | |
CN112269423B (en) | Method for locking global clock in blockchain system and blockchain system |
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 |