Data verification method and device for blockchain network
Glossary
Term definitionBlockchain networkA distributed database that uses cryptography to maintain and verify transaction records. BlockThe basic unit of blockchain, containing multiple transaction records and block header information. Block heightThe position of a block in the blockchain, starting from 1 and increasing. Full blockchainA complete blockchain containing all blocks in the blockchain network. Blockchain nodeA computer or device that participates in the blockchain network and maintains a copy of the blockchain. Full nodeA blockchain node that stores the full blockchain and participates in block verification and consensus. Lightweight node (SPV node)A blockchain node that only stores block header information and relies on full nodes to verify transactions. Block ledgerA locally stored copy or partial copy of the blockchain maintained by a blockchain node. Business dataAny type of data stored and verified in a blockchain network, such as transaction records, electronic bills, etc. Target business dataSpecific business data that needs to be verified. Hash valueConverts data of any length into a string of fixed length using a hash algorithm. Merkle root valueThe hash value of the Merkle root node, used to verify the integrity of all transaction data in the block. The block header contains the blockchain part of the block metadata, such as block height, timestamp, hash value of the previous block, etc. The block header hash value is the hash value obtained by hashing the block header information. The previous block header hash value is the block header hash value of the previous block, which is used to connect the blockchain. The filter block filters the unrelated business data in the blocks on the full blockchain and retains the hash value corresponding to the unrelated business data. Unrelated business data refers to business data that has no business relationship with the first blockchain node. The original block is determined as a block associated with the first blockchain node after traversing all blocks on the full blockchain. Node permissions limit the range of data that the first blockchain node can access and operate on the blockchain. Associated business data is business data that has a business relationship with the first blockchain node.
Short answer questions
Please explain what the full blockchain and block ledger are, and explain the difference between them.
Please briefly describe the difference between lightweight nodes and full nodes, and why lightweight nodes need to rely on full nodes.
Please explain what a hash value is and its role in blockchain data verification.
Please describe how the Merkle tree root value is calculated and how it is used to verify the integrity of block data.
Please explain what a block header hash value and a previous block header hash value are and how they ensure the security of the blockchain.
Please briefly describe the concept of filter blocks and its purpose, and explain how it is generated.
Please list and explain three different ways for full nodes to traverse the blockchain.
Please explain what node permissions are and their role in data verification.
Please take the electronic evidence storage scenario as an example to explain how the present invention is applied to data verification.
Please take the electronic bill scenario as an example to explain how the present invention is applied to data verification.
Answers to short-answer questions
A full blockchain refers to a complete blockchain containing all blocks in a blockchain network, while a block ledger is a locally stored copy or partial copy of the blockchain maintained by a blockchain node. The difference between them is that a full blockchain is complete, while a block ledger can be partial; there is only one full blockchain, while there can be multiple block ledgers.
Lightweight nodes only store block header information, while full nodes store complete blockchain data. Lightweight nodes need to rely on full nodes to verify transactions because they do not have complete blockchain data.
Hash values are converted into fixed-length strings of data of arbitrary length through hashing algorithms. In blockchain data verification, hash values are used to verify the integrity of data and ensure that the data has not been tampered with.
The Merkle root value is obtained by hashing all transaction data in the block in pairs, and then hashing the results again in pairs until a final hash value is obtained. This final hash value is the Merkle root value. The Merkle root value can be used to verify the integrity of block data because any change to transaction data will change the Merkle root value.
The block header hash value is the hash value obtained by hashing the block header information. The previous block header hash value is the block header hash value of the previous block. The block header hash value and the previous block header hash value are used together to ensure the security of the blockchain because any change to the block will change the block header hash value, thereby invalidating the link to the block and subsequent blocks.
The filter block is a block copy created to protect data privacy. It only contains business data related to a specific node. Other business data will be filtered out, but its hash value will be retained. Its generation process is: the full node will filter out the business data that does not belong to the node from the original block according to the node authority of the requesting node, but retain its hash value, thereby generating a filter block.
Three different ways for full nodes to traverse the blockchain: 1. Traverse according to the block height threshold; 2. Traverse according to the target address; 3. Traverse according to the target hash value.
Node permissions limit the range of data that blockchain nodes can access and operate. In data verification, node permissions are used to determine which data needs to be sent to a specific node to protect the privacy of the data.
In the electronic evidence storage scenario, the second blockchain node (such as the appellant user) can upload the evidence data to the chain and send the block height where it is located to the first blockchain node (such as the court). The first blockchain node can obtain the block from the full blockchain through the block height and verify the authenticity of the evidence data.
In the electronic invoice scenario, the full node can send the filter block containing the invoice data related to the first blockchain node (such as an enterprise) to the node. The first blockchain node can verify the authenticity of these invoice data offline, even when the network is disconnected.
Discussion question
Compared with the existing technology, what improvements does the present invention have in data verification efficiency and accuracy?
Please elaborate on the generation process of the filter block and analyze its impact on data privacy and verification efficiency.
Please explore the advantages and limitations of the present invention in different application scenarios, such as supply chain management, medical data sharing, etc.
With the continuous development of blockchain technology, what are the possible improvement directions of the present invention in the future?
Based on actual cases, please analyze the significance of the present invention in promoting the application of blockchain technology?