CN110691078A - Block chain-based data dynamic reliability verification method - Google Patents

Block chain-based data dynamic reliability verification method Download PDF

Info

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
Application number
CN201910908619.5A
Other languages
Chinese (zh)
Other versions
CN110691078B (en
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.)
Northeastern University China
Original Assignee
Northeastern University China
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 Northeastern University China filed Critical Northeastern University China
Priority to CN201910908619.5A priority Critical patent/CN110691078B/en
Publication of CN110691078A publication Critical patent/CN110691078A/en
Application granted granted Critical
Publication of CN110691078B publication Critical patent/CN110691078B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic 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

Block chain-based data dynamic reliability verification method
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.
CN201910908619.5A 2019-09-25 2019-09-25 Block chain-based data dynamic reliability verification method Active CN110691078B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
KUN HAO,ET.AL: "《Blockchain-Based Outsourced Storage Schema in untrusted environment》", 《IEEE》 *
贾大宇等: "《区块链的存储容量可扩展模型》", 《计算机科学与探索》 *

Cited By (5)

* Cited by examiner, † Cited by third party
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