Blockchain Scalability — An Overview

Ray Wong
Hashcademy
Published in
4 min readAug 4, 2018
Photo by Mikito Tateisi on Unsplash

Scalability has definitely been a hot topic for blockchain in 2018. This year we have seen a lot of scalability solutions for major coins like lightning network for Bitcoin/Plasma and sharding for Ethereum. We also see a lot of new cryptocurrencies focused on their high throughput, amongst which includes Aeternity, Zilliqa and Quarkchain. New projects have been promising higher and higher transaction per second (TPS). Scability has become a key selling point for a lot of new blockchain projects.

The Scalability Problem

The issue of scalability first came under public spotlight when the ethereum network was jammed by a popular decentralised application (DAPP) — Cryptokitties. The popular blockchain-based game — where players could acquire virtual cats using tokens and mate to produce offsprings — was released in late 2017. When users buy a cryptokitty using ethereum, a smart contract is ran on the Ethereum blockchain to complete the action, same goes for the other actions in the game. Due to its strong popularity, the Ethereum network was soon clogged up with thousands of pending transactions, making the network almost unusable.

During the same period of time, the blockchain network also saw a rise in pending transactions with the number rising to >200k at one point following the growing media attention for Bitcoin. These network congestion issues have sparked a lot debates on scalability and usability of blockchain as a technology.

Compared to the existing centralised technologies, the tps of the two leading blockchains is still way behind the curve. Bitcoin currently processes 4 transactions per second while Ethereum supports roughly 15 transactions per second. This, in comparison to the 45,000 transaction per second by VISA, makes the sexy new technology looks almost impossible for large scale commercial use.

Scaling of blockchain has never been easy. Most people tend to think that when a network has more nodes, the system becomes “stronger” or “better”. In reality, since the design of bitcoin and ethereum requires all the (full) nodes to verify and agree on new transactions, the higher the number of nodes, the longer the waiting time is going to be as more nodes need to reach a consensus state.

Therefore, we need to understand that there are trade-offs between the three objectives below for every blockchain:

  1. Decentralization
  2. Security
  3. Efficiency/Scalability

For example, if you have more nodes in a network, you are more decentralised, and with more nodes verifying transactions, the blockchain becomes more secured. However, the speed of confirmation would decrease.

What if we ask fewer nodes to verify transactions? Now only fewer selected nodes can verify transactions, the system becomes more centralised. If you reduce the block time instead, the system becomes less secured. These trade-offs make scaling of blockchains difficult.

So far the mainstream scalability solutions have been developed mostly around the 3 concepts below:

1. Sharding

Sharding is a traditional concept in database which breaks a database into pieces and put each part on a different server. In the context of blockchain technology, each node will only have part of the data on the blockchain, not the full information. The whole blockchain network is divided into different shards, with each shard maintaining information only within that shard in a shared manner. In such a way each node will not need to load the full history of the blockchain.

This solution removes the requirement of full nodes and therefore improves scalability. However, the process is not entirely trustless as nodes will be interdependent on information. Appropriate incentives need to be designed to ensure the integrity of the nodes.

Ethereum is exploring solutions on sharding. Zilliqa and Aternity both use sharding to achieve high throughput.

2. Off-chain transactions

A good example and probably the starting point of off-chain solution is Bitcoin’s Lightning network. The basic idea is to use a mechanism to bring some of the transactions off the main chain — i.e. not every transaction happens on the blockchain network. Two parties could take the transactions offchain and track those transactions on an on-going basis. Balances are updated when settlement happens, where the summary of transactions are taken on-chain.

Lightning-style ‘off-chain’ transactions could improve both speed and transaction cost while still not requiring users to trust any intermediary. Ethereum is also developing a similar solution known as Plasma.

3. Sidechains

Sidechain solutions basically envisage multiple smaller blockchain attached to one main blockchain. Each sidechain can have its own rules and token. You can think of each sidechain as a Dapp — each runs on its own, smaller, blcokchain which in turns attaches to the main blockchain. This solution allows for higher transaction speed as transactions are verified at the sidechain level which has a smaller number of nodes. The benefit of sidechain is that each Dapp is contained to its own sidechain and will not affect the performance of other Dapp on the same platform. Lisk is an example that uses sidechain technology in its infrastructure.

The tricky question now is which one is the best solution for scalability. Most of the scaling solutions are still in early testing stage. Whilst many promised to deliver thousands or even hundreds of thousands of transactions per second, the actual performance has yet to be tested with actual volume. It will be interesting to see how this will develop in the near future.

Follow the latest information on ETH ZIL with our dedicated Ethereum Zilliqa coin page

--

--