# Research on Progress of Blockchain Consensus Algorithm:
## 2 Blockchain Overview
### Blockchain Structure Model and Classification  
Although different blockchain systems have different implementations, most blockchain systems can be abstracted as the data layer, network layer, consensus layer, incentive layer, contract layer, and application layer [39], as shown in Figure 2.  
The data layer of the blockchain includes data blocks, a linked list, Merkle trees, and other data structures. It uses technologies such as timestamps, hash functions, and cryptography. It is the firm foundation for a series of functions such as blockchain organization, management, and data storage. The network layer of the blockchain uses the peer-to-peer network mechanism to connect all nodes in the chain to support the realization of transactions between nodes, data transmission, data verification, and other functions. The network layer ensures the communication between the nodes in blockchain and the interconnection with the entire network. The consensus algorithm is the core technology of the blockchain, determining the nodes in the chain that have accounting rights, enabling blockchain nodes to quickly reach a consensus on transactions stored in a data block, ensuring the consistency and security of block data, and improving the computational efficiency of the blockchain. This article focuses on the research of blockchain consensus algorithms. The incentive layer of the blockchain is to integrate some rewards and punishments into the distribution mechanism of the blockchain system to incentivize the activity of the nodes in blockchain to provide services so that the blockchain network remains active, and each node of the blockchain not only abides by the rules but also continuously contributes effective computing power. The contract layer of the blockchain encapsulates some smart contracts and algorithms. From the perspective of a computer, a smart contract can be understood as a piece of computer program involving related commercial transactions and algorithms, and from the perspective of the public, a smart contract is a related agreement. Once the preset conditions of the contract are triggered, the smart contract will be automatically verified and executed. Smart contracts are some pre-compiled code programs that will be activated and automatically executed when the preset conditions are met. Smart contracts realize the intelligence and customization of transactions in blockchain, which lay the foundation for building the application layer in a blockchain system framework. The application layer integrates the underlying structure, script code, and smart contracts in blockchain. So, blockchain can be applied to various scenarios in the real world. Blockchain can confirm, measure, and store valuable information in reality, thereby realizing data anti-counterfeiting, anti-tampering, and traceable _targets_. At present, blockchain systems are widely used in popular fields such as finance, medicine, security, anti-counterfeiting, the Internet of Things, games [40], etc. In terms of data access authority, blockchain can be divided into three modes: public chain [41], consortium chain [42], and private chain [43]. The main feature of the public chain is that nodes can freely join and exit the blockchain network without the need for review and approval by the licensing agency. Although the permissions of the public blockchain system are extremely open, the transaction processing speed of the system is slow, and the overall performance is low. Current popular applications such as Bitcoin and Ethereum all adopt the public chain model [44]. The consortium chain requires nodes to register their identity in advance and can join the blockchain network after review and approval by the central organization. The degree of openness of the consortium chain is lower than that of the public chain, and it is more suitable for some enterprises or companies that form consortia for the same purpose. The nodes in the consortium chain do not completely trust each other, and consensus algorithms are needed to reach agreement.