Abstract
Blockchains hold the promise for money for the internet, world computer, the future of finance, the metaverse and more. However, because of their decentralised architecture, they are struggling to support even a fraction of the user base of the older centralised systems. Scaling solutions can help blockchains achieve their lofty goals. In this edition of the Bridge, we cover the need for scalability, the various scaling solutions available and the trade-offs they make.
Introduction
In the interplay between the blockchain trilemma, chains can usually achieve two of the three. For a given security level, scalability is inversely proportional to decentralisation. Hence, a blockchain must make trade-offs. We invite readers not familiar with the blockchain trilemma to read our earlier publication on the topic, “The Bridge – The Blockchain Trilemma”.
Scalability refers to a blockchain system’s ability to support growth in terms of users and transactions without compromising performance. In most current blockchains, as the number of transactions increases, the network gets clogged with pending transactions forcing users to pay higher than usual fees to get their transactions included. Scalability is important as it allows for cheap fees and unlocking of new use-cases, finally helping onboard new users.
Table 1: Cheap fees allow for the unlocking of new use-cases
These issues are most prominent on older generation blockchains like Ethereum and Bitcoin. Figures 1 and 2 show the mean price of transaction fees of Bitcoin and Ethereum in USD and their capacity utilisation. Note that Ethereum’s capacity utilisation has dropped to about 50% recently – the target level – as illustrated in figure 1 because of the implementation of EIP-1559. Post EIP-1559, whenever block space utilisation is above 50%, fees increase and vice versa.
Figure 1: Ethereum mean transaction fee (in USD) and block utilisation
Regarding Bitcoin, the link between capacity constraint – lack of scalability – and the fee is direct. When the system is in high demand, congestion occurs and fees spike.
Figure 2: Bitcoin mean transaction fee (in USD) and block utilisation
Compared to traditional financial solutions, the ratio of transaction speed to cost is unfavourable on older blockchain networks. Visa’s payment processors execute around 1,700 transactions per second (TPS) and can scale up to 65,000 TPS. For comparison, a blockchain like Ethereum can process only 15 TPS. Because of this limitation, contenders such as Binance Smart Chain, Solana, Polkadot have emerged to provide higher TPS, often at the cost of higher centralisation. Table 1 shows the TPS comparison of various blockchains platforms versus VISA and PayPal.
Table 2: TPS of Blockchain platforms vs VISA and PayPal
While talking about the problem of scalability, Elon Musk tweeted about Dogecoin, quoting, “Ideally, Doge speeds up block time 10X, increases block size 10X & drops fees 100X. Then it wins hands down.” As enticing as it sounds, there is a price for it.
Can we do what Elon proposes?
One of the core tenets of blockchain is to minimise trust, as the saying often goes – “Don’t trust, verify”. A blockchain should strive to provide minimum hindrance if a user wishes to run a node and “verify” the blockchain themselves. This helps maximise decentralisation and allows the blockchain to remain censorship-resistant, providing security against attacks. Bitcoin overcame the ban on Chinese miners because it was decentralised enough to keep the network running even as the most significant contributor fell off.
To maximise decentralisation and trustlessness, a blockchain should be light enough to run on average consumer-grade hardware. The requirements for Bitcoin and Ethereum nodes are barely low enough to allow for consumer laptops to run them. For a higher throughput chain like Solana, the requirements are higher and only dedicated institutional validators can verify transactions. If we implement Elon’s proposal, it will 10x the requirement from nodes, killing decentralisation and making the chain prone to censorship. Hence, there is a need to explore alternate solutions for scalability. To illustrate this path, we will take Ethereum as an example and understand how these solutions pan out and the trade-offs while selecting these alternatives.
Are there any solutions?
Fortunately, several different scaling solutions are emerging. Some are already live, in different stages of rollouts, while others are still under development. Each of these solutions provides unique trade-offs and can be fundamentally categorised as follows:
- Layer-1 or on-chain solutions: These solutions keep all the transactions on the main chain itself.
- Layer-2 or off-chain solutions: These solutions adopt an off-chain mechanism where transactions and computations occur outside the main chain.To better understand the difference between layer-1 and layer-2 solutions, imagine a road known for traffic jams. The layer-1 solution is to upgrade the road, reduce intersections, widen lanes to “process” more cars. The layer-2 solution is to create a second road or a public transport infrastructure like a bus or metro service to reduce congestion.
Figure 3: A selection of promising scaling solutions
Layer-1 solutions
To illustrate the layer-1 scalability solutions, we present the case of Ethereum, which has started its upgrade to ETH 2.0. For readers interested in this matter, we recommend reading the two Digital Investors we wrote on this topic – “Ethereum 2.0” and “Phase 0”.
The primary reason to move to ETH 2.0 is to increase the throughput of Ethereum to help it process more transactions and compete with newer layer-1 solutions. TPS should increase from ~15 today to ~100,000 once fully implemented along with rollups. This will be a significant improvement allowing more use-cases and lower transaction costs.
To achieve such speed, the Ethereum architecture will be “sharded”. Sharding means splitting the main chain into multiple parallel chains to process transactions. This is similar to upgrading a single-lane road into a highway with many lanes, in the case of Ethereum, 64.
Through sharding, computing power and storage capacity can be distributed across multiple systems, lowering the requirement from node operators. Each shard will have its very own independent state and transactional history. So, there will be no need to run a full Ethereum node contrary to the current version.
Among all the chains running in parallel, the Beacon Chain will function as a coordination layer to coordinate all system activities, storing and managing validators registry, choosing block producers, and applying the rules of consensus.
Figure 4: ETH 2.0 Sharding Structure
Layer-2 solutions
There are five types of approaches through which layer-2 solutions are deployed (see figure 3). We present all of them in this section.
State channel:
State channel solutions allow users to transact multiple times on a different chain (layer 2). In contrast, the main chain (layer 1) processes only two transactions, one when the channel is opened and one when the channel is closed. By doing this, the main chain does not process all the transactions but still provides the same level of security in transaction finality. Once the transactions are complete and the channel is no longer required, the participants submit their copies of transaction history to cross-verify their copies of data to ensure there are no discrepancies. Post this, the final net transaction is uploaded on-chain, and the channel is closed.
State channels are advantageous when there are multiple small transactions and the parties know each other. The limitations of State channels are that funds are blocked as long as the channels are active. It is also time-consuming to open and monitor different channels. Further, only limited smart contract functionality is available.
Projects working on State channel include Celer and Raiden Network. Figure 5 shows how a state channel works.
Figure 5: State channel and the steps involved in doing a transaction
Plasma (Child chains)
Plasma consists of multiple copies of the main chain running alongside it. Thousands of transactions are processed in these child chains, bundled up and sent back to the main chain as a single transaction. By definition, a child chain is a trustless and non-custodial chain where users control their funds. Hence if there are any errors or exploits, they can refer to the latest correct snapshots of the plasma chain and restore their tokens.
The advantage of plasma layers is their high throughput to process over 1,000 transactions per second at a fraction of the cost. Here, one necessarily does not need to have a fixed number of known entities or individuals to transact with, and they can be flexible. Like state channels, plasma solutions do not fully support smart contracts and are suitable only for transactions and swaps.
Projects that use plasma layers include Polygon and OMG Network.
Sidechains
Sidechains and child chains (plasma) are similar except for one element: security. While plasma chains rely on the security of their main chain in a trustless environment and are optimised for high throughput performance and security, side chains are separate blockchains running in parallel with the main chain and have their own consensus mechanisms and security algorithms.
The advantage of sidechains is that they are usually blockchain agnostic and can support multiple base layers by creating a peg with any blockchain they want to run along. These side chains may have their own tokens, can support smart contracts, and only communicate with the mainchain when they want to update the state of their ledger. These side chains can achieve up to 10,000 TPS depending upon their design. However, this also does not come without its disadvantages. Users have to transfer the custody of funds to the side chain, and the security mechanism of the sidechain may be weaker than the main chain.
xDai and Polygon are sidechains for Ethereum.
Rollups
Rollups bundle thousands of transactions into a single rollup block, publishing only summary data on the main chain. It can potentially provide a 100X increase in throughput as all the computation and storage happens outside the main chain.
By batching transactions and moving processing off-chain, rollups significantly reduce transaction fees and processing time. There are two types of rollups:
Optimistic Rollups
Optimistic rollups use a sidechain to process a batch of transactions parallel to the Ethereum mainchain, summarise it and notarise the transactions on top of the mainnet. They work with a basic assumption that all transactions submitted to the mainchain are valid. Only when a user challenges a summary, the entire block is computed on the base layer. As a result, to give sufficient time for a challenge, funds are locked for some time, typically one week, before releasing them on the base layer.
Optimistic rollups can process around 2,000 basic transfers per second or around 300 smart contract calls in their current implementation. These are also compatible with the Ethereum Virtual Machine (EVM). This means that optimism rollups can do everything that Ethereum does. However, there are two trade-offs. First, the funds are at risk if a malicious transaction is not challenged and second, withdrawing funds to the mainchain is also time-consuming.
Examples of rollups are Optimism and Arbitrum. These projects are already live, and popular projects like Uniswap, 1inch, and Chainlink, among others, are already using them to save transaction costs for users.
Zero-Knowledge (ZK) Rollups
ZK Rollups run all computations off-chain and submit a validity proof on Ethereum. They differ from optimistic rollups because there is no trust assumption as the validity proof is printed on-chain. While optimistic rollups require evidence of fraud during the challenge, zk rollups have validity proofs for every transaction.
They are reported to be able to process over 3,000 transactions per second on Ethereum 1. As there is no trust assumption, there is no delay in moving funds from Layer 1 to Layer 2 and vice versa. Currently, there is no generalised EVM-compatible zk rollup based solution, and only specific solutions for transfer or exchanges are available.
Loopring is a decentralised exchange working on zk rollups with transaction costs of less than a cent.
Validium
Validium uses validity proofs similar to zk rollups but keeps the data off-chain instead of sending it to the Ethereum main chain. Since all the data is kept off-chain, Validium can achieve an even higher TPS per validium chain of up to 20,000.
However, since the data is not on-chain, validium requires some trust assumptions, and a majority of validators can choose to freeze funds by not providing data.
StarkWare’s StarkEx is a validium-based solution. StarkEx is integrated with the derivatives exchange, dYdX, and the NFT platform, ImmutableX.
Table 3: Comparison between different layer-2 solutions and the trade-offs they make
Conclusion
For blockchains and crypto assets to achieve their lofty promises of world computers and money for the internet, they must be able to scale sustainably. For this, a combination of both layer-1 and layer-2 solutions will be required. Currently, chains are sacrificing decentralisation to achieve scalability, or a hotchpotch of solutions are being implemented with limited integrations between them, worsening the user experience and fragmenting the user base. Solving scalability will not be a winner-take-all scenario, and different use-cases will require different scaling and security needs. Improvements in scalability from layer-1 and layer-2 solutions will multiply in the future, leading to sustainable, scalable blockchains.