Blockchain represents a major innovation in terms of how information is stored and transferred. The simplest way to picture it is as a shared, immutable, decentralized and distributed ledger that stores and keeps track of transaction records.
It is built upon layers in which each layer has a unique functionality that ,together, make blockchain a complete solution; covering from back-end data management to user-facing apps at front-end.
It is important to understand that there are two ways of layering the blockchain network. The first one is oriented to understanding its architecture and five layers can be distinguished: the hardware layer, the data layer, the network layer, the consensus layer and the application layer.
The second one is a division based on blockchain protocol and is made up of four layers: Layer 0, Layer 1, Layer 2 and Layer 3
The objective of this article is to explore both categories, diving deep into each of their layers and their functionalities.
The hardware layer
This first layer provides the physical infrastructure for the blockchain network. It is formed by “nodes”, which are the computer servers that make up the peer-to-peer network and have the purpose of verifying transactions, grouping them into blocks, broadcasting them to the network and storing a local copy of the ledger.
The fact that these nodes run from different locations around the globe, is what provides blockchain the characteristic of being distributed and with high availability. Also as each one of the nodes validates and verifies the transactions, there is no central authority that commands how the network is supposed to work. Hence, assuring blockchain is decentralized.
The data layer
The next layer after the hardware layer is the data layer and it is where transactions are stored. It is made up of blocks which contain transactions that have been previously verified by the nodes running the blockchain. The structure of blocks on each blockchain is determined by this layer.
Each block is linked to the previous one and to the next that gets generated. The only block that is only connected forward and not backward is the genesis block, the first block of the whole network. In order to assure the security and integrity of the stored data, each transaction is digitally signed with the private key that authorized the transaction.
The network layer
The network layer is the third layer of blockchain architecture and is also called the “propagation” layer as is where block creation, block addition, block propagation and node communication happen.
It is a peer-to-peer network (P2P) where nodes are dispersed and share workloads to accomplish a common purpose. There are two types of nodes: “full node” and “light node”. Full nodes are in charge of mining, consensus rule enforcement and transaction validation and verification. Light nodes are able to send transactions but instead of storing the entirety of the blockchain, it only downloads and stores block headers (the minimum data needed to transact) and outsources all the other information from full nodes.
The consensus layer
This layer is responsible for the validation of a block. It is a fundamental layer as it guarantees that all nodes agree on what is being stored on the blockchain.
This consensus layer is formed by algorithms and protocols that lead nodes to reaching a consensus on new blocks being constructed and added to the blockchain. All nodes in charge of validating must be in agreement in order to declare a transaction as valid.
Consensus mechanism is something that can vary between different networks. For example Proof of Work (PoW) is used in Bitcoin, while Ethereum uses Proof of Stake (PoS). One important aspect to mention is that the more validators nodes are part of the consensus mechanism, the more decentralized the blockchain is. However, the more validators nodes are on the network, the higher the latency. This is related to what is known as “the blockchain trilemma” which addresses security, scalability, and decentralization.
The application Layer
The fifth layer is the application layer and is where smart contracts, decentralized apps (dApps), user interfaces and chain code can be found. It consists of services and APIs (application programming interfaces) that enable apps to communicate with the blockchain network. The UX/UI of these apps is like any normal app, but the difference radicates at the nature of its data storage and backend which relies on blockchain.
Layer 0 (L0)
Layer 0 is the foundation upon which the rest of the layers are built. It consists of the underlying network on top of which a blockchain is built (hardware needed, protocols, network structure).
L0 permits various L1 blockchain to be built on top of them. This way, it enables cross-chain interoperability communication. It requires three main components to function: mainnet (consolidates and stores data from multiple L1 blockchains, ensuring data integrity across the protocol), sidechains (refers to the many L1 blockchains built on top of each L0. Even Though they can have their own nodes and define their own consensus mechanism, they benefit from the L0 security and interoperability with other L1s) and cross-chain operations.
The three most popular Layer 0s are Cosmos, Polkadot and Avalanche.
Layer 1 (L1)
This layer stands for the blockchain itself. Blockchain core functions such as consensus, programming languages, protocols and limitations are done at this layer. L1 is also called the implementation layer.
Scalability is a limitation on this layer and is caused by the large volume of jobs this layer has to tackle. As more users join each network, computer power needed increases, leading to higher gas/transaction fees and longer processing times.
Layer 1 examples include Ethereum, the Binance Smart Chain, Solana, and Bitcoin.
Layer 2 (L2)
L2 protocol sits on top of L1 and communicates continuously with it. Management of new block’s addition to the blockchain is a responsibility only of the L1.
It is also known as Layer 2 solutions or scaling solutions and due to the fact that L2 transactions can happen off-chain, they make it possible to have cheaper fees.
One example of a L2 solution is Lightning Network (implemented on Bitcoin blockchain).
Layer 3 (L3)
This final layer of the blockchain aims to offer simplicity when working with L1 and L2 and is where participants will communicate with user interfaces (UI). It is also known as the application layer as its main task is to host DApps and protocols that enable other apps.
By breaking the blockchain down into layers, it becomes easier to understand the different components of the network and how they interact with each other. This also makes it easier for developers to build applications on top of the blockchain, as they can focus on one specific layer without having to understand the entire protocol.