Method for recording data blocks in a blockchain network
Short answer questions
Describe the problems of accounting consensus and witnessing in traditional blockchain networks.
What improvements does the blockchain network architecture proposed in the disclosed embodiment have compared with traditional blockchain networks?
Explain the role of proxy nodes in the architecture.
How does the accounting node use the key to sign the data block?
How does the business node verify the signature generated by the accounting node?
Explain the role of the Merkle tree root in the content verification of the data block.
Why is the data block divided into block header and block body in the disclosed embodiment?
Describe the three types of block packaging requirements.
Explain how to select accounting nodes based on processing load and distance?
What role does the arbitration server play in the architecture?
Short answer questions
In traditional blockchain networks, accounting consensus and witnessing are monopolized by super nodes, and users outside the network cannot participate. This leads to a decrease in the credibility and fairness of the blockchain network, and stakeholders can only trust the super nodes unconditionally.
The disclosed embodiment separates the accounting node subnetwork and the business node subnetwork to form a two-layer consensus network with accounting and witnessing separation. The accounting node is responsible for accounting, and the business node is responsible for witnessing, which improves the credibility and fairness of the blockchain network.
The proxy node is a bridge connecting the accounting node subnetwork and the business node subnetwork. It is responsible for forwarding the transaction information to be uploaded to the business node to the accounting node, and passing the signature and block header information generated by the accounting node to the business node.
The accounting node first uses a summary algorithm (such as calculating the Merkle tree root) to generate a summary of the transaction information in the data block, and then encrypts the summary using a specific key assigned by the authentication center to generate a signature.
The business node obtains the public key of the accounting node from the authentication center and uses it to decrypt the signature to obtain the transaction information summary. At the same time, the business node recalculates the summary based on the received transaction information or summary using the same summary algorithm as the accounting node. If the two summaries are consistent, the signature verification is successful.
The Merkle tree root is a compressed representation of all transaction information in the data block. By comparing the Merkle tree root, the business node can verify the integrity of the data block content without obtaining all transaction information, thereby protecting the privacy of transaction information.
Dividing the data block into a block header and a block body can improve efficiency and security. The block body stores transaction information, and the block header stores auxiliary information such as summary and signature, which is convenient for business nodes to verify and also convenient for blockchain links.
Block packaging requirements include: the total size of the transaction information to be chained in the cache reaches the predetermined size threshold; the total number of transaction information to be chained in the cache reaches the predetermined number threshold; the cache time of the earliest cached transaction information to be chained in the cache reaches the predetermined time threshold from the current time.
The proxy node collects the processing load and distance information of the accounting node, and calculates the first score and the second score of each accounting node respectively. Then the weighted sum is calculated according to the preset weight, and the accounting node with the largest weighted sum or exceeding the predetermined threshold is selected to receive the transaction information to be chained.
The arbitration server is responsible for processing the signature verification results and content verification results submitted by the business node. If the accounting node is found to be malicious, the arbitration server can issue a stop operation instruction and add a data block to the blockchain to indicate the malicious behavior and invalid data block.
Discussion Question
Discuss in detail the advantages of the disclosed embodiment compared with the traditional blockchain network in terms of security, credibility and supervision.
Analyze the impact of different network topologies (such as P2P network and broadcast network) adopted by the accounting node subnetwork and the business node subnetwork on system performance and security.
Discuss what strategies can be used to optimize the propagation efficiency of block header information in the business node subnetwork in step 333, in addition to selecting the next business node based on distance.
Design a more secure key management scheme for distributing and updating keys specific to accounting nodes between accounting nodes and business nodes.
Discuss how to use smart contract technology to further improve the disclosed embodiment, such as realizing functions such as automated arbitration and dynamic adjustment of permission data.
Glossary
Term Definition Accounting node subnetwork is responsible for recording data blocks on the blockchain. Business node subnetwork is responsible for verifying the data blocks recorded by accounting nodes. The proxy node connects the nodes of the accounting node subnetwork and the business node subnetwork and is responsible for information transmission. The data block contains a data block of information such as transaction information, summary, signature, etc. The block header contains the header of auxiliary information such as the data block summary, signature, and previous block summary. The block body contains the main body of the data block of transaction information. The signature is an encrypted information used to verify the source and integrity of the data block. A compressed representation of all transaction information in the Merkle tree root data block, used for content verification. The block packaging requirement is used to determine the conditions for when to package the transaction information in the cache into a data block and put it on the chain. The processing load represents the parameters of the task burden that the accounting node is processing. The permission data represents the data of which transaction information the business node has the right to access. The arbitration server is responsible for collecting and processing the verification results of the business node and arbitrating the accounting node. The network entry contract is the contract signed when the business node joins the blockchain network, which contains permission data.