# Research on Progress of Blockchain Consensus Algorithm:
## 2 Blockchain Overview
### Basic Architecture of Blockchain Technology  
Blockchain often adopts a chained data structure, and its different data blocks are linked in ascending order of generation time. The first block of the chain is called the genesis block. The transaction information in the blockchain is the data structure of valuable data that expresses the value transfer through the signature operation. The block is the collection of transaction data. The data block consists of a block header and a block body. The block header generally includes the following:  
1. _Version_: used to track software/protocol updates. 2. _PrevBlock Hash_: The current block records the hash value of the previous block. A unique hash value is generated based on the block information in an irreversible way through the hash algorithm. The hash value, which is short and fixed in length, is used to uniquely mark the block. The hash value of the previous block is stored in the current block to ensure that the current block is linked to its previous block. * _Merkle Root_: Records the hash value of the Merkle tree root of this block. * _Timestamp_: The creation timestamp of the block is recorded. The timestamp ensures that the data in the blockchain can be stored in the order of the recorded generation time of the block, so that the source of the data in the chain can be traced according to the time stamp of the block. * _Difficulty Target_: The difficulty coefficient to be solved for the current block. * _Nonce_: The value calculated by the node based on computing power; generally, _nonce_ is less than the _target_. The block body stores the transaction content and related information. Each transaction information is marked with a digital signature. The digital signature mechanism is used to ensure the security of the block data. The block body generally includes the following:  
1. _Num TransactionsBytes_: Records the number of bytes occupied by the _num_ transactions. 2. _Num Transactions_: Records the number of transactions in the block. 3. _Transactions_: Records multiple transaction data in the block. All transaction information is processed in the structure of the Merkle tree [33] in the block body. The transaction information is stored in the leaf nodes of the Merkle tree [34]. The leaf nodes are paired by hash calculation and combined to generate a hash value until the root node of the Merkle tree is obtained. The transaction information on the tree node can be queried by the nodes of the entire network. The hash value of the Merkle tree root is sensitive to the node information of the entire network. Once any transaction information is maliciously tampered with, the hash value of the Merkle tree root will be changed [35]. The Merkle tree structure ensures the information security of the blockchain to a certain extent. The structure of the Merkle tree is shown in Figure 1.  
A node in a blockchain refers to a computing device that participates in a peer-to-peer network and provides computing power. A blockchain network is a set of nodes that implements a specific blockchain P2P protocol, and the entire network orchestrates and coordinates the operations of each node in the network in a fully federated, decentralized, and distributed manner. The basic task of a blockchain node is to verify whether the information in the block is correct and valid and to store the correct information. According to the function of the nodes in the blockchain network, they can generally be divided into three categories: a broadcast node that only sends out transaction information and accepts a small amount of blockchain information; a complete node that stores the entire blockchain information, whose function is to issue transactions, propagate transactions, and verify the consistency of data, etc. ; and mining nodes with powerful computing power to create new blocks and publish and disseminate transactions, which are also known as \"miners\". These nodes support the stable and efficient operation of the blockchain system. Figure 1: Merkle tree structure.