What Is Network Congestion?
Network congestion occurs when the number of transactions submitted to the network exceeds its capacity to process these transactions. This phenomenon has several contributing factors, such as external factors including market volatility, and intrinsic network characteristics such as block size and block time.
Before we dive into the details, it’s crucial to examine the process through which blocks are added to the blockchain.
How Does Blockchain Technology Work?
A blockchain consists of a chain of blocks, each block containing transaction data created by users. Each new block that is added to the chain is permanent and immutable.
These blocks are propagated across a decentralized network of nodes, each storing a copy of the blockchain. Secured by cryptography and game theory, blockchain forms the backbone of cryptocurrencies like Bitcoin and Ethereum.
To fully understand why blockchain networks can get congested, we’ll need to explore the key concepts that play a part in a network’s ability to process transactions: mem pools, candidate blocks, finality, and the longest chain principle.
What is a “mempool”?
A mempool refers to the collection of unconfirmed transactions waiting to be included in the next block.
For example, when a transaction is broadcasted on the Bitcoin network, it doesn’t get added to the blockchain immediately. Instead, it first goes into the mempool (short for memory pool), which is essentially a waiting area for all pending transactions. A transaction will be removed from the mempool once it’s been confirmed.
What are “candidate blocks”?
Candidate blocks, also known as “proposed blocks,” are the one’s miners or validators propose to be added to the blockchain. These blocks contain unconfirmed transactions that have been broadcasted to the network but haven’t been included in the blockchain.
For a candidate block to become a confirmed block, it must be mined or validated according to the blockchain’s consensus mechanism. For instance, Bitcoin’s Proof of Work (PoW) consensus mechanism lets miners compete to solve a complex mathematical puzzle. The first miner to solve the puzzle gets to add their candidate block to the blockchain and earn a reward.
In Ethereum’s Proof of Stake (PoS) consensus mechanism, validators are randomly selected to propose candidate blocks. Other validators attest to the validity of the block. When a block receives enough attestations, it transitions from a candidate block to a confirmed block.
What is “finality” in blockchain?
Finality is when a transaction or operation can no longer be changed or reversed. Once a transaction has achieved finality, it’s permanently recorded on the blockchain and can’t be altered or removed.
In the Bitcoin blockchain, transactions are broadcasted to the network and added to the mempool. Miners select and verify transactions from this pool and include them in new blocks to be added to the blockchain. The transactions included in that block are considered confirmed, but it’s theoretically still possible for other miners to mine a competing block.
The finality of transactions increases with the number of confirmed blocks. Bitcoin transactions are typically regarded as “final” once an additional six blocks have been appended to the block that contains these transactions. Due to Ethereum’s shorter block time, a larger number of confirmations are recommended to achieve a similar level of confidence in “finality.”
What is the “longest chain” principle?
As illustrated above, multiple miners can produce new valid blocks at similar times. This can result in temporary forks in the blockchain.
The “longest chain” principle refers to the rule that the valid version of the blockchain is the one that has the most computational work invested into it, which is typically the one with the longest chain of blocks. As a result, the “valid” blocks on the shorter chains – often called orphan or stale blocks – are discarded, and their transactions get returned to the mempool.
Ethereum used the longest chain principle when the network used Proof of Work (PoW). After Ethereum transitioned to Proof of Stake (PoS) in 2022, the network adopted an updated fork-choice algorithm that measures the “weight” of the chain, which is the accumulated sum of validator votes weighted by validator staked-ether balances.
What Causes Blockchain Network Congestion?
Blockchain network congestion occurs when the number of transactions being submitted to the network exceeds the network’s capacity to process them.
There are several reasons why blockchain networks may become congested:
As more people submit transactions to the blockchain, the number of unconfirmed transactions in the mempool can exceed what can be included in a single block. This is particularly relevant for blockchains with inherent limitations in block size and block time.
Increased transactions can be driven by sudden price volatilities leading to a surge in transaction activities or waves of mass adoption cycles.
Small block size
Each blockchain has a block size that defines the maximum size a block can be. This block size limits how many transactions a block can include.
For example, Bitcoin was initially designed to have a block size limit of 1 megabyte. In 2017, Bitcoin implemented an upgrade called Segregated Witness, or SegWit, to improve transaction throughput. It increases the theoretical block size limit up to approximately 4 MB.
If the number of transactions exceeds this limit, it results in network congestion.
Slow block times
Block time refers to how often a new block is added to the blockchain. Bitcoin adds a new block about every 10 minutes. If transactions are being created at a much faster rate and volume, there will be a backlog of transactions.
What Are the Consequences of Network Congestion?
Blockchain network congestion can result in several negative consequences that hinder a network’s ability to function smoothly.
Increased transaction fees
Miners are incentivized to prioritize transactions paying higher fees. So when a blockchain network becomes congested, users often need to pay higher transaction fees to incentivize miners to prioritize their transactions. This can make using the blockchain more expensive than usual, particularly for smaller transactions.
Delayed transaction confirmation times
Network congestion can lead to longer waiting times for transaction confirmations and finality. In extreme cases, transactions may not be confirmed for several hours, days, or even longer. This could cause frustration for users.
Poor user experience
High fees and slow confirmation times can result in a poor user experience, which could potentially reduce the adoption and usability of the blockchain.
Congestion could amplify uncertainty and contribute to market volatility. If many users are trying to sell a cryptocurrency, but the network is too congested to process these transactions, users could panic and attempt to offload their holdings quickly.
There are other consequences, including security risks and network centralization risks. Specifically, longer confirmation times can increase the risk of double-spending attacks, and high fees could lead to the centralization of mining power.
Examples of Network Congestion
Both the Bitcoin and Ethereum networks have experienced significant network congestion.
Bitcoin network congestion
Bitcoin’s notable price increase between the end of 2017 and early 2018 led to one of the most prominent network congestion events to date. The surge in Bitcoin’s popularity led to a massive increase in demand and transactions, resulting in significant delays and eye-watering transaction fee increases. At one point, average transaction fees were over $50.
In the spring of 2023, the Bitcoin network became congested as increased transaction activities related to BRC-20 tokens caused pending transactions and fees to skyrocket. At one point, nearly 400,000 unconfirmed transactions were recorded, causing a bottleneck in the mempool. Transaction fees increased by over 300% within a couple of weeks.
Ethereum network congestion
One notable example of Ethereum network congestion occurred in 2017 when the “CryptoKitties” project went viral and significantly slowed down the network. There has also been network congestion due to the DeFi boom, resulting in increases in gas prices.
Any blockchain network can become congested. But instances of network congestion on the Bitcoin and Ethereum networks have attracted more attention than that of other blockchains because they’ve had a wider impact due to their popularity and importance.
Solutions To Alleviate Network Congestion
Addressing blockchain network congestion is a complex issue. There are several approaches, and each one has its advantages and disadvantages.
Increasing block size
Increasing the block size allows more transactions to be processed per block, effectively increasing the network’s throughput. But larger blocks take longer to propagate through the network, increasing the risk of temporary forks. They also require more storage space, which could lead to increased centralization.
Decreasing block time
Reducing block time can allow the network to process transactions faster. However, shorter block times can increase the number of orphaned blocks and potentially compromise security.
Layer 2 solutions
These off-chain solutions process transactions off the main blockchain and record the final state on-chain. Bitcoin’s Lightning Network and Ethereum’s Plasma are examples of these solutions. These solutions can increase scalability but are complex to implement and can introduce additional security issues.
Sharding is a technique where the blockchain is split into several smaller shards, each capable of processing transactions and smart contracts. This can significantly increase a network’s capacity. But similar to Layer 2 solutions, sharding increases complexity and can also introduce additional security risks.
Other potential solutions to network congestion include fee adjustments and scaling solutions, including optimistic and zero-knowledge rollups. The Proof of Stake (PoS) consensus mechanism is generally faster than the Proof of Work (PoW).