The Ethereum blockchain has rapidly become one of the most widely used and popular platforms for decentralized applications (dApps) and smart contracts.
With its ability to facilitate secure, trustless transactions, Ethereum has opened up new possibilities for the finance, healthcare, and gaming industries.
However, as the number of users and dApps on the network grows, the need to scale Ethereum has become increasingly urgent.
Transactions per second
Currently, the Ethereum network can handle around 12-13 transactions per second (TPS), which is significantly less than the capacity of traditional payment systems such as Visa, which can handle up to 1400 TPS.
This limitation has led to high transaction fees and slow transaction times, particularly during network congestion.
Scaling Ethereum
To address these challenges and unlock the full potential of Ethereum, scaling solutions are being developed and implemented.
These solutions aim to increase transaction speed (faster finality), grow network capacity, improve efficiency, and reduce user costs but not at the expense of its decentralization.
It is also essential that these scaling solutions themselves remain decentralized and secure while they work to improve the base chain, Ethereum.
Types of scaling solutions
Two main categories of scaling solutions are being researched and worked on.
Changes made directly to Ethereum to improve scalability are grouped into the “On-Chain Scaling” category. In contrast, changes made outside Ethereum are grouped into “Off-Chain Scaling.”
The underlying thesis around Ethereum scaling is that as the network grows, it must separate its duties and focus on the most critical aspect of the blockchain, its security.
Aspects like transaction execution and data availability are “offloaded” to other blockchains designed explicitly for that purpose.
On-Chain Scaling
“Sharding” is one such solution and refers to splitting the Ethereum blockchain into several smaller portions called “shards.”
At the moment, Ethereum nodes (computers) that form its network must constantly remain in sync concerning the data contained in it, meaning every single node must have the same data.
As the network grows, so does its data, which adds pressure on these nodes to deal with this ever-increasing load.
Splitting the network into smaller networks allows nodes to split, so they no longer need to store the entire state of the blockchain but only the state of the shard they are connected to.
According to Vitalik Buterin, Ethereum’s co-founder, “sharding fundamentally gets around the above limitations, because it decouples the data contained on a blockchain from the data that a single node needs to process and store.”
But sharding in Ethereum will be of a different kind.
Instead of dividing the network into smaller units, Ethereum will allow for verifying large amounts of data by sampling just a few bits allowing it to process larger quantities of data than it previously could.
This is called “Data Availability Sampling(DAS)”; the implementation is termed “Danksharding”, named after Dankrad Feist, the Ethereum researcher who proposed it.
If you think about this more, the “Optimistic rollup fraud provers” and “ZK-EVMs” we see in the image above actually bundle hundreds and thousands of transactions together before sending them to Ethereum and so DAS will play nicely into this setup.
The first phase of implementing Danksharding is called “proto-danksharding” and is shown in the picture as EIP-4844. EIP stands for “Ethereum Improvement Proposals” and are changes that the protocol is working on.
Off-chain scaling
Off-chain scaling solutions work by moving some workload off the main blockchain onto a different chain or system. Here are the three main types of off-chain scaling solutions, along with examples:
State Channels: State channels allow two parties to conduct multiple transactions off-chain and settle the final state on-chain. This means that transactions are not recorded on the main Ethereum blockchain until the final state is settled, which can save time and gas fees. State channels are helpful for use cases where multiple transactions need to be made between two parties, such as gaming, micropayments, and messaging.
Examples:
Raiden Network is a scaling solution that uses state channels to process faster and cheaper Ethereum and ERC-20 token transactions.
Connext is a state channel network that allows for instant payments and micropayments between parties.
Sidechains: Sidechains are separate blockchains that are connected to the main Ethereum chain. Transactions can be conducted on the sidechain and then settled on the main chain. This can improve scalability by reducing the workload on the main chain. Sidechains can be helpful for applications that require fast and frequent transactions, such as decentralized exchanges.
Examples:
Polygon (previously known as Matic Network)is a Layer 2 scaling solution that uses sidechains to process faster and cheaper Ethereum and ERC-20 tokens transactions.
Rollups: Rollups are a way of batching many transactions into a single transaction on the main chain. This can significantly increase the number of TPS that can be processed. Rollups can be helpful for applications that require high throughput and low fees, such as gaming and DeFi.
Examples:
Optimism is a Layer 2 scaling solution that uses optimistic rollups to process Ethereum and ERC-20 tokens transactions faster and cheaper.
Arbitrum is a Layer 2 scaling solution that uses optimistic rollups to increase the throughput and reduce the gas fees of Ethereum transactions.
zkSync is a zk-rollup-based scaling solution that allows for fast and cheap payments on Ethereum.
Fuel Network is a Layer 2 scaling solution that uses a zk-rollup to provide fast and cheap transfers of Ether and ERC-20 tokens on Ethereum.
Congratulations! if you have reached this far.
Scaling is not a simple topic to grasp.
The more you delve, the deeper it gets, and this technological marvel knows no bounds, not to mention a lot of work is still happening, which makes scaling an exciting topic to cover.