WO2022222786A1 - Procédé et appareil de stockage de fichier et dispositif - Google Patents
Procédé et appareil de stockage de fichier et dispositif Download PDFInfo
- Publication number
- WO2022222786A1 WO2022222786A1 PCT/CN2022/086300 CN2022086300W WO2022222786A1 WO 2022222786 A1 WO2022222786 A1 WO 2022222786A1 CN 2022086300 W CN2022086300 W CN 2022086300W WO 2022222786 A1 WO2022222786 A1 WO 2022222786A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- file
- sets
- positioning
- data
- file data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 134
- 238000003860 storage Methods 0.000 title claims abstract description 54
- 239000011159 matrix material Substances 0.000 claims description 75
- 238000004422 calculation algorithm Methods 0.000 claims description 51
- 238000012795 verification Methods 0.000 claims description 33
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000012937 correction Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 7
- 238000000151 deposition Methods 0.000 claims description 3
- 238000004321 preservation Methods 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 151
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
Definitions
- the present application relates to the field of blockchain technology, and in particular, to a method, device and equipment for document storage.
- Blockchain is a new application mode of computer technology such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm.
- the data blocks are sequentially connected to form a chain data structure according to the time sequence, and a distributed ledger that cannot be tampered with and cannot be forged by cryptography. It is essentially a decentralized distributed database system participated by nodes. Because the blockchain has the characteristics of decentralization, non-tampering of information, and autonomy, the use of blockchain to store document data has also received more and more attention and applications.
- the embodiments of the present specification provide a method, device and device for document storage, so as to solve the problem of difficulty in locating tampered data in a file in existing document storage and verification methods.
- a method for document storage includes: acquiring a target file to be stored; splitting to obtain multiple split file data; dividing the multiple file data into multiple file sets according to a preset division method; each of the file sets contains m elements; calculating the multiple file sets Corresponding check code; determine the positioning file data information in each of the file sets; the positioning file data information includes the position information of the positioning file data in the file set in the target file and the positioning file
- the content information of the data; the check code and the data information of the positioning file are stored in the blockchain network.
- a file verification method provided by the embodiments of this specification includes: obtaining from a blockchain network the positioning file data information and a check code corresponding to the file to be verified; The multiple file sets are calculated by splitting the target file according to the preset splitting method to obtain multiple file data, and dividing the multiple files according to the preset splitting method.
- the positioning file data information includes the position information of the positioning file data in the file set in the target file and the content information of the positioning file data; based on the positioning file data information, determine multiple file sets corresponding to the files to be verified; calculating the check codes corresponding to the multiple file sets; comparing the calculated check codes corresponding to the multiple file sets with those obtained from the blockchain network The verification codes are compared to obtain a comparison result; based on the comparison result, the document to be verified is verified.
- a file certificate storage device includes: a target file acquisition module for acquiring a target file to be stored for a certificate; a file data determination module for splitting the target file according to a preset splitting method to obtain the split multiple file data; the file set division module is used to divide the multiple file data into multiple file sets according to a preset division method; each of the file sets contains m elements; The verification code calculation module is used to calculate the verification codes corresponding to the multiple file sets; the location file data information determination module is used to determine the location file data information in each of the file sets; the location file data information includes: The location information of the location file data in the file set in the target file and the content information of the location file data; a data storage module for storing the check code and the location file data information in the area in the blockchain network.
- a file verification device includes: a data acquisition module for acquiring, from a blockchain network, positioning file data information and a check code corresponding to a file to be verified; the check code is obtained by The multiple file sets corresponding to the target file in the certificate are calculated and obtained; the multiple file sets are obtained by splitting the target file according to the preset splitting method to obtain multiple file data, which are divided according to the preset splitting method.
- the location file data information includes the location information of the location file data in the file set in the target file and the content information of the location file data;
- the file set determines a module for determining multiple file sets corresponding to the files to be verified based on the positioning file data information;
- a check code calculation module for calculating the check codes corresponding to the multiple file sets;
- a comparison module for comparing the calculated check codes corresponding to the multiple file sets with the check codes obtained from the blockchain network to obtain a comparison result;
- a verification module for comparing based on the comparison As a result, the document to be verified is verified.
- a file certification device includes: at least one processor; and a memory connected in communication with the at least one processor; wherein, the memory stores data that can be executed by the at least one processor The instruction is executed by the at least one processor, so that the at least one processor can: obtain the target file to be stored; The divided multiple file data; the multiple file data is divided into multiple file sets according to a preset division method; each of the file sets contains m elements; the check codes corresponding to the multiple file sets are calculated ; Determine the location file data information in each of the file sets; the location file data information includes the location information of the location file data in the file set in the target file and the content information of the location file data; The check code and the positioning file data information are stored in the blockchain network.
- a file verification device includes: at least one processor; and a memory connected in communication with the at least one processor; wherein, the memory stores a program executable by the at least one processor. instruction, the instruction is executed by the at least one processor, so that the at least one processor can: obtain the location file data information and check code corresponding to the file to be verified from the blockchain network; the check code It is obtained by calculating the multiple file sets corresponding to the pre-stored target files; the multiple file sets are splitting the target files according to the preset splitting method to obtain multiple file data, and according to obtained by dividing the plurality of file data by a preset division method; the location file data information includes location information of the location file data in the file set in the target file and content information of the location file data ; Based on the positioning file data information, determine multiple file sets corresponding to the document to be verified; Calculate the corresponding check codes of the multiple file sets; Calculate the corresponding check codes of the multiple file sets that are obtained Comparing with the check code obtained from the blockchain network to obtain
- An embodiment of the present specification provides a computer-readable medium on which computer-readable instructions are stored, and the computer-readable instructions can be executed by a processor to implement a method for document storage and verification.
- An embodiment of the present specification achieves the following beneficial effects: obtaining the target file to be stored; splitting the target file according to a preset splitting method to obtain multiple split file data; according to the preset splitting method Divide the multiple file data into multiple file sets; calculate the check codes corresponding to the multiple file sets, determine the location file data information in each file set, and store the check codes and the location file data information in the in the blockchain network.
- FIG. 1 is a schematic diagram of an application scenario of a method for document storage and verification in the embodiment of this specification
- FIG. 2 is a schematic flowchart of a method for document storage provided in an embodiment of the present specification
- FIG. 3 is a schematic diagram of the arrangement of file sets provided by the embodiment of the present specification.
- FIG. 4 is a schematic flowchart of a method for document storage provided in an embodiment of the present specification
- FIG. 5 is a schematic diagram of preliminary positioning based on positioning file data information provided by an embodiment of the present specification
- FIG. 6 is a schematic diagram of supplementary positioning based on positioning file data information provided by an embodiment of the present specification
- FIG. 7 is a schematic diagram of verification based on a check code provided by an embodiment of the present specification.
- FIG. 8 is a schematic structural diagram of a file certificate storage device according to an embodiment of the present specification.
- FIG. 9 is a schematic structural diagram of a file verification device according to an embodiment of the present specification.
- FIG. 10 is a schematic diagram of a document storage and verification device provided by an embodiment of the present specification.
- Blockchain “Blockchain” technology was originally developed by a pseudonym “Satoshi Nakamoto” for Bitcoin (a digital currency).
- a special distributed database technology designed can be understood as a data chain composed of sequential storage of multiple blocks.
- the block header of each block contains the timestamp of this block and the information of the previous block.
- the hash value and the hash value of the information of this block thereby realizing the mutual verification between blocks and forming an immutable blockchain.
- Each block can be understood as a data block (unit of storing data).
- blockchain is a series of data blocks that are correlated with each other using cryptographic methods.
- Each data block contains the information of a network transaction, which is used to verify the validity of its information (anti-counterfeiting). and generate the next block.
- a chain formed by connecting blocks end-to-end is called a blockchain. If you need to modify the data in the block, you need to modify the content of all blocks after this block, and modify the data backed up by all nodes in the blockchain network. Therefore, the blockchain has the characteristics of being difficult to tamper and delete. After the data has been saved to the blockchain, it is reliable as a method to maintain the integrity of the content.
- Hash algorithm It transforms an input of arbitrary length (also called pre-image pre-image) into a fixed-length output through a hash algorithm, and the output is the hash value.
- This transformation is a compressed map, the space of the hash value is usually much smaller than the space of the input, and different inputs may hash to the same output, so it is impossible to determine the unique input value from the hash value.
- Erasure correction algorithm It is a coding fault-tolerant technology. It was first used in the communication industry to solve the problem of loss of some data during transmission. The basic principle is to segment the transmitted signal, add a certain check, and then make a certain connection between the segments , even if part of the signal is lost during transmission, the receiver can still calculate the complete information through an algorithm. For example: an error correction code algorithm (Reed-Solomen, RS algorithm for short).
- each participant will have at least one piece of ledger data.
- the document data is generally recorded directly on the blockchain, and the certificate is stored directly through the blockchain.
- Adopting the mode of directly uploading files to the chain will cause the problem of data expansion.
- Due to the limitation of the transaction size of the blockchain the size of the file will be strictly limited, which is convenient for storing certificates, and there will also be potential security risks, which is not conducive to the development of blockchain technology.
- Hash on-chain a certain Hash algorithm is used to calculate the Hash value (digest value) of the file, and then the Hash value is uploaded to the chain to store the certificate.
- SHA256 hash algorithm pre-calculate the SHA256 value of the file that needs to be stored, and then upload the 32-byte SHA256 value to the chain; in this way, no matter how large the source file is, it will be irreversibly converted into a 32-byte digest.
- Hash value is calculated again, and compared with the chain.
- Hash value is consistent, it means that the file has not been tampered with.
- Hash value is inconsistent, it means that the file has been tampered with.
- hash algorithms with sufficient strength, such as SHA256, SM3 and other algorithms; avoid using algorithms with potential security risks, such as CRC, MD5, etc.
- FIG. 1 is a schematic diagram of an application scenario of a method for document storage and verification in an embodiment of this specification.
- the target file X for the target file X to be certified, the target file X is analyzed to obtain the certification data X1 corresponding to the target file.
- the certification data X1 may include a digest value, a check code and positioning file data information.
- the depository data X1 is stored in the blockchain network 110 .
- the original data X2 corresponding to the target file X can be stored in an external device 120 outside the blockchain network, such as a USB flash drive or other servers.
- FIG. 2 is a schematic flowchart of a method for document storage provided by an embodiment of the present specification. From a program perspective, the execution body of the process may be a program mounted on an application server or an application client.
- Step 210 Obtain the target file to be stored.
- Blockchain data storage can mean that data is stored on the blockchain to achieve the purpose of anti-tampering, traceability, and trustworthy data sources.
- the on-chain and off-chain collaborative work is adopted, and the file and the hash value are separated. Only the hash value of the file is stored on the chain, and the original file is stored off-chain. As long as the hash value of the file is calculated and compared with the hash value on the chain, it is known whether the file has been tampered with.
- the data in the target file to be certified may be in any file form such as text, video, audio and picture. The entire file data corresponding to the target file does not need to be stored in the blockchain network, only the corresponding data that can represent the target file needs to be stored.
- Step 220 Splitting the target file according to a preset splitting manner to obtain multiple split file data.
- splitting can be: the process of combining different parts of a whole and being separated separately is splitting.
- the mid-splitting in this step can be understood as: dividing the data constituting the target bit file into multiple file data in turn according to the byte length corresponding to the fixed file data, for example: there is data corresponding to 100 bytes in the target file,
- the target file can be split into 100 pieces of file data according to the splitting method of 1 byte for each small file data.
- every ten bytes can be a file data or element, that is, the data corresponding to the 1st to 10th bytes are marked as the first file data or the first element, and the 11th to 20th bytes are marked as the first file data or the first element.
- the data corresponding to each byte is marked as the second file data or the second element, ..., and so on, split the target file into multiple file data or multiple elements.
- the file data or elements obtained from the split are used for subsequent set division.
- Step 230 Divide the multiple file data into multiple file sets according to a preset division method; each of the file sets includes m elements, where m ⁇ 1.
- the preset division mode may represent the preset number of files included in each file set, for example, the preset division mode is that three files are one file set.
- the multiple files are divided into multiple file sets according to a preset division method.
- an element may represent one or more file data, specifically, an element may be file data.
- an element may be file data.
- the target file X it is divided into X1, X2, X3, and X4.
- X1 , X2 are divided into set 1
- X3 and X4 are divided into set 2.
- the elements in set 1 may be specific data corresponding to X1 and X2.
- elements in each file set is set to be fixed, there may be a situation where the number of elements in the last set is not enough.
- fixed characters can be used to fill the missing elements in the set. Therefore, elements can also be fixed characters, eg: ⁇ 00.
- Step 240 Calculate the check codes corresponding to the multiple file sets.
- the check code can represent a piece of check data obtained by calculating on a certain length of original data through a certain algorithm (for example, a Hash algorithm or an erasure algorithm). By verifying the data, it can be determined whether the new data is consistent with the original data, and further, the original data can be deduced from the new data in which the original data has been slightly modified.
- a certain algorithm for example, a Hash algorithm or an erasure algorithm.
- a Hash algorithm or an erasure algorithm can be used to calculate the check code corresponding to each file.
- Step 250 Determine the location file data information in each of the file sets.
- the determining the location file data information in each of the file sets may specifically include: determining an element at a specific position in each group of the file sets as the location file data to obtain a location file data set.
- the locating file data information may represent data information at a specific position in each file set, and more specifically, the locating file data information may include the position information of the locating file data in the file set in the target file and the content information of the positioning file data.
- the locating file data may also be referred to as a locating code.
- the location code may be an element in the file set, and the element may be one or more file data; after the target file is divided into multiple file sets, it can be roughly determined by the location code that the previously divided set is in the new data approximate location. For example, the first element in each set can be used for the positioning code. Suppose there are 9 elements in each set. According to the positioning code, it can be roughly determined that starting from the data corresponding to the positioning code, nine consecutive elements may belong to one File collection.
- the positioning file data may be the original data in the target file, or may be a value obtained by calculating the original data, for example, it may be a hash obtained by calculating the data used for positioning value or check value. In this way, when storing the location file data in the blockchain network, it is only necessary to store the calculated hash value or check value.
- Step 260 Store the check code and the positioning file data information in the blockchain network.
- the target file When the target file is stored, not all the data corresponding to the entire target file is stored in the blockchain network, but the original data is stored on a device outside the blockchain network, for example, it can be stored in a mobile hard disk.
- the data that needs to be stored in the blockchain network is the check code obtained by analyzing and calculating the target file and the data information of the positioning file. Subsequently, the tampered data in the target file can also be located through the check code and the location file data information.
- the method in FIG. 2 obtains the target file to be stored; splits the target file according to the preset splitting method to obtain multiple split file data; divides the multiple file data according to the preset splitting method at most a file set; calculate the check codes corresponding to the multiple file sets, determine the location file data information in each file set, and store the check code and the location file data information in the blockchain network.
- the method may further include: using a hash algorithm to calculate a digest value of the target file; and storing the digest value in the blockchain network.
- a digest value corresponding to the target file can also be stored in the blockchain network, and the digest value is obtained by calculating the target file by using a digest algorithm (also called a hash algorithm or a hash algorithm).
- the digest algorithm is used to prevent tampering. For example, assuming that the content in the target file is calculated by MD5, the internal digest value obtained is A1. During verification, if the digest value corresponding to the obtained file is B, which is different from the digest of the original text, it can be determined that the target file has been tampered with.
- the digest function is a one-way function
- the digest function f() is used to calculate a fixed-length digest value for data of any length, but it is difficult to deduce the original data through the digest value. Slight changes to the original data can result in completely different summaries. Therefore, if the digest value is changed, it can be determined that the original data has been tampered with.
- the digest value corresponding to the target file is calculated, and the digest value is stored in the blockchain network. Compare the digest values of , and if they are consistent, it can be determined that the target file has not been tampered with, and there is no need to perform the subsequent steps of locating the tampered data in the file. If the digest values are inconsistent, the solutions in the embodiments of this specification can be further used to locate the tampered data in the target file.
- the storing the check code and the positioning file data information in the blockchain network may specifically include: storing the digest value, the check code and all the data according to a preset splicing method.
- the positioning file data information is spliced to obtain the certificate data corresponding to the target file; and the certificate data is stored in the blockchain network.
- the data stored in the blockchain network can be called certification data
- the certification data can include digest value, check code and positioning file data information.
- the certificate data may be obtained by splicing the digest value, the check code and the location file data information.
- the splicing method may be sequential splicing, or may be splicing according to other preset methods.
- the certificate data corresponding to the target file is stored in the blockchain system, and the digest value in the certificate data can preliminarily determine whether the target file has been tampered with, and by locating the file data information, it can be determined that the target file is divided into the certificate when it is stored.
- File collection, the tampered data in the target file can be determined through the check code.
- the storing the deposit data in the blockchain network may specifically include: generating a deposit certificate including authentication information based on the deposit data; storing the deposit certificate including the deposit certificate Data is sent to the blockchain network for storage.
- the deposit certificate can correspond to a network address and/or picture, which can be used to view the deposit certificate corresponding to the deposit data; the deposit certificate can be viewed according to the corresponding webpage or picture of the network address, and it can be displayed in the blockchain network. Validate the deposit certificate to ensure the authenticity of the deposit data.
- dividing the multiple file data into multiple file sets according to a preset division method may specifically include: dividing the multiple file data into N files according to the preset number of files in the file set. Collections; elements in each of said document collections have an order between them.
- the multiple file data can be divided into multiple file sets.
- the preset number of files in each file set for example: in each file set The number of files is 5
- the data of multiple files is divided into multiple file sets.
- the elements in each set can have an order.
- the target file When the target file is split, it can be understood as determining the data corresponding to each byte in the target file.
- the split does not affect the original data in the target file.
- the split data will not be stored, and the splitting step is only used for the subsequent steps of dividing into sets. Therefore, multiple file data can be divided into multiple file sets in turn, for example: after splitting the target file
- the obtained file data is A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14.
- the file data is divided into multiple file sets in sequence, which is helpful for locating the location of the tampered data more quickly when verifying the tampered condition of the target file later.
- the method may further include: arranging the N file sets in the form of a matrix to obtain a matrix with N rows and M columns;
- the check codes corresponding to the multiple file sets may specifically include: using an erasure correction algorithm to generate a corresponding check code for each row of the matrices corresponding to the multiple file sets; The corresponding check code is generated for each column of file collections.
- the multiple file sets can be arranged in the form of a matrix.
- FIG. 3 is a schematic diagram of arrangement of file sets provided in an embodiment of the present specification.
- multiple file sets can be labeled in sequence, for example: A 11 , A 12 , ..., A 1n , ..., A 21 , A 31 , ... , A n1 , etc.
- Spliced into an N*N matrix the value of N can be adjusted according to the specific situation. If there are remaining file sets, you can continue to label and concatenate into the next N*N matrix.
- a check code can be selected, and the check code of each row and the check code of each column of the matrix in FIG. 3 can be calculated respectively.
- the check code is RS 1
- the check code corresponding to the second row is RS 2
- the check code corresponding to the third row is RS 3
- the check code corresponding to the Nth row is RS n
- the corresponding check code of the first column is RS n .
- the check code is RS n+1
- the check code corresponding to the second column is RS n+2
- the check code corresponding to the third column is RS n+3
- ... the check code corresponding to the Nth column is RS n+n .
- the algorithm used is not limited to using the erasure algorithm, and other types of Hash algorithms can also be used.
- the file is verified and stored in blocks, and a check code and a positioning code are introduced to correct errors during file verification.
- By writing the file digest check code and locating the file data information for storage on the blockchain using a controllable storage cost, it is possible to determine which file sets in the large file have been modified and which are the original content, and can still be used. Provide proof of non-tampering of correct or missing parts.
- FIG. 4 is a schematic flowchart of a method for document storage provided by an embodiment of the present specification.
- the verification phase it can detect which shards in the large file have been modified, and can still provide unmodified proofs for unmodified shards; further, if the number of modified shards is small, it can be pointed out in the verification phase that these shards have been modified. how to modify.
- Step 410 Obtain the location file data information and check code corresponding to the file to be verified from the blockchain network.
- the check code can be obtained by calculating multiple file sets corresponding to the pre-stored target file; the multiple file sets can be divided according to the preset splitting method to obtain A plurality of file data is obtained by dividing the plurality of file data according to a preset division method; the positioning file data information may include the position information of the positioning file data in the file set in the target file and Content information of the location file data.
- the stored certificate data corresponding to the document to be verified is obtained from the blockchain network.
- the certificate data may include the digest value of the to-be-verified file, the check code, and the location file data information.
- the digest value may be calculated on pre-certified target files.
- Step 420 Determine multiple file sets corresponding to the to-be-verified file based on the location file data information.
- the multiple file sets corresponding to the files to be verified can be determined according to the preset division method used in the certification stage.
- the location information in the locating file data information and the content information of the locating file data can roughly locate the elements of the file set corresponding to the file to be verified in the certification stage, for example: determine from the obtained locating file data information.
- the first element in each file set is used as the positioning code, then the first element can be found in the file to be verified as the first element of the first set, and then according to each The number of fixed elements in the set, for example: 9, in the data corresponding to the file to be verified, find 9 elements in sequence starting from the first element, as the first set of files, and so on, to find out the possibility of the file to be identified
- the corresponding set of files Finally, multiple file sets corresponding to the files to be verified are determined.
- Step 430 Calculate the check codes corresponding to the multiple file sets.
- Step 440 Compare the calculated check codes corresponding to the multiple file sets with the check codes obtained from the blockchain network to obtain a comparison result.
- Step 450 Verify the to-be-verified file based on the comparison result.
- the calculated check code can be compared with the check code obtained from the blockchain network, so as to locate the tampered file set.
- the method in FIG. 4 obtains the location file data information and check code corresponding to the file to be verified from the blockchain network; based on the location file data information, multiple file sets corresponding to the to-be-verified file are determined; calculate Check codes corresponding to the multiple file sets; compare the calculated check codes corresponding to the multiple file sets with the check codes obtained from the blockchain network to obtain a comparison result; Based on the comparison result, the to-be-verified file is verified.
- the tampered data can be located by determining the specific set of tampered files in the files to be verified from the certificate data stored in the blockchain network.
- the obtaining the location file data information and the check code corresponding to the file to be verified from the blockchain network may specifically include: obtaining identification information corresponding to the file to be verified; The positioning file data information and the check code corresponding to the to-be-verified file are obtained in the blockchain network.
- the identification information can represent information that can uniquely identify the file to be verified.
- the storage data corresponding to the document to be verified can be obtained from the blockchain network. Further, in order to ensure the storage data Before obtaining the certificate data corresponding to the document to be verified based on the identification information, the requester requesting to obtain the certificate data corresponding to the document to be verified can be required to provide an authorization statement, and the authorization statement can be issued by the holder of the document to be verified. The specific address and the authorization statement issued by the party can carry the digital signature of the holder.
- the blockchain network receives the request for obtaining the data of the deposit, it can review the authorization statement carried in the request for the data of the deposit.
- the certificate data corresponding to the file to be verified can be provided to the requester based on the identification information in the request.
- the method may further include: calculating the digest value of the to-be-verified file by using the Hash algorithm used when storing the certificate. ; Compare the digest value of the described document to be verified that is calculated with the digest value in the data on record; When the digest value of the document to be verified calculated is consistent with the digest value in the data on record when the file to be verified has not been tampered with; when the calculated digest value of the file to be verified is inconsistent with the digest value in the certificate data, determine the file to be verified based on the location file data information A collection of multiple files corresponding to a file.
- the determining, based on the location file data information, multiple file sets corresponding to the to-be-verified file may specifically include: determining a first location file data set based on the location information; based on a dynamic programming algorithm, Determine from the first positioning file set a second positioning file data set whose coverage satisfies a preset condition; compare the second positioning file data set with pre-stored positioning file data information to determine inconsistent positioning file data information; according to the inconsistent positioning file data information, determine a third positioning file data set, so that the matching rate between the third positioning file data set and the pre-stored positioning file data is maximized; based on the third positioning file data set, and multiple file sets corresponding to the to-be-verified file are determined.
- the first positioning file data set may represent all possible positioning code sets determined according to fixed intervals, and the second positioning file data set is based on the dynamic programming algorithm, and the determined matrix coverage meets the preset conditions.
- the third positioning file data set is the final positioning code set obtained after performing supplementary positioning on the second positioning file data set.
- the goal is to obtain the positioning code from the evidence data, and make the matrix determined by the positioning code in the verified file consistent with the matrix in the original file as much as possible.
- the corresponding stage can be divided into preliminary positioning and supplementary positioning: the preliminary positioning can be based on the fixed interval between the file sets when the certificate is stored. content as much as possible. It should be noted that, in practical applications, when there are multiple arrangements with the same coverage ratio, the overall matching ratio of the matrices determined by these arrangements can be further compared, and a positioning code arrangement with the highest matching ratio can be selected.
- FIG. 5 provides preliminary positioning based on the positioning file data information provided by the embodiment of this specification Schematic.
- the intervals between A11 and B11, E11 and F11 and G11, and H11 and I11 are all fixed intervals when the certificate is stored; there is an unrelated location code between B11 and E11 C11, D11 and there are data not covered by the matrix determined by the positioning code; at the same time, the positioning code H11 is located inside the matrix determined by the positioning code G11.
- Supplementary positioning can be a supplement to the preliminary positioning.
- the supplementary positioning is responsible for inserting these positioning codes into these two positions of the verified file. Between certain positioning codes, the matching rate of each matrix is made as high as possible. Description will be made with reference to FIG. 6 : FIG. 6 is a schematic diagram of supplementary positioning based on positioning file data information provided by an embodiment of the present specification.
- the matrix determined by the two positioning codes C11 and D11 is inserted through complementary positioning. For example: record each positioning code as a 1 ,a 2 ,...,an , the size of the matrix determined by the positioning code when the certificate is stored is L bytes, and the byte stream of the verified file is d 1 ,d 2 ,...,d m .
- Valid positioning interval (d i ,d i+1 ,...,d i+(n-1)*L+3 ]
- Valid positioning interval (d i ,d i+1 ,...,d i+(n-1)*L+3 )
- all valid intervals on the verified file are arranged as S 1 , S 2 ,...,S n in ascending order according to the byte stream position of the termination positioning code (d i+(n-1)*L+3 ), and the length of each interval is X 1 , X 2 ,...,X n .
- Length number of positioning codes - 1, as well as the initial positioning code serial numbers a 1 , a 2 , ..., a n of each interval and the end positions d 1 , d 2 , ..., dn in the verified file; then the problem is Converted to selecting interval sequence [S R1 ,S R2 ,...,S Rm ] from S, satisfying a i +X i ⁇ a i+1 , and maximizing X R1 +X R2 +...+X Rm .
- This problem can be solved by the following dynamic programming when a i +X i ⁇ a i+1 is ignored.
- the state transition equation is: when a i +X i ⁇ a i+1 is added, the following two-dimensional dynamic programming can be used to solve it.
- an interval sequence [S R1 ,S R2 ,...,S Rm ] in S can be obtained, which satisfies a i +X i ⁇ a i+1 , and maximizes X R1 +X R2 +...+X Rm ; It is an arrangement of the positioning code in the original file according to the fixed interval of the positioning code when the certificate is stored, which can make the content covered by the matrix determined by the positioning code in the verified file as much as possible.
- the undetermined positioning codes in the recording interval are a 1 , a 2 ,...,an , and the size of the matrix determined by the positioning codes when the certificate is stored is L bytes.
- the first step is to look for the first positioning code a 1 in the interval (if not found, then look for a 2 , if not found, skip the supplementary positioning); the second step is to find a2 on the left and right of a 1 +L (if not found) Then look for a3, the leftmost position on the left to a1, and the right side to the end of the interval); the third step repeats step 2 until the interval ends or there is no next undetermined positioning code.
- the location of the positioning code determined in the above three steps is the supplementary determined positioning code.
- the calculating the check codes corresponding to the multiple file sets may specifically include: arranging the N file sets in the form of a matrix to obtain a matrix with N rows and M columns; using an erasure correction algorithm, A corresponding row check code is generated for the multiple file sets corresponding to each row of the matrix; and a corresponding column check code is generated for the multiple file sets corresponding to each column of the matrix.
- each positioning code eg A11, B11, C11
- the file data division method of each set for example, 4 Bytes
- FIG. 7 is a schematic diagram of verification based on a check code according to an embodiment of the present specification.
- comparing the calculated check codes corresponding to the multiple file sets with the check codes obtained from the blockchain network to obtain a comparison result which may specifically include: of the file sets in the i-th line, obtain the line check codes corresponding to the i-th line of the file sets from the blockchain network; Comparing the line check codes corresponding to the plurality of the file sets with the line check codes corresponding to the plurality of the file sets of the i-th row obtained from the blockchain to obtain a line check code comparison Result: for the plurality of file sets in the jth column of the matrix, obtain the column check codes corresponding to the jth column of the file sets from the blockchain network; calculate the result The column check codes corresponding to the plurality of the document sets in the jth column are compared with the column check codes corresponding to the plurality of the document sets in the jth column obtained from the blockchain, Get the column check code comparison result.
- the specific tampered data can be determined, for example, by comparing the row check codes It is determined that the check codes in the third row in the matrix are inconsistent. By comparing the column check codes, it is determined that the check codes in the second column are inconsistent, and it can be determined that the data at the third row and the second column in the matrix has been tampered with. .
- part of the modified data can be recovered through the check code.
- the algorithm used in the calculation of the check code is an erasure algorithm
- the technical effects that can be achieved by the above two embodiments are as follows: 1) In the scheme of storing the certificate on the chain of the large file Hash, the verifier cannot know which part of the file has been tampered with, and can only obtain whether the entire file is consistent with the original one. Final result.
- the technical solutions of the embodiments of this specification can independently verify each file set of a single large file, and use a controllable storage cost to determine which file sets in the large file have been modified and which are original content. In this way, during verification, the contents of the modified file collection can be directly found, and other contents can still be proved that they have not been tampered with.
- Hash on-chain deposit certificate does not store the original file, the source file is hosted and stored in an external system. There is a very small probability that the external system may cause partial damage to the file. For example, when using disk storage, the magnetic poles are reversed, causing data errors, or bad sectors causing data loss.
- the solutions in the embodiments of this specification can still provide proof of non-tampering for the correct or non-lost part; further, when the tampered data or the lost data accounts for a small part of the sorted data, the lost data can be verified through the certificate information. or tampered data to restore.
- FIG. 8 is a schematic structural diagram of a file certificate storage device according to an embodiment of the present specification.
- the device may include: a target file acquisition module 810 for acquiring a target file to be stored; a file data determination module 820 for splitting the target file according to a preset splitting method, Obtaining the split multiple file data; a file set dividing module 830, configured to divide the multiple file data into multiple file sets according to a preset division method; each of the file sets contains m elements; verifying
- the code calculation module 840 is used to calculate the check codes corresponding to the multiple file sets;
- the location file data information determination module 850 is used to determine the location file data information in each of the file sets; the location file data information Including the location information of the location file data in the file set in the target file and the content information of the location file data; the data storage module 860 is used to store the check code and the location file data information.
- a target file acquisition module 810 for acquiring a target file to be stored
- the apparatus may further include: a digest value calculation module for calculating the digest value of the target file by using a hash algorithm; a digest value storage module for storing the digest value in the block in the chain network.
- the data storage module 860 may specifically include: a storage certificate data determination unit, configured to splicing the digest value, the check code and the positioning file data information according to a preset splicing method, Obtain the certificate data corresponding to the target file; the certificate data storage unit is used to store the certificate data in the blockchain network.
- a storage certificate data determination unit configured to splicing the digest value, the check code and the positioning file data information according to a preset splicing method, Obtain the certificate data corresponding to the target file; the certificate data storage unit is used to store the certificate data in the blockchain network.
- the storage unit for the storage data may be specifically configured to: generate a certificate of storage including authentication information based on the storage data; send the storage data including the certificate of storage to the block storage in the chain network.
- the file set dividing module 830 may specifically include: a dividing unit, configured to divide the multiple file data into N file sets according to the preset number of files in the file set; The elements in the collection have order between them.
- the apparatus may further include: a file set arrangement module, configured to arrange the N file sets in the form of a matrix to obtain a matrix with N rows and M columns; the check code calculation module, specifically It includes: a check code calculation unit, configured to use an erasure correction algorithm to generate a corresponding check code for each row of the matrix corresponding to the multiple file sets; for each column of the file set of the matrix corresponding to the multiple file sets Generate the corresponding check code.
- a file set arrangement module configured to arrange the N file sets in the form of a matrix to obtain a matrix with N rows and M columns
- the check code calculation module specifically It includes: a check code calculation unit, configured to use an erasure correction algorithm to generate a corresponding check code for each row of the matrix corresponding to the multiple file sets; for each column of the file set of the matrix corresponding to the multiple file sets Generate the corresponding check code.
- the positioning file data information determining module 850 may specifically include: a positioning file data information determining unit, configured to determine an element at a specific position in each group of the file sets as positioning file data to obtain a positioning file. data collection.
- FIG. 9 is a schematic structural diagram of a file verification apparatus according to an embodiment of the present specification.
- the device may include: a data acquisition module 910 for acquiring the location file data information and check code corresponding to the file to be verified from the blockchain network; the check code is obtained by The multiple file sets corresponding to the target file of the obtained by dividing the multiple file data; the positioning file data information includes the position information of the positioning file data in the file set in the target file and the content information of the positioning file data; the file set determining module 920 , for determining multiple file sets corresponding to the files to be verified based on the positioning file data information; a check code calculation module 930 for calculating the check codes corresponding to the multiple file sets; a comparison module 940 , for comparing the calculated check codes corresponding to the multiple file sets with the check codes obtained from the blockchain network to obtain a comparison result; the verification module 950 is used for Comparing
- the data acquisition module 910 may specifically include: an identification information acquisition unit for acquiring identification information corresponding to the to-be-verified file; a data acquisition unit for obtaining an identification information from the blockchain based on the identification information.
- the positioning file data information and the check code corresponding to the file to be verified are obtained from the network.
- the device may further include: a digest value calculation module, used for calculating the digest value of the to-be-verified file by using the Hash algorithm used when storing the certificate; a digest value comparison module, used for calculating the calculated digest value.
- the digest value of the document to be verified is compared with the digest value in the certificate data; the tampering situation determination unit is used to calculate the digest value of the document to be verified and the digest in the certificate data.
- the values are consistent, it is determined that the file to be verified has not been tampered with; when the calculated digest value of the to-be-verified file is inconsistent with the digest value in the certificate data, based on the location file data information, it is determined that the Multiple file sets corresponding to the files to be verified.
- the file set determining module 920 may specifically include: a first positioning file data set determining unit, configured to determine a first positioning file data set based on the location information; a second positioning file data set determining unit, Based on a dynamic programming algorithm, determine a second positioning file data set whose coverage meets a preset condition from the first positioning file set; a positioning file data information comparison unit is used to compare the second positioning file data set with the The pre-stored positioning file data information is compared to determine inconsistent positioning file data information; the third positioning file data set determining unit is used to determine the third positioning file data set according to the inconsistent positioning file data information, so that the The matching rate between the third positioning file data set and the pre-stored positioning file data is the largest; the file set determining unit is configured to determine, based on the third positioning file data set, multiple file sets corresponding to the to-be-verified file.
- the check code calculation module 930 may specifically include: a file set arrangement unit for arranging the N file sets in the form of a matrix to obtain a matrix with N rows and M columns; check code generation The unit is configured to use an erasure correction algorithm to generate corresponding row check codes for the multiple file sets corresponding to each row of the matrix; generate the corresponding multiple file sets corresponding to each column of the matrix.
- Column check code for generating corresponding row check codes for the multiple file sets corresponding to each row of the matrix.
- the comparison module 940 may be specifically configured to: for a plurality of the file sets in the i-th row in the matrix, obtain a plurality of the i-th row from the blockchain network The line check code corresponding to the file set; compare the calculated line check code corresponding to the i-th line of the file set with the i-th line obtained from the blockchain. The row check codes corresponding to the file sets are compared to obtain a row check code comparison result; for the plurality of the document sets in the jth column of the matrix, all the file sets are obtained from the blockchain network.
- the column check codes corresponding to the plurality of the document sets in the jth column are compared to obtain a column check code comparison result.
- the embodiments of this specification also provide a device corresponding to the above method.
- FIG. 10 is a schematic diagram of a document storage and verification device provided by an embodiment of the present specification.
- the device 1000 may include: at least one processor 1010 ; and a memory 1030 communicatively connected to the at least one processor; wherein the memory 1030 stores information executable by the at least one processor 1010 corresponding to Embodiment 1, the instruction 1020 is executed by the at least one processor 1010, so that the at least one processor 1010 can: obtain the target file to be stored; The target file is split to obtain multiple split file data; the multiple file data is divided into multiple file sets according to a preset division method; each of the file sets contains m elements; the corresponding check codes of the multiple file sets; determine the location file data information in each of the file sets; the location file data information includes the location information of the location file data in the file set in the target file. and the content information of the positioning file data; the check code and the positioning file data information are stored in the blockchain network.
- the instruction 1020 is executed by the at least one processor 1010, so that the at least one processor 1010 can: obtain the location file data information corresponding to the to-be-verified file and verify it from the blockchain network
- the check code is obtained by calculating multiple file sets corresponding to the pre-stored target file; the multiple file sets are splitting the target file according to the preset splitting method to obtain
- a plurality of file data is obtained by dividing the plurality of file data according to a preset division method; the location file data information includes the location information of the location file data in the file set in the target file and the location information of the target file.
- the content information of the location file data based on the location file data information, determine multiple file sets corresponding to the to-be-verified file; calculate the check codes corresponding to the multiple file sets;
- the check code corresponding to the file set is compared with the check code obtained from the blockchain network to obtain a comparison result; based on the comparison result, the to-be-verified file is verified.
- the embodiments of the present specification also provide a computer-readable medium corresponding to the above method.
- Computer-readable instructions are stored on the computer-readable medium, corresponding to Embodiment 1, and the computer-readable instructions can be executed by the processor to implement the following methods: acquiring the target file to be stored; splitting the target file to obtain multiple file data after splitting; dividing the multiple file data into multiple file sets according to a preset division method; each of the file sets contains m elements; calculating the Check codes corresponding to multiple file sets; determine the location file data information in each of the file sets; the location file data information includes location information of the location file data in the file set in the target file and The content information of the positioning file data; the check code and the positioning file data information are stored in the blockchain network.
- the computer-readable instructions can be executed by the processor to implement the following method: obtain the location file data information and check code corresponding to the file to be verified from the blockchain network; the check code is obtained by It is obtained by calculating multiple file sets corresponding to the pre-stored target file; the multiple file sets are obtained by splitting the target file according to the preset splitting method to obtain multiple file data, and the multiple file sets are divided according to the preset method.
- the division method is obtained by dividing the plurality of file data; the location file data information includes the location information of the location file data in the file set in the target file and the content information of the location file data; based on Locating the file data information, determining multiple file sets corresponding to the to-be-verified file; calculating the check codes corresponding to the multiple file sets; comparing the calculated check codes corresponding to the multiple file sets with the The verification codes obtained in the blockchain network are compared to obtain a comparison result; based on the comparison result, the to-be-verified file is verified.
- a Programmable Logic Device (such as a Field Programmable Gate Array (FPGA)) is an integrated circuit whose logic function is determined by user programming of the device.
- HDL Hardware Description Language
- ABEL Advanced Boolean Expression Language
- AHDL Altera Hardware Description Language
- HDCal JHDL
- Lava Lava
- Lola MyHDL
- PALASM RHDL
- VHDL Very-High-Speed Integrated Circuit Hardware Description Language
- Verilog Verilog
- the controller may be implemented in any suitable manner, for example, the controller may take the form of eg a microprocessor or processor and a computer readable medium storing computer readable program code (eg software or firmware) executable by the (micro)processor , logic gates, switches, application specific integrated circuits (ASICs), programmable logic controllers and embedded microcontrollers, examples of controllers include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicon Labs C8051F320, the memory controller can also be implemented as part of the control logic of the memory.
- the controller may take the form of eg a microprocessor or processor and a computer readable medium storing computer readable program code (eg software or firmware) executable by the (micro)processor , logic gates, switches, application specific integrated circuits (ASICs), programmable logic controllers and embedded microcontrollers
- ASICs application specific integrated circuits
- controllers include but are not limited to
- the controller in addition to implementing the controller in the form of pure computer-readable program code, the controller can be implemented as logic gates, switches, application-specific integrated circuits, programmable logic controllers and embedded devices by logically programming the method steps.
- the same function can be realized in the form of a microcontroller, etc. Therefore, this kind of controller can be regarded as a hardware component, and the devices included therein for realizing various functions can also be regarded as a structure in the hardware component. Or even, the means for implementing various functions can be regarded as both a software module implementing a method and a structure within a hardware component.
- a typical implementation device is a computer.
- the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device Or a combination of any of these devices.
- embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
- computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
- These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising instruction means, the instructions
- the apparatus implements the functions specified in the flow or flow of the flowcharts and/or the block or blocks of the block diagrams.
- a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
- processors CPUs
- input/output interfaces network interfaces
- memory volatile and non-volatile memory
- Memory may include forms of non-persistent memory, random access memory (RAM) and/or non-volatile memory in computer readable media, such as read only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
- RAM random access memory
- ROM read only memory
- flash RAM flash memory
- Computer readable media includes both persistent and non-permanent, removable and non-removable media and can be implemented by any method or technology for storage of information.
- Information may be computer readable instructions, data structures, modules of programs, or other data.
- Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash Memory or other memory technology, Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD), or other optical storage , magnetic tape cartridges, magnetic tape-disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
- computer-readable media does not include transitory computer-readable media, such as modulated data signals and carrier waves.
- the embodiments of the present application may be provided as a method, a system or a computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
- computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
- the application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer.
- program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- the application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- program modules may be located in both local and remote computer storage media including storage devices.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
Procédé et appareil de stockage de fichier et dispositif. Le procédé consiste : à acquérir un fichier cible à stocker (210) ; en fonction d'un mode de fragmentation prédéfini, à fragmenter le fichier cible afin d'obtenir une pluralité d'éléments de données de fichier fragmenté (220) ; en fonction d'un mode de division prédéfini, à diviser la pluralité d'éléments de données de fichier en une pluralité d'ensembles de fichier (230) ; à calculer des codes de vérification correspondant à la pluralité d'ensembles de fichiers (240) ; à déterminer des informations de données de fichier de positionnement dans chaque ensemble de fichiers (250) ; et à stocker les codes de vérification et les informations de données de fichier de positionnement dans un réseau à chaîne de blocs (260).
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110426516.2A CN113065169B (zh) | 2021-04-20 | 2021-04-20 | 一种文件存证方法、装置及设备 |
CN202110426516.2 | 2021-04-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022222786A1 true WO2022222786A1 (fr) | 2022-10-27 |
Family
ID=76567120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/086300 WO2022222786A1 (fr) | 2021-04-20 | 2022-04-12 | Procédé et appareil de stockage de fichier et dispositif |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN116579025A (fr) |
WO (1) | WO2022222786A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117979118A (zh) * | 2024-03-29 | 2024-05-03 | 杭州海康威视数字技术股份有限公司 | 一种数据流录制方法、装置、记录仪及记录系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116579025A (zh) * | 2021-04-20 | 2023-08-11 | 支付宝(杭州)信息技术有限公司 | 一种文件存证方法、装置及设备 |
CN113536310B (zh) * | 2021-07-08 | 2024-07-02 | 浙江网商银行股份有限公司 | 一种代码文件的处理方法、检验方法、装置及电子设备 |
CN115664854B (zh) * | 2022-12-22 | 2023-03-10 | 广州市悦智计算机有限公司 | 一种物联网数据采集设备数据上链并进行确认的方法 |
CN117097559B (zh) * | 2023-10-17 | 2023-12-19 | 天津德科智控股份有限公司 | Eps转向角度报文传输验证方法 |
CN117273974B (zh) * | 2023-11-21 | 2024-02-06 | 中国人寿保险股份有限公司上海数据中心 | 基于区块链共识的大型企业费用报销数据生成验证方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647523A (zh) * | 2018-04-28 | 2018-10-12 | 华南理工大学 | 一种基于区块链的电子证明系统及存证、文件恢复方法 |
CN109409135A (zh) * | 2018-10-19 | 2019-03-01 | 北京金山云网络技术有限公司 | 一种数据的特征信息获得方法、装置、设备和存储介质 |
US20200159696A1 (en) * | 2018-11-16 | 2020-05-21 | Advanced Messaging Technologies, Inc. | Systems and Methods for Distributed Data Storage and Delivery Using Blockchain |
CN111222176A (zh) * | 2020-01-08 | 2020-06-02 | 中国人民解放军国防科技大学 | 基于区块链的云存储持有性证明方法、系统及介质 |
CN111611622A (zh) * | 2020-05-29 | 2020-09-01 | 宁波富万信息科技有限公司 | 基于区块链的文件存储方法和电子设备 |
CN113065169A (zh) * | 2021-04-20 | 2021-07-02 | 支付宝(杭州)信息技术有限公司 | 一种文件存证方法、装置及设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795269B (zh) * | 2018-08-03 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 一种数据恢复验证方法、装置及设备 |
CN109491968B (zh) * | 2018-11-13 | 2021-01-22 | 恒生电子股份有限公司 | 一种文件处理方法、装置、设备及计算机可读存储介质 |
WO2019072294A2 (fr) * | 2018-12-13 | 2019-04-18 | Alibaba Group Holding Limited | Réalisation d'un consensus entre des nœuds de réseau dans un système distribué |
CN111444042B (zh) * | 2020-03-24 | 2023-10-27 | 哈尔滨工程大学 | 一种基于纠删码的区块链数据存储方法 |
CN111353180A (zh) * | 2020-03-30 | 2020-06-30 | 北京海益同展信息科技有限公司 | 一种区块链存证方法、取证方法及系统 |
CN111541753B (zh) * | 2020-04-16 | 2024-02-27 | 深圳市迅雷网络技术有限公司 | 区块链数据的分布式存储系统、方法、计算机设备及介质 |
-
2021
- 2021-04-20 CN CN202310530555.6A patent/CN116579025A/zh active Pending
- 2021-04-20 CN CN202110426516.2A patent/CN113065169B/zh active Active
-
2022
- 2022-04-12 WO PCT/CN2022/086300 patent/WO2022222786A1/fr active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647523A (zh) * | 2018-04-28 | 2018-10-12 | 华南理工大学 | 一种基于区块链的电子证明系统及存证、文件恢复方法 |
CN109409135A (zh) * | 2018-10-19 | 2019-03-01 | 北京金山云网络技术有限公司 | 一种数据的特征信息获得方法、装置、设备和存储介质 |
US20200159696A1 (en) * | 2018-11-16 | 2020-05-21 | Advanced Messaging Technologies, Inc. | Systems and Methods for Distributed Data Storage and Delivery Using Blockchain |
CN111222176A (zh) * | 2020-01-08 | 2020-06-02 | 中国人民解放军国防科技大学 | 基于区块链的云存储持有性证明方法、系统及介质 |
CN111611622A (zh) * | 2020-05-29 | 2020-09-01 | 宁波富万信息科技有限公司 | 基于区块链的文件存储方法和电子设备 |
CN113065169A (zh) * | 2021-04-20 | 2021-07-02 | 支付宝(杭州)信息技术有限公司 | 一种文件存证方法、装置及设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117979118A (zh) * | 2024-03-29 | 2024-05-03 | 杭州海康威视数字技术股份有限公司 | 一种数据流录制方法、装置、记录仪及记录系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113065169A (zh) | 2021-07-02 |
CN113065169B (zh) | 2023-05-09 |
CN116579025A (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022222786A1 (fr) | Procédé et appareil de stockage de fichier et dispositif | |
US11438167B2 (en) | Method and server for providing notary service for file and verifying file recorded by notary service | |
US10372942B1 (en) | Method and server for providing notary service for file and verifying file recorded by notary service | |
CN110162662B (zh) | 一种块链式账本中数据记录的验证方法、装置及设备 | |
WO2020042586A1 (fr) | Procédé et appareil de génération d'adresse de contrat intelligent, dispositif informatique et support de stockage lisible | |
RU2332703C2 (ru) | Защита объекта заголовка потока данных | |
EP3776250B1 (fr) | Réalisation d'itérations de carte dans un système à chaîne de blocs | |
CN110427774A (zh) | 基于区块链的数据存证方法、数据校验方法及相关装置 | |
CN112286939B (zh) | 块链式账本中全局状态的哈希的生成方法、装置及设备 | |
CN107015882A (zh) | 一种区块数据校验方法和装置 | |
CN109902071A (zh) | 业务日志存储方法、系统、装置及设备 | |
KR20220012353A (ko) | 블록체인 트랜잭션의 데이터 필드의 검증 | |
CN110689349A (zh) | 一种区块链中的交易哈希值存储和搜索方法及装置 | |
WO2020037400A1 (fr) | Système, procédé et programme informatique pour une authentification sécurisée de vidéo en direct | |
US8601358B2 (en) | Buffer transfer check on variable length data | |
CN110061843B (zh) | 一种链式账本中的块高创建方法、装置及设备 | |
WO2019113495A1 (fr) | Systèmes et procédés pour la fourniture cryptographique d'horloges synchronisées dans des systèmes répartis | |
CN111444192B (zh) | 块链式账本中全局状态的哈希的生成方法、装置及设备 | |
US20210096757A1 (en) | Data deduplication with collision resistant hash digest processes | |
US11411743B2 (en) | Birthday attack prevention system based on multiple hash digests to avoid collisions | |
CN110457873A (zh) | 一种水印嵌入与检测方法及装置 | |
WO2021109718A1 (fr) | Procédé et appareil de vérification basés sur un système de chaîne de blocs | |
WO2021093461A1 (fr) | Procédé et appareil de calcul d'agrégation dans un registre de chaîne de blocs, et dispositif | |
CN110059084A (zh) | 一种数据存储方法、装置及设备 | |
US11791985B2 (en) | Tracking, storage and authentication of documented intellectual property |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22790895 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22790895 Country of ref document: EP Kind code of ref document: A1 |