CN107657438B - Block chain generation method, data verification method, node and system - Google Patents

Block chain generation method, data verification method, node and system Download PDF

Info

Publication number
CN107657438B
CN107657438B CN201710842472.5A CN201710842472A CN107657438B CN 107657438 B CN107657438 B CN 107657438B CN 201710842472 A CN201710842472 A CN 201710842472A CN 107657438 B CN107657438 B CN 107657438B
Authority
CN
China
Prior art keywords
data
block
written
fingerprint information
serialized
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.)
Active
Application number
CN201710842472.5A
Other languages
Chinese (zh)
Other versions
CN107657438A (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.)
Union Mobile Pay Co Ltd
Original Assignee
Union Mobile Pay 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 Union Mobile Pay Co Ltd filed Critical Union Mobile Pay Co Ltd
Priority to CN201710842472.5A priority Critical patent/CN107657438B/en
Publication of CN107657438A publication Critical patent/CN107657438A/en
Application granted granted Critical
Publication of CN107657438B publication Critical patent/CN107657438B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

The invention discloses a block chain generation method, a data verification method, a node and a system, wherein the block chain generation method comprises the following steps: acquiring N data to be written; obtaining N serialized data corresponding to the N data to be written respectively according to a preset serialization rule; constructing a new block, wherein the new block comprises a data set and a block header; the data set comprises N serialized data; the block head comprises a block head hash value of a previous block in a local block chain of the node; the previous block is the block which is added newly in the longest chain of the local block chain; and determining the consensus blocks meeting the consensus algorithm rule from the new blocks generated by the M nodes through a consensus algorithm, and adding the consensus blocks into the local block chain. And the serialized data of the data to be written is adopted to directly store the data to be written into the block chain system, so that the reliability of data storage is improved. The block chain system can directly provide the serialized data of the data to be written as the verification reference, thereby improving the credibility.

Description

Block chain generation method, data verification method, node and system
Technical Field
The invention relates to the technical field of data authentication, in particular to a block chain generation method, a data verification method, a node and a system.
Background
In modern life, the existence of certain data (things) is often required to be proved, namely the existence evidence (existence proof) of the data, such as written articles, historical operating instructions, signed contracts and the like, and at the moment, the data needs to be authenticated by a third-party authentication mechanism, and the authentication mode has extremely high requirement on the credit degree of the authentication mechanism, and has the disadvantages of complex operation, high cost and poor timeliness.
In order to solve the above-mentioned various problems in data storage by the third-party certification authority, many proposals for data storage by a block chain have been made, and the above-mentioned problems are preferably solved by using a non-centralized structure and a non-modifiable characteristic of the block chain. A common method for using a block chain to store data certificates is to construct a special transaction, and use fingerprint information of data to be stored certificates as an additional information parameter of the special transaction, such as an OP _ Return parameter in a bitcoin transaction. Thereafter, the special transaction is sent to the blockchain system.
Reliability and credibility are two important aspects of evaluating the evidence-preserving technology. Reliability means that data saved in advance can be reliably acquired at any time point in the future. By trustworthiness, it is meant that at any point in time in the future, the acquired pre-saved data is data that has not been tampered with. For the existing method for storing data by using a block chain, fingerprint information of the data is written into the block chain, and the data is stored by itself or in a third party. When the verification is performed, the verification requester needs to provide the fingerprint information of the data to be verified, so that it is verified whether the fingerprint information of the data to be verified exists in the block chain, however, one fingerprint information may correspond to a plurality of data, so that the existing method for verifying the existence of the data by using the block chain has a slightly insufficient credibility, and meanwhile, the data reliability problem is faced no matter the data is stored by itself or is handed to a third party for storage.
Disclosure of Invention
The invention provides a block chain generation method, a data verification method, a device and a system, which are used for improving the reliability and credibility of data storage.
The embodiment of the present invention provides a method for generating a block chain, which is applied to a block chain system including M nodes, where M is greater than or equal to 3, and includes, for each node of the M nodes:
acquiring N data to be written; n is greater than or equal to 1;
respectively serializing the N data to be written according to a preset serialization rule to obtain N serialized data corresponding to the N data to be written;
constructing a new block, the new block comprising a data set and a block header; the data set comprises the N serialized data; the block head comprises a block head hash value of a previous block in a local block chain of the node; the previous block is a block which is added newly in the longest chain of the local block chain;
determining, by a consensus algorithm, a consensus block satisfying the consensus algorithm rule from among the new blocks generated by the M nodes and adding the consensus block to the local block chain.
Optionally, the new block further includes a signature set including N digital signatures;
the N digital signatures correspond to the N serialized data one to one.
Optionally, after determining, by a consensus algorithm, a consensus block that satisfies the consensus algorithm rule from among the new blocks generated by the M nodes to be added to the local block chain, the method further includes:
acquiring fingerprint information of data to be written corresponding to the serialized data for each piece of serialized data in the common identification block;
storing the fingerprint information of the data to be written and the index information corresponding to the data to be written in a local index library; the index information comprises the block height of the serialized data corresponding to the data to be written in the local block chain and the position number of the serialized data in the block.
Optionally, the block header of the new block further includes root hash values of N pieces of fingerprint information corresponding to the N pieces of data to be written, respectively.
Optionally, the root hash values of the N pieces of fingerprint information are obtained by a mercker merkle tree algorithm;
the method further comprises the following steps:
respectively calculating N fingerprint information of the N data to be written according to the N serialized data;
grouping the N pieces of fingerprint information;
calculating the hash value of each group according to a Mercker merkle tree algorithm, and acquiring the lower-layer hash values of the N pieces of fingerprint information;
and continuously grouping the lower layer hash values, and returning to the step of calculating the hash value of each group until the root hash value is obtained.
Optionally, the block header of the new block further includes a serialization identifier corresponding to the preset serialization rule.
Optionally, before acquiring N data to be written for each node of the M nodes, the method further includes:
for any data to be written, a receiving node receives the data to be written, wherein the receiving node is any node in the M nodes;
the receiving node stores the data to be written into a data set to be written of the receiving node and sends data writing requests to other M-1 nodes; the data writing request comprises the data to be written; the data writing request is used for indicating any one of the other M-1 nodes to store the data to be written into respective data sets to be written;
and for any node in the M nodes, when the number of the data to be written in the data set to be written in the node reaches a preset number or a preset time is reached from a time interval of last new block construction, acquiring N data to be written in the data set to be written in the node.
Optionally, after determining, by a consensus algorithm, a consensus block that satisfies the consensus algorithm rule from among the new blocks generated by the M nodes to be added to the local block chain, the method further includes:
and for any node in the M nodes, removing the N data to be written corresponding to the serialized forms of the N data to be written contained in the common identification block from the data set to be written of the node.
The embodiment of the invention provides a data verification method, which is applied to a block chain system comprising M nodes, wherein M is more than or equal to 3, and the method comprises the following steps:
a verification node acquires fingerprint information of data to be verified, wherein the verification node is any one of the M nodes;
the verification node determines whether each block contains serialized data corresponding to the fingerprint information from a block chain; each tile in the chain of tiles comprises a data set and a tile header; the data set comprises serialized data corresponding to each written data; the block head comprises a block head hash value of a block before the block;
and if the serialized data corresponding to the fingerprint information exists in the block chain, confirming that the data to be verified passes the verification.
Optionally, the block further includes a signature set including N digital signatures; the N digital signatures correspond to the N serialized data one to one;
the method further comprises the following steps:
when serialized data corresponding to the fingerprint information exists in the block chain, acquiring a digital signature corresponding to the serialized data from the block chain;
acquiring public key information of the data to be verified;
verifying the digital signature according to the public key information;
and when the digital signature passes the verification, confirming that the data to be verified passes the right.
Optionally, a local index library is stored in the verification node; the local index library comprises index information of fingerprint information of written data in each block in the block chain; the index information comprises the block height of the serialized data corresponding to the written data in the block chain and the position number of the fingerprint information in the block;
the determining, by the verifying node, whether each block contains serialized data corresponding to the fingerprint information from a block chain includes:
searching the local index library according to the fingerprint information of the data to be verified, and acquiring index information corresponding to the fingerprint information of the data to be verified;
determining serialized data of written data corresponding to the index information from the block chain;
calculating fingerprint information of the written data according to the serialized data of the written data;
and when the fingerprint information of the data to be verified is consistent with the fingerprint information of the written data, determining that serialized data corresponding to the fingerprint information exists in the block chain.
Optionally, the block header of the new block further includes root hash values of N pieces of fingerprint information corresponding to the N pieces of data to be written, respectively;
if serialized data corresponding to the fingerprint information exists in the block chain, after the verification of the data to be verified is confirmed to pass, the method further comprises the following steps:
calculating root hash values of N pieces of fingerprint information corresponding to N pieces of serialized data in the data set;
and when the root hash values of the N pieces of fingerprint information are consistent with the root hash value in the block head, confirming that the data to be verified passes the verification.
Optionally, the block header of the new block further includes a serialization identifier corresponding to the preset serialization rule;
after confirming that the data to be verified passes the verification, the method further comprises the following steps:
and deserializing the serialized data according to the serialized identification to obtain the data to be verified.
An embodiment of the present invention provides a block link point, which is applied to any node in a block link system including M nodes, where M is greater than or equal to 3, and includes:
the receiving and sending unit is used for acquiring N data to be written; n is greater than or equal to 1;
the processing unit is used for respectively carrying out serialization processing on the N data to be written according to a preset serialization rule to obtain N serialized data corresponding to the N data to be written;
the processing unit is further configured to construct a new block, where the new block includes a data set and a block header; the data set comprises the N serialized data; the block head comprises a block head hash value of a previous block in the local block chain; the previous block is a block which is added newly in the longest chain of the local block chain;
the processing unit is further configured to determine, through a consensus algorithm, a consensus block that satisfies the consensus algorithm rule from among the new blocks generated by the M nodes and add the consensus block to the local block chain.
Optionally, the new block further includes a signature set including N digital signatures;
the N digital signatures correspond to the N serialized data one to one.
Optionally, the processing unit is further configured to:
acquiring fingerprint information of data to be written corresponding to the serialized data for each piece of serialized data in the common identification block;
storing the fingerprint information of the data to be written and the index information corresponding to the data to be written in a local index library; the index information comprises the block height of the serialized data corresponding to the data to be written in the local block chain and the position number of the serialized data in the block.
Optionally, the block header of the new block further includes root hash values of N pieces of fingerprint information corresponding to the N pieces of data to be written, respectively.
Optionally, the root hash values of the N pieces of fingerprint information are obtained by a mercker merkle tree algorithm;
the processing unit is further to:
respectively calculating N fingerprint information of the N data to be written according to the N serialized data;
grouping the N pieces of fingerprint information;
calculating the hash value of each group according to a Mercker merkle tree algorithm, and acquiring the lower-layer hash values of the N pieces of fingerprint information;
and continuously grouping the lower layer hash values, and returning to the step of calculating the hash value of each group until the root hash value is obtained.
Optionally, the block header of the new block further includes a serialization identifier corresponding to the preset serialization rule.
Optionally, the transceiver unit is further configured to: receiving the data to be written;
the processing unit is further to:
storing the data to be written into a data set to be written, and sending a data writing request; the data writing request comprises the data to be written; the data writing request is used for storing the data to be written into respective data sets to be written by at least the other M-1 nodes;
the processing unit is further to:
and when the number of the data to be written in the data set to be written reaches a preset number or the time interval from the last new block construction reaches preset time, acquiring N data to be written from the data set to be written.
Optionally, the processing unit is further configured to:
and removing the N data to be written corresponding to the serialized forms of the N data to be written contained in the common identification block from the data set to be written.
An embodiment of the present invention provides a block link point, which is applied to any node in a block link system including M nodes, where M is greater than or equal to 3, and includes:
the receiving and sending unit is used for acquiring fingerprint information of data to be verified;
the processing unit is used for determining whether each block contains serialized data corresponding to the fingerprint information from a block chain; each tile in the chain of tiles comprises a data set and a tile header; the data set comprises serialized data corresponding to each written data; the block head comprises a block head hash value of a block before the block;
the processing unit is further configured to confirm that the to-be-verified data passes verification if serialized data corresponding to the fingerprint information exists in the block chain.
Optionally, the block further includes a signature set including N digital signatures; the N digital signatures correspond to the N serialized data one to one;
the processing unit is further to:
when serialized data corresponding to the fingerprint information exists in the block chain, acquiring a digital signature corresponding to the serialized data from the block chain;
acquiring public key information of the data to be verified;
verifying the digital signature according to the public key information;
and when the digital signature passes the verification, confirming that the data to be verified passes the right.
Optionally, the device further comprises a storage unit;
the storage unit is used for storing a local index library; the local index library comprises index information of fingerprint information of written data in each block in the block chain; the index information comprises the block height of the serialized data corresponding to the written data in the block chain and the position number of the fingerprint information in the block;
the processing unit is specifically configured to:
searching the local index library according to the fingerprint information of the data to be verified, and acquiring index information corresponding to the fingerprint information of the data to be verified;
determining serialized data of written data corresponding to the index information from the block chain;
calculating fingerprint information of the written data according to the serialized data of the written data;
and when the fingerprint information of the data to be verified is consistent with the fingerprint information of the written data, determining that serialized data corresponding to the fingerprint information exists in the block chain.
Optionally, the block header of the new block further includes root hash values of N pieces of fingerprint information corresponding to the N pieces of data to be written, respectively;
the processing unit is further to:
calculating root hash values of N pieces of fingerprint information corresponding to N pieces of serialized data in the data set;
and when the root hash values of the N pieces of fingerprint information are consistent with the root hash value in the block head, confirming that the data to be verified passes the verification.
Optionally, the block header of the new block further includes a serialization identifier corresponding to the preset serialization rule;
the processing unit is further to:
and deserializing the serialized data according to the serialized identification to obtain the data to be verified.
An embodiment of the present invention provides a computer-readable storage medium, where computer-executable instructions are stored, and the computer-executable instructions are configured to cause a computer to execute any one of the above block chain generation methods.
An embodiment of the present invention provides a computing device, including:
a memory for storing program instructions;
and the processor is used for calling the program instructions stored in the memory and executing any one of the block chain generation methods according to the obtained program.
An embodiment of the present invention provides a computer-readable storage medium, where computer-executable instructions are stored, and the computer-executable instructions are configured to enable a computer to execute any one of the data verification methods described above.
An embodiment of the present invention provides a computing device, including:
a memory for storing program instructions;
and the processor is used for calling the program instructions stored in the memory and executing the data verification method according to the obtained program.
An embodiment of the present invention provides a block chain system, which includes M nodes, where M is greater than or equal to 3, and includes any one of the block chain link points described above.
In summary, embodiments of the present invention provide a method, a node and a system for generating a block chain, where the method for generating a block chain includes: acquiring N data to be written; n is greater than or equal to 1; respectively serializing the N data to be written according to a preset serialization rule to obtain N serialized data corresponding to the N data to be written; constructing a new block, wherein the new block comprises a data set and a block header; the data set comprises N serialized data; the block head comprises a block head hash value of a previous block in a local block chain of the node; the previous block is the block which is added newly in the longest chain of the local block chain; and determining the consensus blocks meeting the consensus algorithm rule from the new blocks generated by the M nodes through a consensus algorithm, and adding the consensus blocks into the local block chain. In the embodiment of the invention, the data set comprises the serialized data of the data to be written, rather than the transaction data in the prior art, the occupation of partial data irrelevant to the data to be written in the transaction data on the storage space of the system is eliminated, and the utilization rate of the storage space of the system is improved. Meanwhile, the data to be written is directly stored in the block chain system by adopting the serialized data of the data to be written, so that the data to be written does not need to be stored by a data writing party or a third party, and the reliability of data storage is improved. Furthermore, during verification, the blockchain system can directly provide the serialized data of the data to be written as a reference for verification, so that the data has higher verification reliability. Therefore, the embodiment of the invention can improve the credibility and reliability of data storage.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive exercise.
Fig. 1 is a block chain system architecture according to an embodiment of the present invention;
fig. 2 is a schematic flow chart of a block chain generation method according to an embodiment of the present invention;
FIG. 3 is a block data structure diagram according to an embodiment of the present invention;
fig. 4 is a block chain structure diagram of two blocks corresponding to a previous block according to an embodiment of the present invention;
FIG. 5 is a schematic diagram of a possible merkle tree structure provided by the embodiment of the present invention;
fig. 6 is a schematic flow chart of a data verification method according to an embodiment of the present invention;
FIG. 7 is a block data structure diagram according to an embodiment of the present invention;
FIG. 8 is a block link point structure according to an embodiment of the present invention;
FIG. 9 is a block link point structure according to an embodiment of the present invention;
FIG. 10 is a block diagram of a computing device according to an embodiment of the present invention;
fig. 11 is a schematic structural diagram of a computing device according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention clearer, the present invention will be described in further detail with reference to the accompanying drawings, and it is apparent that the described embodiments are only a part of the embodiments of the present invention, not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The embodiment of the invention provides a block chain system, which comprises M nodes, wherein M is more than or equal to 3. Wherein, M nodes are dynamically networked through a Peer-to-Peer network (Peer to Peer, P2P) to form a decentralized system. Fig. 1 is a schematic diagram of a feasible blockchain system architecture according to an embodiment of the present invention, as shown in fig. 1, the blockchain system includes a node 0, a node 1, a node 2, a node 3, and a node 4, and the five nodes are peer-to-peer nodes, and form a decentralized system through P2P dynamic networking. The straight lines in fig. 1 indicate the data transmission relationship between the nodes, and taking node 2 as an example, the broadcast message can be received by nodes 1 and 3.
When the block chain system provided by the embodiment of the invention is used for writing data, any node in M nodes of the system can be used as a receiving node to receive the data to be written; the receiving node stores the data to be written into a data set to be written of the receiving node and sends data writing requests to other M-1 nodes; the data writing request comprises the data to be written; the data writing request is used for indicating any node in other M-1 nodes to store the fingerprint information of the data to be written into the respective data set to be written, namely for any node in other M-1 nodes, after receiving the data writing request, acquiring the data to be written and storing the data to be written into the respective data set to be written.
Taking the example of the blockchain system shown in fig. 1 as an example, the node 2 serves as a receiving node to receive data to be written; the node 2 stores the data to be written into a local data set to be written into, and sends data writing requests to the node 0, the node 1 and the node 3; the data writing request comprises data to be written; the node 0, the node 1 and the node 3 store data to be written in the data writing request into respective data sets to be written, and the node 1 or the node 3 continuously forwards the data writing request to the node 4; the node 4 receives the data writing request which arrives at the node 1 and the node 3 firstly, and stores the data to be written in the data writing request into the data set to be written in the node 4.
It should be understood that, in the embodiment of the present invention, the M nodes in the blockchain system are peer nodes in the blockchain system, and in the implementation process, some non-peer nodes may exist in the blockchain system, for example, the endorsement node mentioned next in the embodiment of the present invention is a non-peer node, and the blockchain system including the non-peer node is also applicable to the technical solution provided by the embodiment of the present invention and also should be included in the embodiment of the present invention. For convenience of description, in the embodiments of the present invention, under a condition that no specific description is made, all the nodes described below are peer nodes, and are not described again.
Based on the above block chain system architecture, an embodiment of the invention provides a block chain generation method, as shown in fig. 2. Fig. 2 is a schematic flow chart of a method for generating a blockchain according to an embodiment of the present invention, which includes the following steps for any one of M nodes of a blockchain system:
s201: acquiring N data to be written; n is greater than or equal to 1.
S202: and respectively serializing the N data to be written according to a preset serialization rule to obtain N serialized data corresponding to the N data to be written respectively.
S203: constructing a new block, wherein the new block comprises a data set and a block header; the data set comprises N serialized data; the block head comprises a block head hash value of a previous block in a local block chain of the node; the previous block is the most recently added block in the longest chain of the local block chain.
S204: and determining the consensus blocks meeting the consensus algorithm rule from the new blocks generated by the M nodes through a consensus algorithm, and adding the consensus blocks into the local block chain.
In S201, the data to be written may be data that needs to be certified, and the specific form of the data is not limited, and the types of the data include, but are not limited to, structured data, semi-structured data, aggregate data (such as an array or a list, a mapping table, and the like), complex nested data, and the length of the data to be written is also not limited. For the case that each peer node has a respective data set to be written, optionally, when the number of the fingerprint information of the data to be written in the data set to be written in the node reaches a preset number or the time interval from the last time of constructing the new block reaches a preset time, S201 is executed.
In S202, N data to be written are serialized using the same serialization rule, and different types of data to be written are all converted into a uniform serialization form, so as to obtain N serialized data respectively. The serialization rules include but are not limited to Java object serialization, JSON serialization, XML serialization, Hessian serialization, and the like, the adaptability, serialization performance, deserialization performance, serialization result size, and the like of different serialization rules to different programming languages are different, and in the specific implementation process, the rules can be selected according to the application scenario balance. The M nodes in the block chain system can adopt a uniform serialization mode to ensure the consistency among all the nodes.
In S203, each peer node in the blockchain system constructs a new block, and the data structure of the new block is as shown in fig. 3, and fig. 3 is a schematic diagram of a possible data structure of a block according to an embodiment of the present invention, which shows a logical structure of data in the block. As shown in fig. 3, the constructed new block includes a data set and a block header, where the data set includes N data to be stored acquired in S201: data 1, data 2, … …, and data N, where the block header includes a hash value of a block header of a previous block, where the previous block is a newly added block in a longest chain of the local block chain of the node, and the new block includes the hash value of the block header of the previous block to ensure a chain structure of the block chain.
In the blockchain system, M nodes respectively have a local blockchain, and each block in the blockchain is strung together by a hash pointer (hash value of the head of the previous block) to form a chain structure. In theory, M nodes in the blockchain system should have the same local blockchain, but in the actual blockchain system, because the time for receiving the new block broadcast between the nodes is not consistent, and the calculation power of different nodes is different, a situation that a plurality of blocks correspond to the same previous block may exist in the local blockchain, as shown in fig. 4, which is a block chain structure diagram of two blocks corresponding to the same previous block provided by the embodiment of the present invention. The arrow in fig. 4 represents a hash pointer, the arrow pointing from block 1 to block 2, indicating that the block header of block 2 includes the block header hash value of block 1, and so on. In the block chain shown in fig. 4, the block headers of the blocks 4 and 8 both include the hash value of the block header of the block 3, and when a new block is constructed at a node, the newly added block in the longest chain is selected as the previous block of the new block according to the "longest chain rule", that is, the block 7 is selected as the previous block of the new block constructed at the node, and the hash value of the block header of the block 7 is included in the block header of the new block.
Optionally, the new block further includes a timestamp, where the timestamp is a current system time of a node that generates the new block, and a function of adding a time certificate to the data to be written may be added. Optionally, the block header of the new block further includes N root hash values of N pieces of fingerprint information corresponding to the N pieces of data to be written, respectively. Each piece of data to be written has its own fingerprint information, and is generally a hash value obtained by processing the data to be written through a hash function (hash) algorithm. The root hash value may be used to verify whether the data set of the block has been tampered with at the time of data verification.
Optionally, the block header of the new block further includes a serialization identifier corresponding to a preset serialization rule. The block chain stores the serialized data of the data to be written, the block head records the serialized identification corresponding to the serialized rule at the same time, and when the data is verified, the node of the block chain system can obtain the original form of the data in the block according to the serialized data and the serialized rule. When the N data to be written are serialized by using the same serialization rule in S202, the serialization rule includes, but is not limited to, Java object serialization, JSON serialization, XML serialization, Hessian serialization, and the like, and thus, the serialization rules also correspond to different serialization identifiers respectively.
In S204, new blocks are constructed at M nodes in the block chain, and since each node may have different selections and sequences of the N data to be written, the obtained root hash values may also be different, and in order to ensure consistency of the block chain in the system, a new block is determined from the new blocks generated by the M nodes through a consensus algorithm as a consensus block, and the consensus block is broadcasted to other M-1 nodes by the node generating the consensus block. The specific implementation manner of the consensus algorithm includes various aspects, such as Proof of Work (PoW), Practical Byzantine Fault-tolerant consensus algorithm (PBFT), and the like, which is not limited in the embodiment of the present invention. In the block data structure shown in fig. 3, the block header further includes a random number, the random number is used for determining the consensus block in the consensus algorithm, taking the consensus algorithm as PoW as an example, each node in the M nodes starts to try multiple random numbers after constructing the data set and other parts in the block header, a change in the random number directly results in a change in the hash value of the block header of a new block, and when the hash value of the block header of any block first satisfies a "difficulty value" (e.g., n bits before the hash value of the block header are 0), the node broadcasts the new block constructed by the node as the consensus block to other nodes in the block chain system. And after receiving the common block broadcast, other nodes stop constructing the new block and add the common block into the local block chain. Optionally, the difficulty value may be a preset fixed value, or may be periodically dynamically adjusted according to the average time used for generating the new block. Optionally, after determining the common block from the new blocks generated by the M nodes, for any node in the M nodes, N data to be written corresponding to N serialized data included in the common block are removed from the data set to be written in the node, so as to prevent the serialized data of the data to be written, which has been written in the block chain, from being repeatedly written in the block chain.
Optionally, after determining, by using a consensus algorithm, a consensus block that satisfies a rule of the consensus algorithm from new blocks generated by the M nodes to add to the local block chain, for any node of the M nodes, the method further includes: acquiring fingerprint information of data to be written corresponding to the serialized data for each piece of serialized data in the common identification block; storing the fingerprint information of the data to be written and the index information corresponding to the data to be written in a local index library; the index information comprises the block height of the serialized data corresponding to the data to be written in the local block chain and the position number of the serialized data in the block. Taking the block structure described in fig. 3 as an example, if the height of the block is height, the index information of the second serialized data in the data set, data 1, is height and 2, and the fingerprint information of data 1 and "height, 2" will be saved to the local index repository all together. Each node in the block chain system stores the index information of the data in the block into a local index library, so that when a user verifies the data, only fingerprint information of the data to be verified needs to be provided, and the use of the user is facilitated. Of course, for any node in the M nodes, after the consensus block satisfying the consensus algorithm rule is added to the local block chain by the consensus algorithm, it can be further determined whether the node is a receiving node of any serialized data in the consensus block, and if so, the index information of the fingerprint information is output to the user. When the user verifies the data, the fingerprint information and the index information of the data to be verified can be provided at the same time, and the data verification efficiency can be improved.
In the block structure provided in the embodiment of the present invention, the block header further includes N root hash values of fingerprint information. The root hash values of the N pieces of fingerprint information are obtained by a merkel merkle tree algorithm, and specifically, after S201, the method further includes: respectively calculating N fingerprint information of N data to be written according to the N serialized data; grouping the N pieces of fingerprint information; calculating the hash value of each group according to a Mercker merkle tree algorithm, and acquiring lower-layer hash values of N pieces of fingerprint information; and continuously grouping the lower-layer hash values, and returning to the step of calculating the hash value of each group until the root hash value is obtained.
Referring to fig. 5, which is a schematic diagram of a feasible merkle tree structure according to an embodiment of the present invention, the fingerprint information in the merkle number shown in fig. 5 includes six of a, b, c, d, e, and f, which are respectively obtained by calculating the serialized data of 6 data to be written and are located at layer 1 (not shown) of the merkle tree. And when the root hash value is calculated, grouping the six fingerprint information pairwise and calculating the hash value of each group to obtain the hash values h, i and g of the layer 2, continuously grouping the h, i and g and repeating the process until the hash value is obtained in the layer 4. In the merkle tree shown in fig. 3, layer 1 further includes two complementary hash values x, because the merkle tree algorithm using the pairwise grouping needs to ensure that the number of fingerprint information in layer 1 is 2 to the Q power to finally obtain a root hash value, Q is a positive integer, when the number of fingerprint information is less than 2 to the Q power, the complementary hash value x needs to be supplemented to the Q power of 2, and as shown in fig. 5, after two complementary hash values x are supplemented, layer 1 reaches 3 times (8) of 2 fingerprint information. In a specific implementation process, the complementary bit hash value x may be any known hash value, for example, x may be nth fingerprint information of the N fingerprint information, or first fingerprint information, or null information in which all bytes are 0, and the like.
Optionally, in order to improve the security of the hash algorithm, in the embodiment of the present invention, when the hash value of each packet in the merkle tree is calculated, the intermediate hash value of the packet is calculated according to the first hash rule; and calculating the hash value of the intermediate hash value as the hash value of the packet according to the second hash rule. Taking the merkle tree shown in fig. 5 as an example, the intermediate hash value h is obtained for the fingerprint information a and the fingerprint information b according to the first hash rule0Calculating an intermediate hash value h according to a second hash rule0The hash value of the fingerprint information a and the hash value h of the fingerprint information b are obtained.
Of course, the hash value calculation method may also be applied to other steps of calculating hash values in the embodiments of the present invention, such as calculating the hash values of fingerprint information and block headers, and the like, which should also be included in the embodiments of the present invention. Taking the calculation of the fingerprint information of the hello as an example, the first hash rule is sha-256, the intermediate hash value 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 is output, the second hash rule is ripemd-160, and the hash operation is continuously performed on the intermediate hash value, so that the fingerprint information b6a9c8c230722b7c748331a8b450f05566dc7d0f of the hello is obtained.
By adopting the hash value calculation method provided by the embodiment of the invention, on one hand, the safety of the hash algorithm can be improved, and on the other hand, the hash value with shorter length can be output by selecting a proper second hash rule.
In the embodiment of the invention, the data set comprises the serialized data of the data to be written, rather than the transaction data in the prior art, the occupation of partial data irrelevant to the data to be written in the transaction data on the storage space of the system is eliminated, and the utilization rate of the storage space of the system is improved. Meanwhile, the data to be written is directly stored in the block chain system by adopting the serialized data of the data to be written, so that the data to be written does not need to be stored by a data writing party or a third party, and the reliability of data storage is improved. Furthermore, during verification, the block chain system can directly provide the serialized data of the data to be written as a verification reference, so that the data storage credibility is improved. Therefore, the embodiment of the invention can improve the credibility and reliability of data storage. Moreover, the prior art utilizes the additional information parameter of the transaction information, so the length of data which can be written by the prior art is limited by the additional information parameter, and the application does not construct a special transaction, so the length of data to be written does not need to be limited. In addition, compared with the existing data writing technology relying on the digital currency blockchain network, the embodiment of the invention can also realize larger service capacity of the blockchain system by adjusting some parameters of the blockchain system, namely the number of data to be written in a unit time, such as increasing the speed of generating a new block, increasing the size of the new block, adopting a hash algorithm of shorter bytes, and the like. Meanwhile, the block chain generation method provided by the embodiment of the invention does not need to pay the transaction fee of the digital currency, and the cost for writing the data to be written in each time can be almost ignored.
By the method provided by the embodiment, the data to be written can be written into the block chain, the storage of the data to be written is realized, and the reliability and the credibility of the data storage are improved. Based on the same technical concept, the embodiment of the invention also provides a data verification method, which can perform data verification on the data written into the block chain in the embodiment. Fig. 6 is a schematic flow chart of a data verification method according to an embodiment of the present invention, as shown in fig. 6, including the following steps:
s601: the verification node acquires fingerprint information of data to be verified, and is any one of the M nodes;
s602: the verification node determines whether each block contains serialized data corresponding to the fingerprint information from the block chain; each tile in the chain of tiles comprises a data set and a tile header; the data set comprises serialized data corresponding to each written data; the block head comprises a block head hash value of a block before the block;
s603: and if the serialized data corresponding to the fingerprint information exists in the block chain, confirming that the data to be verified passes the verification.
The written data is data to be written in the blockchain system according to the above embodiment, and the blockchain system is the same as the blockchain system in the above embodiment.
In S601, any node of the M nodes of the blockchain system may serve as an authentication node to provide data authentication service for the user. The fingerprint information of the data to be verified, which is acquired by the verification node, can be directly provided by the user or can be calculated and acquired according to the data to be verified, which is provided by the user. A better implementation is that the user stores the fingerprint information of the data to be verified, because the data volume of the data to be verified is often large, only providing the fingerprint information can save the network transmission pressure, and the user does not need to store the data to be verified, so that the use is more convenient.
In S602, the verification node may traverse the fingerprint information corresponding to the serialized data included in each block in the block chain, that is, perform hash operation on each serialized data, obtain a hash value, and then compare the hash value with the received fingerprint information of the data to be verified. Of course, this approach is very inefficient in verification. A more efficient implementation mode is that the verification node queries whether the fingerprint information corresponding to the serialized data at a specific position of the block chain is consistent with the fingerprint information of the data to be verified provided by the user through index information, and the index information can be directly provided by the user or obtained by querying an index database. Optionally, the verification node stores a local index library; index information of fingerprint information corresponding to serialized data in each block of the block chain in a local index library; the index information includes the block height of the serialized data in the block chain and the position number of the serialized data in the block. The index information in the index library may be stored in the index library after each new block is added, or may be stored in the index library after batch reading from one or more blocks periodically. In S602 and S603, the verification node may first determine whether there is index information provided by the user. When the user provides the index information, the block chain is directly inquired through the index information. When the user does not provide index information, searching a local index library according to the fingerprint information of the data to be verified, and acquiring index information corresponding to the fingerprint information of the data to be verified; determining the serialized data of the written data corresponding to the index information from the block chain; calculating fingerprint information of the written data according to the serialized data of the written data; and when the fingerprint information of the data to be verified is consistent with the fingerprint information of the written data, determining that serialized data corresponding to the fingerprint information exists in the block chain.
For example, fingerprint information H1 of the data to be verified is obtained, serialized data objA corresponding to the index information (where the height of the chunk is height) is determined from the chunk chain, fingerprint information H2 of the objA is obtained through calculation, when H1 and H2 are consistent, the fingerprint information of the data to be verified exists in the chunk chain, and the data to be verified passes verification. Optionally, the block header of the new block further includes a root hash value of fingerprint information corresponding to each written data; in order to further improve the credibility of the verification, when the fingerprint information of the data to be verified exists in the block chain, the method further comprises the following steps: calculating root hash values of N pieces of fingerprint information corresponding to N pieces of serialized data in a data set; and when the root hash values of the N pieces of fingerprint information are consistent with the root hash value in the block head, confirming that the data to be verified passes the verification. For example, the root hash values H3 of the N pieces of fingerprint information corresponding to the N pieces of serialized data in the data set of the chunk with the chunk height in the index information are further calculated, and when H3 matches the root hash value included in the chunk header of the chunk, it is determined that the data in the chunk is not tampered, and H2 is actually the fingerprint information included in the data set of the chunk. Optionally, in order to further improve the reliability of verification, the hash value of the head of the block with the height of the block H4 may be continuously calculated, and the block with the height of the block H1 in the blockchain is queried, and when the hash value of the previous block in the head of the block with the height of the block H1 is consistent with H4, it is determined that the block with the height of the block H1 is indeed the block in the blockchain, and of course, the block with the height of the block H1 and the blocks after the block may be continuously verified on this basis, so as to improve the reliability of data verification.
By the method provided by the embodiment, the data can be stored and the reliability and the credibility of the data can be improved. The embodiment of the invention also provides a block chain generation method and a data verification method, which can increase the function of determining the right of data to be verified while realizing data storage.
The block chain generating method with the right confirming function provided by the embodiment of the present invention is similar to the block chain generating method described above, and the difference is that for each node of the M nodes, the method includes:
in S201, in addition to acquiring N data to be written, N digital signatures corresponding to the N data to be written are also acquired; the digital signature is generated by a data owner to be written by using a private key, is received by a receiving node along with the data to be written, and is broadcast to each node of the block chain system through the block chain system. Optionally, the receiving node may further receive a digital signature input by a user and public key information corresponding to a private key, and verify whether the digital signature is consistent with the fingerprint information of the data to be written by using the public key, and if so, broadcast the data to be written and the digital signature to each node of the block chain system through the block chain system.
In S203, any node in the M nodes of the blockchain system constructs a new block by using the block data structure shown in fig. 7, where fig. 7 is a schematic diagram of a possible block data structure provided in the embodiment of the present invention, and as shown in fig. 7, the block further includes a signature set including N digital signatures, i.e., signature 1, signature 2, … …, and signature N; the N digital signatures are in one-to-one correspondence with the N serialized data in the data set, and specifically, a pair of digital signature and serialized data which are mutually corresponding are the digital signature and serialized data of the same data to be written. The blocks shown in fig. 7 store the serialized data and the digital signature separately, which can support some lightweight verification nodes (e.g., mobile terminal Applications (APPs)) to selectively download related block contents without signature from the block chain, and determine whether to perform the right confirmation according to actual usage requirements.
After S603, the method further includes: when serialized data corresponding to the fingerprint information exists in the block chain, acquiring a digital signature corresponding to the serialized data from the block chain; acquiring public key information of data to be verified; verifying the digital signature according to the public key information; and when the digital signature passes the verification, confirming that the data to be verified passes the right. Taking the fingerprint information H1 of the data to be verified and the fingerprint information H2 corresponding to the serialized data of the written data corresponding to the index information as an example, when H1 is consistent with H2, the data to be verified is confirmed to be verified. Then, the digital signature a2 corresponding to the serialized data is continuously acquired from the block chain, the digital signature a2 is decrypted by the public key information received together with the fingerprint information of the data to be verified, and when the decryption result of the digital signature a2 is H1, the data to be verified is confirmed to be authorized to pass.
In the above-described authentication process, the authentication process is performed by the authentication node. Of course, the verification node may also directly output signature information corresponding to serialized data of the data to be verified, so that the data verification requester can verify the signature information by itself, and these implementation manners should be included in the embodiment of the present invention.
Optionally, the block header of the new block further includes a serialization identifier corresponding to a preset serialization rule, and after the verification node determines that the data to be verified passes the verification, the method further includes: and deserializing the serialized data according to the serialized identification to obtain the data to be verified. The blockchain system has extremely high safety, and the data stored in the blockchain can hardly be modified. In the specific implementation process, a user can only keep the fingerprint information of the data to be verified, the complicated data to be verified does not need to be stored, and after the verification is passed, the verification node deserializes the serialized data in the block chain, so that the data to be verified can be obtained. Of course, the verification node may also return the serialized identification and the serialized data to the verification requester, and the verification requester performs deserialization by itself to obtain the data to be verified.
Based on the same technical concept, the embodiment of the present invention further provides a block chain link point, which can implement the block chain generation method provided in any of the above embodiments. Fig. 8 is a schematic diagram of a block link point structure according to an embodiment of the present invention, and as shown in fig. 8, a node 800 includes: a transceiving unit 801 and a processing unit 802, wherein:
a transceiving unit 801, configured to acquire N data to be written; n is greater than or equal to 1;
the processing unit 802 is configured to respectively perform serialization processing on the N data to be written according to a preset serialization rule, so as to obtain N serialized data corresponding to the N data to be written respectively;
a processing unit 802, further configured to construct a new block, where the new block includes a data set and a block header; the data set comprises N serialized data; the block head comprises a block head hash value of a previous block in the local block chain; the previous block is the block which is added newly in the longest chain of the local block chain;
the processing unit 802 is further configured to determine, through a consensus algorithm, a consensus block that satisfies a rule of the consensus algorithm from among the new blocks generated by the M nodes and add the consensus block to the local blockchain.
Optionally, the new block further includes a signature set including N digital signatures;
the N digital signatures correspond to the N serialized data one-to-one.
Optionally, the processing unit 802 is further configured to:
acquiring fingerprint information of data to be written corresponding to the serialized data for each piece of serialized data in the common identification block;
storing the fingerprint information of the data to be written and the index information corresponding to the data to be written in a local index library; the index information comprises the block height of the serialized data corresponding to the data to be written in the local block chain and the position number of the serialized data in the block.
Optionally, the block header of the new block further includes N root hash values of N pieces of fingerprint information corresponding to the N pieces of data to be written, respectively.
Optionally, the root hash values of the N pieces of fingerprint information are obtained by a merkel merkle tree algorithm;
the processing unit 802 is further configured to:
respectively calculating N fingerprint information of N data to be written according to the N serialized data;
grouping the N pieces of fingerprint information;
calculating the hash value of each group according to a Mercker merkle tree algorithm, and acquiring lower-layer hash values of N pieces of fingerprint information;
and continuously grouping the lower-layer hash values, and returning to the step of calculating the hash value of each group until the root hash value is obtained.
Optionally, the block header of the new block further includes a serialization identifier corresponding to a preset serialization rule.
Optionally, the transceiver 801 is further configured to: receiving data to be written;
the processing unit 802 is further configured to:
storing data to be written into a data set to be written, and sending a data writing request; the data writing request comprises data to be written; the data writing request is used for storing data to be written into respective data sets to be written by at least other M-1 nodes;
the processing unit 802 is further configured to:
and when the number of the data to be written in the data set to be written reaches a preset number or the time interval from the last new block construction reaches preset time, acquiring N data to be written from the data set to be written.
Optionally, the processing unit 802 is further configured to:
and removing the N data to be written corresponding to the serialized forms of the N data to be written contained in the common identification block from the data set to be written.
Based on the same technical concept, the embodiment of the invention also provides a block link point, and the node can realize the data verification method provided by any embodiment. Fig. 9 is a schematic diagram of a block link point structure according to an embodiment of the present invention, and as shown in fig. 9, a node 900 includes: a transceiver 901 and a processing unit 902, wherein:
a transceiving unit 901, configured to acquire fingerprint information of data to be verified;
a processing unit 902, configured to determine whether each block includes serialized data corresponding to fingerprint information from a block chain; each tile in the chain of tiles comprises a data set and a tile header; the data set comprises serialized data corresponding to each written data; the block head comprises a block head hash value of a block before the block;
the processing unit 902 is further configured to determine that the data to be verified passes verification if serialized data corresponding to the fingerprint information exists in the block chain.
Optionally, the block further includes a signature set including N digital signatures; the N digital signatures correspond to the N serialized data one by one;
the processing unit 902 is further configured to:
when serialized data corresponding to the fingerprint information exists in the block chain, acquiring a digital signature corresponding to the serialized data from the block chain;
acquiring public key information of data to be verified;
verifying the digital signature according to the public key information;
and when the digital signature passes the verification, confirming that the data to be verified passes the right.
Optionally, a storage unit 903 is further included;
the storage unit 903 is used for storing a local index library; the local index library comprises index information of fingerprint information of written data in each block in the block chain; the index information comprises the block height of the serialized data corresponding to the written data in the block chain and the position number of the fingerprint information in the block:
the processing unit 902 is specifically configured to:
searching a local index library according to the fingerprint information of the data to be verified, and acquiring index information corresponding to the fingerprint information of the data to be verified;
determining the serialized data of the written data corresponding to the index information from the block chain;
calculating fingerprint information of the written data according to the serialized data of the written data;
and when the fingerprint information of the data to be verified is consistent with the fingerprint information of the written data, determining that serialized data corresponding to the fingerprint information exists in the block chain.
Optionally, the block header of the new block further includes N root hash values of N pieces of fingerprint information corresponding to the N pieces of data to be written, respectively;
the processing unit 902 is further configured to:
calculating root hash values of N pieces of fingerprint information corresponding to N pieces of serialized data in a data set;
and when the root hash values of the N pieces of fingerprint information are consistent with the root hash value in the block head, confirming that the data to be verified passes the verification.
Optionally, the block header of the new block further includes a serialization identifier corresponding to a preset serialization rule;
the processing unit 902 is further configured to:
and deserializing the serialized data according to the serialized identification to obtain the data to be verified.
Based on the same technical concept, an embodiment of the present invention further provides a blockchain system, which includes any one of the blockchain generation apparatuses described above and any one of the data verification apparatuses described above, and can implement any one of the blockchain generation methods described above and any one of the data verification methods described above.
Optionally, the blockchain system provided in the embodiment of the present invention further includes an endorsement node, where the endorsement node is different from a peer node in the blockchain system, and is used in the blockchain system to: determining an endorsement block from a local block chain of any node according to a set rule; constructing endorsement transaction information, wherein additional information parameters of the endorsement transaction information comprise block head hash values of endorsement blocks; and sending the endorsement transaction information to an endorsement block chain system.
In a specific implementation process, the set rule may select one block as an endorsement block at each time interval according to a timestamp in a block header of each block in the block chain, or may select one block as an endorsement block at intervals of a certain number according to the number of the blocks.
Optionally, the latest previous b blocks in the block chain may not be endorsed blocks, b may be determined according to the actual block chain system condition, and the block chain system with more nodes generally has larger value of b. This is because for a block chain system that is too complex, there is a certain delay problem in the transmission of information in the system, which results in the possibility that the first b blocks are not actually added to the block chain. Taking the blockchain system shown in fig. 1 as an example, in S203, the node 0 constructs a new block meeting the requirement of the difficulty value before receiving the new block broadcast by other nodes, at this time, the node 0 defaults to the new block constructed by itself as a consensus block of the blockchain and broadcasts to the node 4, and the node 4 receives the new block broadcast by the node 0 and stores the new block in the local blockchain as the consensus block. However, in practical situations, the node 2 may be a node where a new block meeting the requirement of the difficulty value is first constructed in the system, and the new block constructed by the node 2 is a common identification block of the block chain, but because the system is too complex, when the node 0 constructs a new block meeting the requirement of the difficulty value, the new block broadcast of the node 2 still does not reach the node 0, and when the node 4 receives the new block broadcast of the node 0, the new block broadcast of the node 2 also reaches the node 4, so that an error occurs in the block chain of the local areas of the node 0 and the node 4. The possibility of excluding the latest first b blocks in the block chain as endorsement blocks can ensure that the selected endorsement blocks are stable and reliable block chain blocks.
Optionally, the endorsement blockchain system may be a bitcoin network, or a large digital currency blockchain system such as an ethernet frame network, and because of the large number of nodes, it is almost impossible to modify the blockchain of the endorsement blockchain system. The block heads of partial blocks in the block chain are written into the endorsement block chain system, so that the credibility of data verification can be improved. Specifically, when the user has a question about the verification result of the endorsement block chain system provided by the embodiment of the present invention, whether the hash value of the block head of the endorsement block stored in the endorsement block chain system is consistent with the hash value of the block head of the endorsement block in the block chain may be queried, if not, it is determined that the block chain is in error, and if so, it is determined that the verification result is trusted. It should be understood that even if a block chain is in error, the data verification of the block chain system provided by the embodiment of the present invention does not completely lose credibility, and the verification result for confirming the existence of the data to be verified is still credible, while the verification result for confirming the absence of the data to be verified is less feasible.
By adding the endorsement node in the block chain system, the problem that the block chain is easy to attack due to insufficient height can be avoided, and the credibility of data verification is further improved.
Based on the same technical concept, the embodiment of the present invention further provides a computing device, which may be specifically a desktop computer, a portable computer, a smart phone, a tablet computer, a Personal Digital Assistant (PDA), and the like. As shown in fig. 10, a schematic structural diagram of a computing device according to an embodiment of the present invention is provided, where the computing device may include a Central Processing Unit (CPU) 1001, a memory 1002, an input device 1003, an output device 1004, and the like, the input device 1003 may include a keyboard, a mouse, a touch screen, and the like, and the output device 1004 may include a Display device such as a Liquid Crystal Display (LCD), a Cathode Ray Tube (CRT), and the like.
Memory 1002 may include Read Only Memory (ROM) and Random Access Memory (RAM), and provides the processor with program instructions and data stored in the memory. In this embodiment of the present invention, the memory may be configured to store a program of the blockchain generation method provided in this embodiment of the present invention, and the processor executes any one of the blockchain generation methods according to the obtained program instruction by calling the program instruction stored in the memory.
Based on the same technical concept, embodiments of the present invention further provide a computer-readable storage medium for storing computer program instructions for the above computing device, which includes a program for executing the blockchain generation method described in any one of the above.
The computer storage media may be any available media or data storage device that can be accessed by a computer, including, but not limited to, magnetic memory (e.g., floppy disks, hard disks, magnetic tape, magneto-optical disks (MOs), etc.), optical memory (e.g., CDs, DVDs, BDs, HVDs, etc.), and semiconductor memory (e.g., ROMs, EPROMs, EEPROMs, non-volatile memory (NAND FLASH), Solid State Disks (SSDs)), etc.
Based on the same technical concept, the embodiment of the present invention further provides a computing device, which may be specifically a desktop computer, a portable computer, a smart phone, a tablet computer, a Personal Digital Assistant (PDA), and the like. As shown in fig. 11, a schematic structural diagram of a computing device according to an embodiment of the present invention is provided, where the computing device may include a central Processing Unit 1101 (CPU), a memory 1102, an input device 1103, an output device 1104, and the like, the input device 1103 may include a keyboard, a mouse, a touch screen, and the like, and the output device 1104 may include a Display device such as a Liquid Crystal Display (LCD), a Cathode Ray Tube (CRT), and the like.
Memory 1102 may include Read Only Memory (ROM) and Random Access Memory (RAM), and provides the processor with program instructions and data stored in the memory. In this embodiment of the present invention, the memory may be configured to store a program of the data verification method provided in this embodiment of the present invention, and the processor executes any one of the data verification methods described above according to the obtained program instruction by calling the program instruction stored in the memory.
Based on the same technical concept, the embodiment of the present invention further provides a computer-readable storage medium for storing computer program instructions for the above-mentioned computing device, which includes a program for executing the data verification method described in any one of the above-mentioned items.
The computer storage media may be any available media or data storage device that can be accessed by a computer, including, but not limited to, magnetic memory (e.g., floppy disks, hard disks, magnetic tape, magneto-optical disks (MOs), etc.), optical memory (e.g., CDs, DVDs, BDs, HVDs, etc.), and semiconductor memory (e.g., ROMs, EPROMs, EEPROMs, non-volatile memory (NAND FLASH), Solid State Disks (SSDs)), etc.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.

Claims (25)

1. A method for generating a blockchain, applied to a blockchain system comprising M nodes, wherein M is greater than or equal to 3, the method comprising, for each of the M nodes:
acquiring N data to be written; n is greater than or equal to 1;
respectively serializing the N data to be written according to a preset serialization rule to obtain N serialized data corresponding to the N data to be written;
constructing a new block, the new block comprising a data set and a block header; the data set comprises the N serialized data; the block head comprises a block head hash value of a previous block in a local block chain of the node; the previous block is a block which is added newly in the longest chain of the local block chain; the block header of the new block also comprises a serialization identification corresponding to the preset serialization rule;
determining, by a consensus algorithm, consensus blocks satisfying the consensus algorithm rule from among the new blocks generated by the M nodes and adding the consensus blocks to the local block chain;
acquiring fingerprint information of data to be written corresponding to the serialized data for each piece of serialized data in the common identification block;
storing the fingerprint information of the data to be written and the index information corresponding to the data to be written in a local index library; the index information comprises the block height of the serialized data corresponding to the data to be written in the local block chain and the position number of the serialized data in the block.
2. The method of claim 1, wherein the new block further comprises a signature set comprising N digital signatures;
the N digital signatures correspond to the N serialized data one to one.
3. The method according to claim 1, wherein a block header of the new block further includes root hash values of N pieces of fingerprint information corresponding to the N pieces of data to be written, respectively.
4. The method according to claim 3, wherein the root hash values of the N pieces of fingerprint information are obtained by a Merkle Tree algorithm;
the method further comprises the following steps:
respectively calculating N fingerprint information of the N data to be written according to the N serialized data;
grouping the N pieces of fingerprint information;
calculating the hash value of each group according to the Merkle Tree algorithm, and acquiring the lower-layer hash values of the N pieces of fingerprint information;
and continuously grouping the lower layer hash values, and returning to the step of calculating the hash value of each group until the root hash value is obtained.
5. The method of claim 1, wherein before obtaining N data to be written for each of the M nodes, further comprising:
for any data to be written, a receiving node receives the data to be written, wherein the receiving node is any node in the M nodes;
the receiving node stores the data to be written into a data set to be written of the receiving node and sends data writing requests to other M-1 nodes; the data writing request comprises the data to be written; the data writing request is used for indicating any one of the other M-1 nodes to store the data to be written into respective data sets to be written;
and for any node in the M nodes, when the number of the data to be written in the data set to be written in the node reaches a preset number or a preset time is reached from a time interval of last new block construction, acquiring N data to be written in the data set to be written in the node.
6. The method of claim 5, wherein after determining, by a consensus algorithm, from among the new blocks generated by the M nodes, that a consensus block that satisfies the consensus algorithm rule is added to the local block chain, further comprising:
and for any node in the M nodes, removing the N data to be written corresponding to the serialized forms of the N data to be written contained in the common identification block from the data set to be written of the node.
7. A data verification method is applied to a block chain system comprising M nodes, wherein M is greater than or equal to 3, and the method comprises the following steps:
a verification node acquires fingerprint information of data to be verified, wherein the verification node is any one of the M nodes; the verification node stores a local index library; the local index library comprises index information of fingerprint information of written data in each block in a block chain; the index information comprises the block height of the serialized data corresponding to the written data in the block chain and the position number of the fingerprint information in the block; each tile in the chain of tiles comprises a data set and a tile header; the data set comprises N serialized data corresponding to N written data respectively; the block head comprises a block head hash value of a block before the block; the block head of the block also comprises a serialization identification corresponding to a preset serialization rule;
searching the local index library according to the fingerprint information of the data to be verified, and acquiring index information corresponding to the fingerprint information of the data to be verified;
determining serialized data of written data corresponding to the index information from the block chain; calculating fingerprint information of the written data according to the serialized data of the written data;
when the fingerprint information of the data to be verified is consistent with the fingerprint information of the written data, determining that serialized data corresponding to the fingerprint information exists in the block chain;
and if the serialized data corresponding to the fingerprint information exists in the block chain, confirming that the data to be verified passes the verification.
8. The method of claim 7, wherein the block further comprises a signature set comprising N digital signatures; the N digital signatures correspond to the N serialized data one to one;
the method further comprises the following steps:
when serialized data corresponding to the fingerprint information exists in the block chain, acquiring a digital signature corresponding to the serialized data from the block chain;
acquiring public key information of the data to be verified;
verifying the digital signature according to the public key information;
and when the digital signature passes the verification, confirming that the data to be verified passes the right.
9. The method according to claim 7, wherein a block header of the block further includes root hash values of N pieces of fingerprint information corresponding to the N pieces of written data, respectively;
if serialized data corresponding to the fingerprint information exists in the block chain, after the verification of the data to be verified is confirmed to pass, the method further comprises the following steps:
calculating root hash values of N pieces of fingerprint information corresponding to N pieces of serialized data in the data set;
and when the root hash values of the N pieces of fingerprint information are consistent with the root hash value in the block head, confirming that the data to be verified passes the verification.
10. The method of claim 7, wherein after confirming that the data to be verified is verified, further comprising:
and deserializing the serialized data according to the serialized identification to obtain the data to be verified.
11. A blockchain node for use in a blockchain system including M nodes, M being greater than or equal to 3, comprising:
the receiving and sending unit is used for acquiring N data to be written; n is greater than or equal to 1;
the processing unit is used for respectively carrying out serialization processing on the N data to be written according to a preset serialization rule to obtain N serialized data corresponding to the N data to be written;
the processing unit is further configured to construct a new block, where the new block includes a data set and a block header; the data set comprises the N serialized data; the block head comprises a block head hash value of a previous block in the local block chain; the previous block is a block which is added newly in the longest chain of the local block chain; the block header of the new block also comprises a serialization identification corresponding to the preset serialization rule;
the processing unit is further configured to determine, through a consensus algorithm, a consensus block that satisfies the consensus algorithm rule from among the new blocks generated by the M nodes and add the consensus block to the local block chain;
the processing unit is further configured to:
acquiring fingerprint information of data to be written corresponding to the serialized data for each piece of serialized data in the common identification block;
storing the fingerprint information of the data to be written and the index information corresponding to the data to be written in a local index library; the index information comprises the block height of the serialized data corresponding to the data to be written in the local block chain and the position number of the serialized data in the block.
12. The node of claim 11, wherein the new block further comprises a signature set comprising N digital signatures;
the N digital signatures correspond to the N serialized data one to one.
13. The node according to claim 11, wherein the block header of the new block further includes root hash values of N pieces of fingerprint information corresponding to the N pieces of data to be written, respectively.
14. The node according to claim 13, wherein the root hash values of the N pieces of fingerprint information are obtained by Merkle Tree algorithm;
the processing unit is further to:
respectively calculating N fingerprint information of the N data to be written according to the N serialized data;
grouping the N pieces of fingerprint information;
calculating the hash value of each group according to the Merkle Tree algorithm, and acquiring the lower-layer hash values of the N pieces of fingerprint information;
and continuously grouping the lower layer hash values, and returning to the step of calculating the hash value of each group until the root hash value is obtained.
15. The node of claim 11, wherein the transceiver unit is further configured to: receiving the data to be written; the processing unit is further to:
storing the data to be written into a data set to be written, and sending a data writing request; the data writing request comprises the data to be written; the data writing request is used for indicating other M-1 nodes to store the data to be written into respective data sets to be written;
the processing unit is further to:
and when the number of the data to be written in the data set to be written reaches a preset number or the time interval from the last new block construction reaches preset time, acquiring N data to be written from the data set to be written.
16. The node of claim 15, wherein the processing unit is further to:
and removing the N data to be written corresponding to the serialized forms of the N data to be written contained in the common identification block from the data set to be written.
17. A blockchain node for use in a blockchain system including M nodes, M being greater than or equal to 3, comprising:
the receiving and sending unit is used for acquiring fingerprint information of data to be verified;
the storage unit is used for storing a local index library; the local index library comprises index information of fingerprint information of written data in each block in a block chain; the index information comprises the block height of the serialized data corresponding to the written data in the block chain and the position number of the fingerprint information in the block; each tile in the chain of tiles comprises a data set and a tile header; the data set comprises N serialized data corresponding to N written data respectively; the block head comprises a block head hash value of a block before the block; the block head of the block also comprises a serialization identification corresponding to a preset serialization rule;
the processing unit is used for searching the local index database according to the fingerprint information of the data to be verified and acquiring index information corresponding to the fingerprint information of the data to be verified; determining serialized data of written data corresponding to the index information from the block chain; calculating fingerprint information of the written data according to the serialized data of the written data; when the fingerprint information of the data to be verified is consistent with the fingerprint information of the written data, determining that serialized data corresponding to the fingerprint information exists in the block chain; each tile in the chain of tiles comprises a data set and a tile header; and if the serialized data corresponding to the fingerprint information exists in the block chain, confirming that the data to be verified passes the verification.
18. The node of claim 17, wherein the block further comprises a signature set comprising N digital signatures; the N digital signatures correspond to the N serialized data one to one;
the processing unit is further to:
when serialized data corresponding to the fingerprint information exists in the block chain, acquiring a digital signature corresponding to the serialized data from the block chain;
acquiring public key information of the data to be verified;
verifying the digital signature according to the public key information;
and when the digital signature passes the verification, confirming that the data to be verified passes the right.
19. The node of claim 17, wherein a block header of the block further includes root hash values of N pieces of fingerprint information corresponding to the N pieces of written data, respectively;
the processing unit is further to:
calculating root hash values of N pieces of fingerprint information corresponding to N pieces of serialized data in the data set;
and when the root hash values of the N pieces of fingerprint information are consistent with the root hash value in the block head, confirming that the data to be verified passes the verification.
20. The node of claim 17, wherein the processing unit is further to:
and deserializing the serialized data according to the serialized identification to obtain the data to be verified.
21. A computer-readable storage medium having stored thereon computer-executable instructions for causing a computer to perform the method of block chain generation of any one of claims 1 to 6.
22. A computing device, comprising:
a memory for storing program instructions;
a processor for calling program instructions stored in said memory and executing the blockchain generation method of any one of claims 1 to 6 in accordance with the obtained program.
23. A computer-readable storage medium storing computer-executable instructions for causing a computer to perform the data validation method of any of claims 7 to 10.
24. A computing device, comprising:
a memory for storing program instructions;
a processor for calling program instructions stored in said memory to perform the data verification method of any of claims 7 to 10 in accordance with the obtained program.
25. A blockchain system comprising M nodes, M being equal to or greater than 3, comprising a blockchain node according to any one of claims 11 to 16 and a blockchain node according to any one of claims 17 to 20.
CN201710842472.5A 2017-09-18 2017-09-18 Block chain generation method, data verification method, node and system Active CN107657438B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710842472.5A CN107657438B (en) 2017-09-18 2017-09-18 Block chain generation method, data verification method, node and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710842472.5A CN107657438B (en) 2017-09-18 2017-09-18 Block chain generation method, data verification method, node and system

Publications (2)

Publication Number Publication Date
CN107657438A CN107657438A (en) 2018-02-02
CN107657438B true CN107657438B (en) 2020-12-04

Family

ID=61130392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710842472.5A Active CN107657438B (en) 2017-09-18 2017-09-18 Block chain generation method, data verification method, node and system

Country Status (1)

Country Link
CN (1) CN107657438B (en)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110119947B (en) * 2018-02-07 2021-08-10 上海策赢网络科技有限公司 Method and apparatus for shared workload proof computing power generation of symbiotic blockchains
CN108509514A (en) * 2018-03-09 2018-09-07 史玉成 A kind of big data analysis method and system based on block chain
CN108416593B (en) * 2018-03-20 2021-02-12 杨鉴 Block chain consensus method and system based on network dispersity certification
CN108628942B (en) * 2018-03-27 2020-07-31 深圳市网心科技有限公司 Block chain node equipment and data reading and writing method of distributed database
CN108616574B (en) * 2018-03-30 2020-06-16 华为技术有限公司 Management data storage method, device and storage medium
CN108521414A (en) * 2018-03-30 2018-09-11 深圳市优课在线教育有限公司 A method of realizing application on site platform process behavioral data mutual trust
CN108595538B (en) * 2018-04-04 2020-05-01 中国地质大学(武汉) Key value data organization method and system based on block chain
CN108550038A (en) * 2018-04-18 2018-09-18 杭州秘猿科技有限公司 A kind of data dissemination system and method applied to block chain
CN108667614B (en) * 2018-04-19 2021-02-02 上海分布信息科技有限公司 Byzantine fault-tolerant method and implementation system thereof
CN108629205A (en) * 2018-04-27 2018-10-09 中国联合网络通信集团有限公司 The monitoring and managing method and device of drug quality detection data
CN110401715B (en) * 2018-04-27 2021-03-19 腾讯科技(深圳)有限公司 Resource collection task management method, device, storage medium and system
CN108664623A (en) * 2018-05-14 2018-10-16 中钞信用卡产业发展有限公司杭州区块链技术研究院 A kind of date storage method, device, equipment and medium
CN108830712A (en) * 2018-05-17 2018-11-16 易链科技(深圳)有限公司 Method, apparatus, equipment and the medium that block generates
CN108960837A (en) * 2018-06-05 2018-12-07 上海和数软件有限公司 Block chain common recognition verification method, device and computer readable storage medium
CN108920966A (en) * 2018-06-25 2018-11-30 北京奇虎科技有限公司 A kind of block chain deposits card, evidence collecting method and device
CN108924114B (en) * 2018-06-25 2021-11-19 北京奇虎科技有限公司 Method and device for anchoring data on link
CN113537984A (en) 2018-06-26 2021-10-22 创新先进技术有限公司 Content verification method and device based on block chain and electronic equipment
CN109033214A (en) * 2018-06-28 2018-12-18 威马智慧出行科技(上海)有限公司 The data management system and method for shared car data
CN112491551B (en) * 2018-06-29 2023-01-20 创新先进技术有限公司 Data verification method and device based on block chain and electronic equipment
CN108876378B (en) * 2018-07-11 2022-04-19 北京国泰网信科技有限公司 Public link data encryption backup method
CN109063493B (en) * 2018-07-11 2021-10-29 西康软件股份有限公司 Decentralized high-performance synchronization method
CN109067849B (en) * 2018-07-11 2021-11-16 西康软件股份有限公司 Block-based data synchronization method
CN108694669A (en) * 2018-07-18 2018-10-23 矩阵元技术(深圳)有限公司 A kind of block chain intelligence contract implementation method and device
CN110738472B (en) * 2018-07-20 2023-10-03 北京航空航天大学 Block chain storage method and node of block chain
CN108959642A (en) * 2018-07-27 2018-12-07 百度在线网络技术(北京)有限公司 Method and apparatus for information to be written
CN108924252B (en) * 2018-07-31 2021-06-04 泰链(厦门)科技有限公司 Method, medium, and blockchain system for reducing storage load of nodes in blockchain system
CN109189853B (en) * 2018-08-08 2021-05-28 众安信息技术服务有限公司 Method and device for synchronizing data between block chains
CN109309723B (en) * 2018-08-18 2021-05-04 上海分布信息科技有限公司 Consensus node changing method and realization system thereof
CN109214823A (en) * 2018-08-27 2019-01-15 北京京东金融科技控股有限公司 Transaction verification method, device, storage medium and electronic equipment based on block chain
CN110868308B (en) * 2018-08-28 2022-04-01 傲为有限公司 Block chain network access method and system
CN109299335A (en) * 2018-08-31 2019-02-01 阿里巴巴集团控股有限公司 Control method, device, server and the readable storage medium storing program for executing of data storage
CN109191126B (en) * 2018-09-10 2021-02-02 南京荣链科技有限公司 Cash cross-bank transfer method based on block chain, terminal and medium
CN109547407B (en) * 2018-10-16 2024-01-12 国际商业机器公司 Whole-process tracking method for environment monitoring data and block chain link points
CN109409889B (en) * 2018-11-13 2021-11-12 杭州秘猿科技有限公司 Block determining method and device in block chain and electronic equipment
CN109634959B (en) * 2018-11-30 2020-12-25 北京瑞卓喜投科技发展有限公司 Block indexing method and block indexing device
CN109766723A (en) * 2018-12-11 2019-05-17 烨链(上海)科技有限公司 A kind of block chain data framework, regulatory framework, monitoring and managing method and computer readable storage medium
CN109753823B (en) * 2018-12-11 2021-11-02 烨链(上海)科技有限公司 Block chain data supervision method, system and computer storage medium
CN109802993B (en) * 2018-12-13 2021-06-04 深圳市链联科技有限公司 Alliance chain building method based on supply chain ecology
CN109508905A (en) * 2018-12-18 2019-03-22 深圳壹账通智能科技有限公司 Drug monitoring and managing method and device, storage medium and server based on block chain
CN109766727B (en) * 2018-12-25 2021-04-06 苏州朗润创新知识产权运营有限公司 Intelligent block network construction method and system
CN109740317A (en) * 2018-12-29 2019-05-10 北京奇虎科技有限公司 A kind of digital finger-print based on block chain deposits card method and device
CN110868286B (en) * 2018-12-29 2023-05-12 北京版全家科技发展有限公司 Method for generating random number based on blockchain intelligent contract
CN109886045B (en) * 2019-02-15 2020-11-03 北京工业大学 Intellectual property data protection, transaction and right-maintaining method and device based on block chain
CN110097361B (en) * 2019-04-01 2023-04-07 南京思利华信息科技有限公司 Block chain dynamic calculation force consensus method based on X11 algorithm and computer system
CN112487492B (en) * 2019-04-04 2023-11-17 创新先进技术有限公司 Data verification method, system and equipment
US11055277B2 (en) 2019-04-04 2021-07-06 Advanced New Technologies Co., Ltd. Integrity verification method, apparatus, and system and device for data in a blockchain-type ledger
US10917231B2 (en) 2019-04-04 2021-02-09 Advanced New Technologies Co., Ltd. Data storage method, apparatus, system and device
CN110191156B (en) * 2019-05-08 2021-11-09 深圳前海微众银行股份有限公司 Data processing method and device based on block chain
US11949691B2 (en) * 2019-05-24 2024-04-02 International Business Machines Corporation Malicious peer identification
CN110347744B (en) * 2019-06-03 2020-07-24 阿里巴巴集团控股有限公司 Data storage method, device and equipment for multilayer block chain type account book
US10949118B2 (en) 2019-06-03 2021-03-16 Advanced New Technologies Co., Ltd. Data storage method, apparatus, and device for multi-layer blockchain-type ledger
CN110503558B (en) * 2019-08-29 2023-10-03 深圳前海微众银行股份有限公司 Processing method and device based on block chain system
CN110598190B (en) * 2019-09-06 2024-03-08 湖南天河国云科技有限公司 Method for determining right of text data on chain based on block chain
CN110889729B (en) * 2019-11-29 2024-03-26 腾讯科技(深圳)有限公司 Data verification method and device based on blockchain network
CN110989934B (en) * 2019-12-05 2023-08-25 达闼机器人股份有限公司 Block chain link point data storage method, block chain system and block chain node
CN111327676B (en) * 2020-01-20 2023-11-28 腾讯科技(深圳)有限公司 Block data processing method and device
CN111464518B (en) * 2020-03-25 2022-08-05 北京新创智链科技有限公司 Method and device for sending and verifying cross-link communication data
CN111523887B (en) * 2020-04-15 2023-05-02 杭州溪塔科技有限公司 Authority control method and device for intelligent contract read-only method and electronic equipment
CN112100171B (en) * 2020-08-12 2021-06-25 北京大学 Method and device for establishing content index for random consensus diagram book
CN112116360A (en) * 2020-08-14 2020-12-22 宇龙计算机通信科技(深圳)有限公司 Shoe anti-counterfeiting method and device, storage medium and electronic equipment
CN112035475B (en) * 2020-08-28 2023-06-02 平安科技(深圳)有限公司 Block storage method, device, node equipment and storage medium of block chain
CN112348518B (en) * 2020-10-15 2022-09-16 深圳前海微众银行股份有限公司 Block chain transaction certification method and device
US11652636B2 (en) * 2020-11-03 2023-05-16 Cognizant Technology Solutions India Pvt. Ltd. System and method for securing and authenticating serialized data associated with a product
CN112199729B (en) * 2020-11-11 2023-09-12 山西特信环宇信息技术有限公司 Cone blockchain verification method and system
CN112351117A (en) * 2020-11-25 2021-02-09 北京邮电大学 Domain name management method and device, electronic equipment and storage medium
CN112910845A (en) * 2021-01-15 2021-06-04 迅鳐成都科技有限公司 Block chain-based digital identity generation method, equipment and storage medium
CN112866242B (en) * 2021-01-15 2023-03-14 迅鳐成都科技有限公司 Block chain-based digital identity authentication method, equipment and storage medium
CN113037496B (en) * 2021-03-15 2022-11-04 承德石油高等专科学校 Video acquisition device and method based on block chain technology
CN113282966A (en) * 2021-06-07 2021-08-20 中国电子科技集团公司第三十研究所 Data right confirming method based on block chain
CN114449197A (en) * 2021-12-30 2022-05-06 厦门市美亚柏科信息股份有限公司 Electronic evidence storage and presentation method and system
CN115297118B (en) * 2022-10-09 2023-01-31 北京航空航天大学杭州创新研究院 Data sharing method and data sharing system based on block chain
CN117254975A (en) * 2023-11-14 2023-12-19 深圳市嘉合劲威电子科技有限公司 Block chain-based data anti-counterfeiting method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105790954A (en) * 2016-03-02 2016-07-20 布比(北京)网络技术有限公司 Method and system for constructing electronic evidence
CN106548091A (en) * 2016-10-14 2017-03-29 北京爱接力科技发展有限公司 A kind of data deposit card, the method and device of checking
US9679276B1 (en) * 2016-01-26 2017-06-13 Stampery, Inc. Systems and methods for using a block chain to certify the existence, integrity, and/or ownership of a file or communication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9679276B1 (en) * 2016-01-26 2017-06-13 Stampery, Inc. Systems and methods for using a block chain to certify the existence, integrity, and/or ownership of a file or communication
CN105790954A (en) * 2016-03-02 2016-07-20 布比(北京)网络技术有限公司 Method and system for constructing electronic evidence
CN106548091A (en) * 2016-10-14 2017-03-29 北京爱接力科技发展有限公司 A kind of data deposit card, the method and device of checking

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
区块链技术发展现状与展望;袁勇等;《自动化学报》;20160430;第42卷(第4期);正文489页 *

Also Published As

Publication number Publication date
CN107657438A (en) 2018-02-02

Similar Documents

Publication Publication Date Title
CN107657438B (en) Block chain generation method, data verification method, node and system
CN107807951B (en) Block chain generation method, data verification method, node and system
US11270308B2 (en) Shared blockchain data storage
EP4120114A1 (en) Data processing method and apparatus, smart device and storage medium
US10892898B2 (en) Shared blockchain data storage
US10581613B2 (en) Cryptographically verifiable data structure having multi-hop forward and backwards links and associated systems and methods
EP3669281B1 (en) Shared blockchain data storage
US11228439B2 (en) Scale out blockchain with asynchronized consensus zones
CN110912707B (en) Block chain-based digital certificate processing method, device, equipment and storage medium
Shu et al. Blockchain-based decentralized public auditing for cloud storage
CN110263579B (en) Data processing method, system and related equipment
CN111656386B (en) Managing transaction requests in ledger system
CN111143378A (en) Method for processing data and device for implementing same
US11108545B2 (en) Creating a blockchain account and verifying blockchain transactions
CN112163854B (en) Hierarchical public key searchable encryption method and system based on block chain
CN110781140B (en) Method, device, computer equipment and storage medium for signing data in blockchain
CN111314066B (en) Block chain-based data transfer method, terminal and computer-readable storage medium
CN111630545B (en) Managing transaction requests in ledger system
US20220217004A1 (en) Systems and methods for non-parallelised mining on a proof-of-work blockchain network
CN110910110A (en) Data processing method and device and computer storage medium
US10979233B2 (en) Monitoring time certificate generation requests
Yin et al. EBSF: Node Characteristics-Based Block Allocation Plans for Efficient Blockchain Storage
CN111259452A (en) Data management method based on block chain and related device
CN111630549B (en) Managing transaction requests in ledger system
JP2019057827A (en) Distributed authentication system and program

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