Part 1: Blockchains are broken, here is why
Disclaimer: This article was produced for Radix DLT. The full post can be found here.
While blockchain has only sprung to mainstream attention in recent months, actual activity across the various blockchain protocols has remained relatively low. However, they are already creaking under the pressure, with networks such as Bitcoin and Ethereum regularly suffering from slow transactions and high fees.
While different groups have proposed a variety of solutions to scale the networks, there is one underlying flaw; blockchain simply can’t scale to the levels required if it is to act as the backbone of the financial system, let alone the multitude of wider use cases it is currently attempting to tackle. If it can’t scale to meet this anticipated demand then the unspoken truth is that the technology is unfit for its purpose.
Blockchain’s overriding achievement is that it solves the issue of how to guarantee trust between two unrelated parties without the need for a centralized third party. This was what it was designed to do. Blockchain does not, however, have a magic bullet when it came to processing transactions.
PayPal can handle around 200 transactions per second (tps). VISA considers itself able to process 56,000 tps, although average daily loads are closer to 2,000. Bitcoin is capable of ~7 tps, Ethereum 15-20 (less if it is tokens rather than ETH being transferred). This puts the networks well below the mere replication of one payment processor’s output, leaving the dream of mass adoption (which will require not just tens but hundreds of thousands of tps) well out of reach.
There are some blockchains which have claimed to reach into the tens of thousands of tps – but these are without exception private tests on optimized and ideally located hardware, a setup unrepresentative of real-world scenarios where you do not have control over the processing power of nodes or their location.
It is important to understand why the protocols are so slow. It is not because that is their inherent limitation (for instance, Bitcoin’s theoretical limit and performance on private chains, although still well below VISA’s peak capabilities, is far higher); the constraint is as a result of a deliberate design choice – to prioritize a decentralized network. Every node processes each and every transaction, keeping a record of the entire blockchain. These transactions form blocks, these blocks are processed to become part of the new chain and nodes then utilise this as their local copy of the global state to stay in sync with the overall network.
As transaction volumes increase, the size of each block increases too, meaning that it takes longer for nodes to receive the information. Over time, this causes consistency issues, as some nodes are more up to date than others. This can then cause invalid blocks to be produced, an issue that becomes crucial during times of high loads, as nodes download and discard successive blocks.
This is the trade-off that comes as a result of blockchain and decentralization. It brings about a trilemma between decentralization, security, and scalability. You can have two – but not all three.
Part 2 will focus on the most prominent scaling solutions being proposed, and how they fit against these three criteria.