Blog article
See all stories »

Blockchain is looking for scale: a balancing act Part I

Last week the Dutch Central Bank launched a report on blockchain, in which they concluded that the blockchain technology  “fundamentally failed to pass muster as a realistic replacement for current financial market infrastructures”. The Bank found definitive limitations in capacity, efficiency and certainty of payment, that compared unfavourably against current systems such as the Eurosystem's interbank settlement network Target2.

This statement was underlined by David Schwartz, Ripple’s chief cryptographer, saying: “I will concede, we haven’t gotten there yet. A lack of scalability and privacy issues are preventing banks from using distributed ledger technology (DLT) to process cross-border payments”.

Blockchain scalability has become one of the most intriguing headache dossiers in the blockchain world. Limited Blockchain transaction throughput could become a severe bottleneck, hindering mass adoption of the blockchain technology. It is thus not surprising that there is increased activity in the blockchain world working on methods to overcome such scalability hurdles and harness the potential of blockchain.

“Key developers and researchers and others have always recognized scalability as perhaps the single most important key technical challenge that needs to be solved in order for blockchain applications to reach mass adoption.” Vitalik Buterin, founder Ethereum

In these 2 part blogs I like to show how the major blockchain platforms Bitcoin and Ethereum are trying to solve this issue, what approaches have been chosen and to what extent they succeed in solving the so-called Scalability Trilemma. I will leave aside scalability solutions by private blockchain environments like Achain, ChainBLX, Constellation, Emotiq, R3CEV and Zilliqa that mostly are compromising the decentralisation requirement.

The Scalability problem

The debate surrounding scalability of public blockchains, that is seen as one of the biggest problems they face today, is heating. Most widely used blockchain platforms Bitcoin and Ethereum, have begun to reach their capacity limits. They are confronted with big problems to support mainstream transaction usage, barely capable of handling the current transaction volume, due to challenges scaling the protocol to handle the required throughput. This so-called scalability problem is preventing massive adoption of blockchain technology.

“We should really be asking the question: ‘Shouldn’t public blockchains be more scalable to real world application?’. “The fact is that, as of today, blockchains are limited in their ability to scale, which some argue is the biggest technological barrier to global adoption of the technology”. Ethereum Co-founder, Vitalik Buterin

Present scale
When looking at the number of transactions per second, the large blockchains are often compared to Visa and MasterCard. Current blockchain platforms like Ethereum and Bitcoin are unable to match the transaction throughput of these centralized solutions, with transaction speeds magnitudes much below that required.

While Bitcoin, where the blocks are hard-capped at 2 MB in size, can handle no more than 4-7 transactions per second on average with a block time of 10 minutes, the Ethereum blockchain currently manages to process between 15-25 transactions per second with a block time of 15 seconds. It can be argued that the present size is still far from a significant scale in the world economy. To put it in perspective Visa is able to handle roughly 4.000 transactions per second on average but has a peak of 24.000. Even PayPal is able to process more than 1200 transactions per second.

Scalability challenges

A growing number of involved parties in the blockchain world are recognizing the extent of the scalability challenges. These arise from inherent characteristics of the current blockchain design. Because blockchain has a distributed or decentralised architecture, it requires multiple processing nodes scattered across multiple participants. In blockchain networks like Bitcoin and Ethereum, every fully participating node in the network must validate every transaction and must seek agreement from other nodes on it to go through on the ledger.

The decentralized consensus mechanism provides a number of vital advantages such as fault tolerance, security, and authenticity. It however makes the whole process very slow, increasing overall costs per transaction, thereby severely limiting scalability, thus making it difficult to use the blockchain for applications such as cross border real-time payments.

Blockchain constraints
The greatest constraints for scalability in the blockchain networks are the blocksize limit and the speed of the verification process. Both Bitcoin and Ethereum however encounter different challenges. This has much to do with the different set-up of their blockchain platforms.

Blocksize limit
The greatest restraint in the Bitcoin network is the current block size limit, which  severely limits its transaction carrying capacity. The size of a block determines how much transactional data can be contained in it, thus creating an upper limit on throughput. Throughput of the Bitcoin blockchain network is limited by the fixed size of a block at 1 MB (now expanded to 2MB) and the propagation time of a new block through the whole peer to peer network. While this provides security, it inhibits scalability as a blockchain cannot process more transactions than a single node. This limit has led to increased transaction fees and delayed the processing of transactions.

Verification speed
Ethereum transactions are accounted for differently than through pure size. Users pay for the execution of smart contracts on the platform. Each block has a maximum number of execution units. Empirically, this seems to lead to a current transaction capacity that is roughly twice that of Bitcoin.

The biggest problem that Ethereum is facing is the speed of transaction verification. Right now, the state of the blockchain protocol involves every node storing all states and processing all transactions. The network does not scale well as more nodes are added to the network., The network does not scale well as more nodes are added to the network. In such a decentralized system, as the number of transactions on the network increases, the need for additional nodes, to process and store transactions, also increases. The problem is, that the more the number of nodes increases in a blockchain network, the slower the whole process becomes. This puts a limit on the throughput on a protocol level and, without changing the protocol it is difficult to solve the scalability issue.

Scalability solutions and limitations

Ethereum and Bitcoin have come up with a host of scalability solutions, and more are expected to come.  The blockchain community is thereby trying to allow blockchains to support mainstream transactional usage. Both blockchain networks however have chosen different approaches to scale. This is not that strange as both blockchain networks are acting in a different way. While the underlying technology is similar, it has very different applications in both networks. While the restricted size of the block in Bitcoin network is the major bottleneck, the main thing that is hindering Ethereum’s scalability is the speed of consensus among nodes.

Scalability Trilemma
To find a fundamental solution for this scalability problem one should also meet the Scalability Trilemma requirements. Vitalik Buterin, founder of Ethereum, articulates the essence of scalability with three key objectives which have to be met to achieve sustainable scalability. These include: Increasing throughput; Reduce cost per transaction; and, achieve both objectives while maintaining the decentralised character. He described this as the Scalability Trilemma. This trilemma explains that blockchain systems fundamentally can only have two of the three properties mentioned.

“It’s hard to build a decentralized system that is strong enough to govern itself without falling victim to re-centralization.” Greg McMullen, Co-Founder & Executive Director at IPDB Foundation and Chief Policy Officer at BigchainDB

Blocksize increase: not the way
One possible - and at first sight most simple - scalability solution is just to increase the size of the block by removing the block size limit to enhance throughput. While this might sound a good idea, in fact, this has given birth to heavy debates in the Bitcoin community.

There are a number of downsides to this solution, which make increasing the block size not a feasible solution. Increasing the block size will cause new problems such as increasing the propagation time of new block through the whole network. Miners may lose incentive because transaction fees will decrease.  While on the other hand it will lead to increased user fees as larger blocks require more mining resources. It can  also split the community, as block size increase would require a hard fork of the blockchain.

But what is more important from a Scalability Trilemma view, increasing the block size will more centralise the Bitcoin network. As the block size increases, the amount of processing power required to mine a block will increase, making it harder for small scale miners to continue mining as full nodes become more costly to operate. This may result in lesser, smaller pools of miners with all the power shift to a handful of miners (thus making 51% attack more possible), moving away from decentralisation.

Scalability-first solutions: fall out
Several new scalability-first blockchains have emerged to serve users and developers as more scalable payment networks (i.e. Bitcoin Cash, Algorand) and dApp platforms (i.e. Cosmos, Dfinity, EOS, etc.). But these fail to meet the other needs: security and/or decentralisation.

There is another category of scalability-first projects that seek to achieve consensus via mechanisms that lie outside the construct of a blockchain (gossip protocols, directed acyclic graphs, etc.). Projects like Hashgraph and DAG Labs are worthwhile initiatives but too early to give a realistic judgement.

Finally, some other projects make a compromise by trading off decentralization for an increase in scalability. The network is composed of different classes of nodes, which have different privileges. This multi-tier system decreases resource requirements at the cost of introducing some centralization. While theoretically easier to challenge, the solution works well in practice on a number of platforms.

Feasible on-chain versus off-chain solutions    

The blockchain community is exploring many different solutions to solve the scalability problem,  from Proofs of Correct Block processing, using multiple blockchains and making smart contracting efficient in a single blockchain to improving on the consensus algorithm. 

The blockchain community is exploring many different solutions to solve the scalability problem,  from Proofs of Correct Block processing, using multiple blockchains and making smart contracting efficient in a single blockchain to improving on the consensus algorithm. 

Bitcoin and Ethereum have come up with a variety of proposals to enable blockchains to scale on-chain and off-chain. These solutions can be classified in Layer 1 and Layer 2.

These so-called Layer 1 or on-chain scalability solutions that will take place on the main Blockchain will change the blockchain protocols via so-called forking to deal with the problem. There have been soft forks (change in rules but still recognized by the blockchain) as well as hard forks (a hard fork occurs when a blockchain splits in two incompatible chains). Examples of Layer 1 solutions include SegWit, Sharding, Proof of Stake, and Casper.

“They [Bitcoin development community] don't want to make any significant, foundational changes to the protocol because they believe that a single proof-of-work blockchain with 1MB blocks and ASIC miners is the best architecture that is possible.” “If they believed in Proof of Stake, blockchain sharding, or bigger blocks, then they would also prefer hard forks to soft forks.” Vlad Zamfir, Researcher at the Ethereum Foundation

A growing number of solutions however seek to achieve scalability off-chain “at various layers of the stack”.  These so-called Layer2 solutions are built on top of the same protocols in Layer 1, as a second layer but don’t change anything on the protocol level. All the transactions in Layer2 take place and are recorded off chain, and those transactions need not to be included in Layer1 instantly. The purpose is to make maximum possible use from available throughput, and try to squeeze in maximum possible number of operations. Although the finality of the transaction is less in Layer 2 transactions than Layer 1 transactions, Layer2 transactions are secure and final enough for many practical purposes. Examples of these Layer 2 solutions are: the Lightning Network, Plasma, and the Raiden Network.

Side chains, off chain state channels, micropayment channels
These off chains can take various forms such as side chains, off chain state channels, and micropayment channels. Side chains would operate aside from the blockchain. They are operating separately and work done in side chains does not directly affect the blockchain until users review and agree to update the blockchain. Since a lot of the work is done in the side chains, payments are done instantly due to the blockchain not needing to spend extra time processing and verifying.

The most promising Layer2 concept to achieve scalability appears to be state channel technology. A state channel is a two-way communication channel between participants which enable them to conduct interactions, which would normally occur on the blockchain, off the blockchain. Instead of consuming resources for every transaction, the transaction will only consume resources when there is “malicious intent” from one of the parties. The blockchain will work as a final arbiter only when needed, enforcing trust conditionally. This will decrease transaction time exponentially since one is no longer dependent on a third party to valid your transaction.

An off-chain state channel works as follows. A segment of the blockchain state is locked via multi-signature or some sort of smart contract, which is agreed upon by a set of participants. The participants interact with each other by signing transactions among each other without letting submitting anything to the miners. The state channels can be closed at a point which is predetermined by the participants. The entire transaction set is then added to the blockchain.


Comments: (0)

Now hiring