CN112000993A - Block chain-based data storage verification method, equipment and storage medium - Google Patents

Block chain-based data storage verification method, equipment and storage medium Download PDF

Info

Publication number
CN112000993A
CN112000993A CN202010752263.3A CN202010752263A CN112000993A CN 112000993 A CN112000993 A CN 112000993A CN 202010752263 A CN202010752263 A CN 202010752263A CN 112000993 A CN112000993 A CN 112000993A
Authority
CN
China
Prior art keywords
graph
data
block
node
nodes
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
CN202010752263.3A
Other languages
Chinese (zh)
Other versions
CN112000993B (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.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology Co 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 Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN202010752263.3A priority Critical patent/CN112000993B/en
Publication of CN112000993A publication Critical patent/CN112000993A/en
Application granted granted Critical
Publication of CN112000993B publication Critical patent/CN112000993B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a data storage verification method, equipment and a storage medium based on a block chain, wherein the method mainly comprises five steps of sealing, Hash generation, challenge handling, zero knowledge proof and verification; the sealing program is responsible for generating corresponding sealing data from the original data according to different backup numbers; the Hash generation program is responsible for generating a Mercker directed acyclic graph of input data; the challenge handling program is responsible for completing the random challenge received from the block link using the sealed data; the zero-knowledge proof program is responsible for generating privacy protection proof for the challenge result; the validation program confirms the validity of the proof by incorporating data submitted at the time of the previous seal. The invention can set parameters according to the requirements of the service environment, has wide applicability and supports the generation and storage of various data; the method can provide support for the expansibility of block chain data storage, support the cooperative storage and management of uplink and downlink data of a chain, and ensure the safety privacy and the non-tamper property of the downlink stored data.

Description

Block chain-based data storage verification method, equipment and storage medium
Technical Field
The invention belongs to the field of block chain technology, data processing and privacy protection, and particularly relates to a data storage verification method, data storage verification equipment and a data storage medium based on a block chain.
Background
As the application of the blockchain is more and more, the data needing to be stored is more and more involved, and in order to save the storage space on the chain, the hash value of the data is usually stored on the chain, but the hash value of the data is possibly deleted under the chain. In order to improve the reliability of data storage under the link, people who need to store data according to requirements are rewarded, and people who do not need to store data according to requirements are punished, so that it is very important to design a storage proving method capable of effectively distinguishing the two.
Conventional storage certificates, such as data holding certificates and retrievable certificates, can only prove that the user can obtain the required data and cannot prove that they store the data, much less how much backup the data is stored. But in many fields such as banks, securities, stocks, etc., it is necessary to ensure multiple backups of data, whereas the storage of the prior art proves to be insufficient.
Disclosure of Invention
The invention aims to provide a data storage verification method, a device and a storage medium based on a block chain, aiming at the defects of the prior art. The invention can ensure the requirement of multiple backups and storage time of data and reduce data redundancy through a Merkle-DAGs data organization mode.
The purpose of the invention is realized by the following technical scheme: a data storage verification method based on a block chain comprises the following steps:
(1) uploading original data D by a user, and setting the backup number n and the storage time t, wherein the unit of t is block time;
(2) the storage node respectively transmits the original data D into the sealing program according to the backup numbers to generate n sealing data Ri,i=1~n;
(3) Sealing data R generated in the step (2)0~RnAnd the original data D are respectively equally cut into m blocks, and the size of each block is S; finally, theWhen a block is less than S, increasing magic numbers as delimiters, and simultaneously filling the tail of the block with 0 to the size of S; generating a corresponding merkel directed acyclic graph by each sealing data or original data;
(4) the root of the Mercker directed acyclic graph generated in the step (3) is processed by the corresponding sealing data R0~RnMarking the original data D as a label; uploading the root of the labeled Mercker directed acyclic graph, the storage time t set in the step (1) and the user ID to a block corresponding to the first block time in the storage time;
(5) setting a storage verification time interval gap, and carrying out data storage verification once every gap block time.
Further, the step (2) includes the sub-steps of:
(2.1) splicing the original data D with the n backup numbers respectively, and symmetrically encrypting by adopting DES to obtain n encrypted data with numbers;
(2.2) dividing each encrypted data obtained in the step (2.1) into blocks with the size of S, wherein the total number of the blocks is m, increasing magic numbers to be used as delimiters when the last block is less than S, and simultaneously filling the tail of the block with 0 to the size of S;
(2.3) constructing a seal graph consisting of graph nodes, wherein the number of the graph nodes is Y, the number of the graph nodes in each layer is X, the size of each graph node is S, the out-degree is O, and the upper out-degree limit is OmaxThe degree of income is L, and the upper limit of the degree of income is Lmax(ii) a The odd-level calculation direction is performed from left to right, and the even-level calculation direction is performed from right to left alternately; randomly establishing pointer association of a graph node pointing to a subsequent node in the calculation direction of the hierarchy, and traversing all the graph nodes to generate a seal graph;
(2.4) for each encrypted data, starting from the first block segmented in the step (2.2), encoding operation is carried out on the blocks by using a BLS signature algorithm, operation is carried out on each block according to a seal graph, and finally seal data R is generated0~Rn
Further, in the step (2.3), pointer association of a graph node to a subsequent node in the calculation direction of the hierarchy is randomly established, and all graphs are traversedThe node generates a seal graph, which specifically comprises the following steps: each graph node is 0 in initial degree L and 0 out degree O, the graph node is added with 1 in degree L when the graph node is associated by other nodes, and the graph node is added with 1 in degree O when the graph node is actively associated with other nodes; when a certain graph node actively associates a subsequent node in the calculation direction of the corresponding hierarchy, if the degree of income of the subsequent node reaches the upper limit LmaxThe association fails and other nodes are randomly selected to carry out association until the out-degree of the nodes of the graph reaches the upper limit OmaxIn particular, if the continuous association fails for 3 times, the active association of the graph node is ended and the active association of the next node is entered; and repeating the active association process for each graph node until all the graph nodes are traversed, and finally generating the seal graph.
Further, the BLS signature algorithm is a BLS12-381 algorithm.
Further, the step (2.4) is specifically: starting from the first layer of the seal graph, each graph node of the first layer corresponds to one block, the first graph node operates a BLS signature algorithm by taking the first graph node as a unique entry parameter to obtain an operation result, the operation result is taken as the entry parameter of other graph nodes of the layer which are actively associated with the first graph node, and the other graph nodes operate the BLS signature algorithm by taking the operation result which is actively associated with the first graph node and the first graph node as the entry parameter to obtain the operation result; after the operation of the graph nodes of the first layer is finished, the operation result of the layer corresponds to the graph nodes of the corresponding sequence of the second layer one by one, but the calculation direction is opposite to that of the first layer, the BLS signature algorithm is operated by taking the graph node as the only entry from the last graph node to obtain the operation result, the operation result is taken as the entry of other graph nodes of the layer actively associated with the last graph node, and the operation result of the graph nodes actively associated with the other graph nodes and the BLS signature algorithm are operated by taking the graph nodes as the entry to obtain the operation result; and so on until all graph nodes of the seal graph finish the operation; if the number of the blocks of the encrypted data segmentation is more than X, operation is carried out again according to the seal map from the X +1 th block; finally obtaining sealing data Ri
Further, the step (5) includes the sub-steps of:
(5.1) when the step is executed for the f time, the storage node actively sends a challenge request to the corresponding block at the [ gap x f + (f +1) ] block time; after receiving the request, the block hashes the block, converts each bit of the obtained hash character string into ascii code and multiplies the converted ascii code to generate a random challenge number c and returns the random challenge number c;
(5.2) finding each sealing data R according to the random challenge number c returned in the step (5.1)iGet the path from the block to the root of the merkel directed acyclic graph corresponding to the sealing data as the challenge result;
(5.3) applying a zero-knowledge proof program to each sealing data R output in step (5.2)iThe challenge result of (2) generates a corresponding proof;
(5.4) the storage node uploads the proof generated in the step (5.3) to the block corresponding to the current block time, and other participating nodes judge whether the proof is valid according to the user ID of the block record corresponding to the first block time in the step (4) and the root of the labeled Merckel directed acyclic graph, if the sealing data R isiIf the end point of the path included in proof of proof is the root of the merkel directed acyclic graph corresponding to the seal data in the first memory block time record, the proof of proof is valid, and the seal data RiIs stored completely and is recorded in the current block; otherwise, the result is invalid;
(5.5) repeating the steps (5.1) - (5.5) every gap block time, and initiating a challenge request to the corresponding block until the storage time t is over.
Further, the specified block in the step (5.2) is sealing data RiThe (c% m) th block sliced in the step (3).
The present invention also provides a storage authentication apparatus, the apparatus comprising:
one or more processors;
a memory for storing one or more programs;
the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the storage verification method.
The present invention also provides a storage medium storing a computer program, characterized in that the program realizes the storage verification method when executed by a processor.
The invention has the beneficial effects that: the invention provides a data storage verification method, equipment and a storage medium based on a block chain, provides a low-cost sealed data program capable of setting parameters according to requirements of a service environment for a user, can quickly obtain original data according to sealed data, and simultaneously supports checking whether data storage time and backup quantity meet requirements or not. The method also has wide applicability and supports generation and storage of various data. Through the three points, the problem that only the hash code is stored on the chain, the data under the chain can be deleted and the problem that the backup cannot meet the requirements are solved, and the large-scale data storage and safety of various applications on the block chain are guaranteed.
Drawings
FIG. 1 is a schematic diagram of a block chain-based data storage verification method;
FIG. 2 is a schematic view of a seal;
fig. 3 is a schematic diagram of the structure of an apparatus.
Detailed Description
The objects and effects of the present invention will become more apparent by describing in detail the present invention with reference to the accompanying drawings and preferred embodiments, which are described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
As shown in fig. 1, the method for verifying data storage based on a block chain of the present invention specifically includes the following steps:
(1) uploading data
A user uploads original data D and sets backup number n and storage time t for the stored data, wherein the unit of t is block time;
(2) sealing from seal map and data
The storage node transmits the original data D and backup numbers i (i is 1-n) into a sealing program according to the backup number n set in the step (1) to generate n corresponding keysEnvelope data Ri(ii) a The sealing program is long in execution time, the temporary counterfeiting of sealing data by storage nodes is avoided, Sybil attacks and exogenous attacks can be resisted, and therefore malicious programs cannot forge storage certificates by accelerating the sealing speed through parallel computing, and the specific process is as follows:
2a) the sealing program splices the original data D with the n backup numbers respectively, and n encrypted data with numbers are obtained by adopting DES symmetric encryption;
2b) cutting each encrypted data obtained in the step 2a) into blocks with the size of S, adding magic numbers as delimiters when the last block is less than S, and simultaneously filling the tail of the block with 0 to the size of S;
2c) constructing a sealing chart: the seal graph is composed of graph nodes, the number of the graph node layers is Y, the number of the graph nodes in each layer is X, the size of each graph node is S, the out-degree is O, and the upper limit of the out-degree is OmaxThe degree of income is L, and the upper limit of the degree of income is Lmax(ii) a The odd-level calculation direction is performed from left to right, and the even-level calculation direction is performed from right to left alternately; randomly establishing pointer association (active association from the graph node to the subsequent node) for each graph node and the subsequent node in the hierarchy calculation direction, specifically: each graph node is 0 in initial degree L and 0 out degree O, the graph node is added with 1 in degree L when the graph node is associated by other nodes, and the graph node is added with 1 in degree O when the graph node is actively associated with other nodes; when a certain graph node actively associates a subsequent node in the calculation direction of the corresponding hierarchy, if the degree of income of the subsequent node reaches the upper limit LmaxThe association fails and other nodes are randomly selected to carry out association until the out-degree of the nodes of the graph reaches the upper limit OmaxIn particular, if the continuous association fails for 3 times, the active association of the graph node is ended and the active association of the next node is entered; and repeating the active association process for each graph node until all the graph nodes are traversed, and finally generating the seal graph. After the seal map is generated, the system distributes the seal map to each participating node, and the participating nodes execute a seal algorithm to store data according to the seal map.
2d) For each encrypted data, proceeding from the first block cut in step 2b) to the block using the BLS signature algorithmThe line coding operation and the operation between blocks are carried out according to a seal graph structure, and the method specifically comprises the following steps: each graph node of a first layer in the seal graph corresponds to one block, the first graph node operates a BLS signature algorithm by taking the first graph node as a unique entry parameter to obtain an operation result, the operation result is taken as an entry parameter of other graph nodes of the layer actively associated with the first graph node, and the other graph nodes operate the BLS signature algorithm by taking the operation result actively associated with the graph node and the entry parameter to obtain the operation result; after the operation of the graph nodes of the first layer is finished, the operation result of the layer corresponds to the graph nodes of the corresponding sequence of the second layer one by one, but the calculation direction is opposite to that of the first layer, the BLS signature algorithm is operated by taking the graph node as the only entry from the last graph node to obtain the operation result, the operation result is taken as the entry of other graph nodes of the layer actively associated with the last graph node, and the operation result of the graph nodes actively associated with the other graph nodes and the BLS signature algorithm are operated by taking the graph nodes as the entry to obtain the operation result; and so on until all graph nodes of the seal graph finish the operation; if the data exceeds X blocks, the operation is carried out again according to the seal map from the X +1 th block to obtain seal data Ri(ii) a Finally generating sealing data R0~Rn. The BLS signature algorithm is the BLS12-381 algorithm. As shown in FIG. 2, d1~d5Representing a block of data; c. C1~c5For the first level graph nodes, calculate the direction from c1To c5;c6~c10For the second level graph nodes, calculate the direction from c10To c6;c11~c15For the nodes of the third layer graph, the direction is calculated from c11To c15(ii) a The dotted arrows represent the correspondence between the blocks and the graph nodes, and between the upper graph nodes and the lower graph nodes; solid arrows indicate pointer associations, pointed to by the active association graph node to the associated graph node.
(3) Sealing data R generated in the step (2)0~RnAnd the original data D are respectively equally cut into m blocks, and the size of each block is S; adding magic numbers as delimiters when the last block of the original data D is less than S, and simultaneously filling the tail of the block with 0 to the size of S; each sealing data or raw data generates a corresponding Merkle-DAGs Merckel directed acyclic graphs; wherein m is size (R)i)/S,size(Ri) Represents RiThe size of (2).
(4) Merkle-DAGs root cochain
The storer corresponds to the root of the Merkle-DAGs generated in the step (3) and the sealing data R0~RnMarking the original data D as a label; and uploading the root of the marked Merkle-DAGs, the storage time t set in the step (1) and the user ID to a block corresponding to the first block time in the storage time.
(5) Setting a storage checking time interval gap, and carrying out data retention detection once every gap block time
5a) When the step is executed for the f time, the storage node actively sends a challenge request to the corresponding block at the [ gap x f + (f +1) ] block time; after receiving the request, the block hashes the block, converts each bit of the obtained hash character string into ascii code and multiplies the converted ascii code to generate a random challenge number c and returns the random challenge number c;
5b) inputting the random challenge c returned in the step (5a) and sealing data RiThe corresponding Merkle-DAGs to the challenge program are specifically: finding each sealing data R according to the random challenge number ciA designated block of (1), outputting a path from the block to a root of the Merkle-DAGs to which the sealed data corresponds as a challenge result; the specified block is sealing data RiGenerating an equivalent sliced (c% m) th block in the Merkle-DAGs in the step (3);
5c) using a zero knowledge proof program for each sealing data R output in step (5b)iThe challenge result of (2) generates a corresponding proof;
5d) the storage node uploads the proof generated in the step (5c) to the block corresponding to the current block time, other participating nodes judge whether the proof is valid according to the user ID of the block record corresponding to the first block time in the step (4) and the root of the Merkle-DAGs with marks, and if the proof is valid, the sealing data R is sealediIf the end point of the path included in the proof is the Merkle-DAGs root corresponding to the seal data in the first storage block time record, the proof is valid, and the seal data RiIs stored completely and is recorded in the current block; otherwise, the result is invalid;
5e) repeating the steps (5a) - (5d) every gap block time, and initiating a challenge request to the corresponding block until the storage time t is over.
Fig. 3 is a schematic structural diagram of an apparatus according to an embodiment of the present invention. As shown in fig. 3, as another aspect, the present invention also provides an apparatus 700 including one or more Central Processing Units (CPUs) 701 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)702 or a program loaded from a storage section 708 into a Random Access Memory (RAM) 703. In the RAM703, various programs and data necessary for the operation of the apparatus 700 are also stored. The CPU701, the ROM702, and the RAM703 are connected to each other via a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
The following components are connected to the I/O interface 705: an input portion 706 including a keyboard, a mouse, and the like; an output section 707 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 708 including a hard disk and the like; and a communication section 709 including a network interface card such as a LAN card, a modem, or the like. The communication section 709 performs communication processing via a network such as the internet. A drive 710 is also connected to the I/O interface 705 as needed. A removable medium 711 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 710 as necessary, so that a computer program read out therefrom is mounted into the storage section 708 as necessary.
In particular, according to an embodiment of the present disclosure, the authentication method described in any of the above embodiments may be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product comprising a computer program tangibly embodied on a machine-readable medium, the computer program comprising program code for performing an authentication method. In such an embodiment, the computer program can be downloaded and installed from a network through the communication section 709, and/or installed from the removable medium 711.
As still another aspect, the present invention also provides a computer-readable storage medium, which may be the computer-readable storage medium included in the apparatus of the above-described embodiment; or it may be a separate computer readable storage medium not incorporated into the device. The computer readable storage medium stores one or more programs for use by one or more processors in performing the authentication methods described in the present invention.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units or modules described in the embodiments of the present invention may be implemented by software, or may be implemented by hardware. The described units or modules may also be provided in a processor, for example, each of the described units may be a software program provided in a computer or a mobile intelligent device, or may be a separately configured hardware device. Wherein the designation of a unit or module does not in some way constitute a limitation of the unit or module itself.
It will be understood by those skilled in the art that the foregoing is only a preferred embodiment of the present invention, and is not intended to limit the invention, and although the invention has been described in detail with reference to the foregoing examples, it will be apparent to those skilled in the art that various changes in the form and details of the embodiments may be made and equivalents may be substituted for elements thereof. All modifications, equivalents and the like which come within the spirit and principle of the invention are intended to be included within the scope of the invention.

Claims (9)

1. A data storage verification method based on a block chain is characterized by comprising the following steps:
(1) and uploading original data D by a user, and setting the backup number n and the storage time t, wherein the unit of t is block time.
(2) The storage node respectively transmits the original data D into the sealing program according to the backup numbers to generate n sealing data Ri,i=1~n。
(3) Sealing data R generated in the step (2)0~RnAnd the original data D are respectively equally cut into m blocks, and the size of each block is S; adding magic numbers as delimiters when the last block is less than S, and simultaneously filling the tail of the last block with 0 to the size of S; each seal data or raw data generates a corresponding merkel directed acyclic graph.
(4) The root of the Mercker directed acyclic graph generated in the step (3) is processed by the corresponding sealing data R0~RnMarking the original data D as a label; and uploading the root of the labeled merkel directed acyclic graph, the storage time t set in the step (1), the user ID and the like to a block corresponding to the first block time in the storage time.
(5) Setting a storage verification time interval gap, and carrying out data storage verification once every gap block time.
2. The blockchain-based data storage validation method of claim 1, wherein the step (2) includes the substeps of:
(2.1) splicing the original data D with the n backup numbers respectively, and symmetrically encrypting by adopting DES to obtain n encrypted data with numbers;
(2.2) dividing each encrypted data obtained in the step (2.1) into blocks with the size of S, wherein the total number of the blocks is m, increasing magic numbers to be used as delimiters when the last block is less than S, and simultaneously filling the tail of the block with 0 to the size of S;
(2.3) constructing a seal graph consisting of graph nodes, wherein the number of the graph nodes is Y, the number of the graph nodes in each layer is X, the size of each graph node is S, the out-degree is O, and the upper out-degree limit is OmaxThe degree of income is L, and the upper limit of the degree of income is Lmax(ii) a The odd-level calculation direction is performed from left to right, and the even-level calculation direction is performed from right to left alternately; randomly establishing pointer association of a graph node pointing to a subsequent node in the calculation direction of the hierarchy, and traversing all the graph nodes to generate a seal graph;
(2.4) for each encrypted data, starting from the first block segmented in the step (2.2), encoding operation is carried out on the blocks by using a BLS signature algorithm, operation is carried out on each block according to a seal graph, and finally seal data R is generated0~Rn
3. The block chain-based data storage verification method according to claim 2, wherein in the step (2.3), a pointer association pointing from one graph node to a subsequent node in the hierarchical computation direction is randomly established, and a seal graph is generated by traversing all graph nodes, specifically: each graph node is 0 in initial degree L and 0 out degree O, the graph node is added with 1 in degree L when the graph node is associated by other nodes, and the graph node is added with 1 in degree O when the graph node is actively associated with other nodes; when a certain graph node actively associates a subsequent node in the calculation direction of the corresponding hierarchy, if the degree of income of the subsequent node reaches the upper limit LmaxThe association fails and other nodes are randomly selected to carry out association until the out-degree of the nodes of the graph reaches the upper limit OmaxIn particular, if the continuous association fails for 3 times, the active association of the graph node is ended and the active association of the next node is entered; and repeating the active association process for each graph node until all the graph nodes are traversed, and finally generating the seal graph.
4. The blockchain-based data storage verification method of claim 3, wherein the BLS signature algorithm is a BLS12-381 algorithm.
5. The block chain-based data storage verification method according to claim 3, wherein the step (2.4) is specifically: starting from the first layer of the seal graph, each graph node of the first layer corresponds to one block, the first graph node operates a BLS signature algorithm by taking the first graph node as a unique entry parameter to obtain an operation result, the operation result is taken as the entry parameter of other graph nodes of the layer which are actively associated with the first graph node, and the other graph nodes operate the BLS signature algorithm by taking the operation result which is actively associated with the first graph node and the first graph node as the entry parameter to obtain the operation result; after the operation of the graph nodes of the first layer is finished, the operation result of the layer corresponds to the graph nodes of the corresponding sequence of the second layer one by one, but the calculation direction is opposite to that of the first layer, the BLS signature algorithm is operated by taking the graph node as the only entry from the last graph node to obtain the operation result, the operation result is taken as the entry of other graph nodes of the layer actively associated with the last graph node, and the operation result of the graph nodes actively associated with the other graph nodes and the BLS signature algorithm are operated by taking the graph nodes as the entry to obtain the operation result; and so on until all graph nodes of the seal graph finish the operation; if the number of the blocks of the encrypted data segmentation is more than X, operation is carried out again according to the seal map from the X +1 th block; finally obtaining sealing data Ri
6. The blockchain-based data storage validation method of claim 5, wherein the step (5) includes the substeps of:
(5.1) when the step is executed for the f time, the storage node actively sends a challenge request to the corresponding block at the [ gap x f + (f +1) ] block time; after receiving the request, the block hashes the block, converts each bit of the obtained hash character string into ascii code and multiplies the converted ascii code to generate a random challenge number c and returns the random challenge number c;
(5.2) finding each sealing data R according to the random challenge number c returned in the step (5.1)iGet a path from the block to the root of the merkel directed acyclic graph to which the seal data corresponds, as a challenge result result;
(5.3) applying a zero-knowledge proof program to each sealing data R output in step (5.2)iThe challenge result of (2) generates a corresponding proof;
(5.4) the storage node uploads the proof generated in the step (5.3) to the block corresponding to the current block time, and other participating nodes judge whether the proof is valid according to the user ID of the block record corresponding to the first block time in the step (4) and the root of the labeled Merckel directed acyclic graph, if the sealing data R isiIf the end point of the path included in proof of proof is the root of the merkel directed acyclic graph corresponding to the seal data in the first memory block time record, the proof of proof is valid, and the seal data RiIs stored completely and is recorded in the current block; otherwise, the result is invalid;
(5.5) repeating the steps (5.1) - (5.5) every gap block time, and initiating a challenge request to the corresponding block until the storage time t is over.
7. The method of claim 6, wherein the specified chunk is sealed data R in step (5.2)iThe (c% m) th block sliced in the step (3).
8. A storage authentication apparatus, the apparatus comprising:
one or more processors;
a memory for storing one or more programs;
the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the method recited in any of claims 1-7.
9. A storage medium storing a computer program, characterized in that the program, when executed by a processor, implements the method according to any one of claims 1-7.
CN202010752263.3A 2020-07-30 2020-07-30 Block chain-based data storage verification method, equipment and storage medium Active CN112000993B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010752263.3A CN112000993B (en) 2020-07-30 2020-07-30 Block chain-based data storage verification method, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010752263.3A CN112000993B (en) 2020-07-30 2020-07-30 Block chain-based data storage verification method, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN112000993A true CN112000993A (en) 2020-11-27
CN112000993B CN112000993B (en) 2023-12-05

Family

ID=73463319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010752263.3A Active CN112000993B (en) 2020-07-30 2020-07-30 Block chain-based data storage verification method, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112000993B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114219477A (en) * 2021-11-03 2022-03-22 重庆邮电大学 Block chain data storage expansion method based on-chain storage
CN116846916A (en) * 2023-09-01 2023-10-03 武汉趣链数字科技有限公司 Data synchronization method, device, electronic equipment and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108681583A (en) * 2018-05-11 2018-10-19 北京奇虎科技有限公司 Data proof of possession method, apparatus and readable storage medium storing program for executing based on block chain
KR101924026B1 (en) * 2017-11-10 2018-11-30 부산대학교 산학협력단 System and method for blockchain using hash-based signature scheme
US20200004788A1 (en) * 2018-06-27 2020-01-02 Alibaba Group Holding Limited Blockchain-based smart contract invocation method and apparatus, and electronic device
CN110941673A (en) * 2019-11-26 2020-03-31 中国人民解放军战略支援部队信息工程大学 Block chain data structure and task processing method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101924026B1 (en) * 2017-11-10 2018-11-30 부산대학교 산학협력단 System and method for blockchain using hash-based signature scheme
CN108681583A (en) * 2018-05-11 2018-10-19 北京奇虎科技有限公司 Data proof of possession method, apparatus and readable storage medium storing program for executing based on block chain
US20200004788A1 (en) * 2018-06-27 2020-01-02 Alibaba Group Holding Limited Blockchain-based smart contract invocation method and apparatus, and electronic device
CN110941673A (en) * 2019-11-26 2020-03-31 中国人民解放军战略支援部队信息工程大学 Block chain data structure and task processing method and device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周坚;金瑜;何亨;李鹏;: "基于区块链的云数据审计方案", 计算机应用研究, no. 06 *
李瑾;仵松颀;张森林;陆月明;: "基于区块链的分布式电能量数据可信存储机制", 网络与信息安全学报, no. 02 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114219477A (en) * 2021-11-03 2022-03-22 重庆邮电大学 Block chain data storage expansion method based on-chain storage
CN116846916A (en) * 2023-09-01 2023-10-03 武汉趣链数字科技有限公司 Data synchronization method, device, electronic equipment and computer readable storage medium
CN116846916B (en) * 2023-09-01 2023-12-08 武汉趣链数字科技有限公司 Data synchronization method, device, electronic equipment and computer readable storage medium

Also Published As

Publication number Publication date
CN112000993B (en) 2023-12-05

Similar Documents

Publication Publication Date Title
Li et al. Blockchain-based public auditing for big data in cloud storage
CN110912937B (en) Block chain-based digital certificate storage platform and certificate storage method
US20210271764A1 (en) Method for storing data on a storage entity
Zhu et al. Cooperative provable data possession for integrity verification in multicloud storage
Zheng et al. Fair and dynamic proofs of retrievability
Mo et al. A dynamic Proof of Retrievability (PoR) scheme with O (logn) complexity
US20220337420A1 (en) Blockchain-Enabled Computing
CN114372296B (en) Block chain-based user behavior data auditing method and system
CN106611135A (en) Storage data integrity verification and recovery method
CN112000993A (en) Block chain-based data storage verification method, equipment and storage medium
CN107231370A (en) A kind of data monitoring method based on cloud computing
CN112699123A (en) Method and system for verifying existence and integrity of data in data storage system
CN112367168A (en) Method and device for generating key of block chain user
CN113886817A (en) Host intrusion detection method and device, electronic equipment and storage medium
CN109104449B (en) Multi-backup data possession proving method in cloud storage environment
Andavan et al. Privacy protection domain-user integra tag deduplication in cloud data server
Qi et al. Blockchain-Based Light-Weighted Provable Data Possession for Low Performance Devices.
Xu et al. A generic integrity verification algorithm of version files for cloud deduplication data storage
CN116527322A (en) Combined credit investigation method and device based on block chain and privacy calculation
CN115906149A (en) KP-ABE based on directed acyclic graph and user data credible sharing method of block chain
CN115643047A (en) Block chain identity authentication method based on honest rewards
CN110505052B (en) Cloud data public verification method for protecting data privacy
Wang et al. A blockchain-based multi-cloud storage data consistency verification scheme
CN113810185A (en) Anti-trapdoor leakage on-chain data restoration system and method
CN107743066B (en) Monitorable anonymous signature method and 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