The scalability trilemma is arguably the most important unsolved problem in the blockchain space. It was first coined by Vitalik Buterin and Trent McConaghy and refers to the current reality that blockchains in which every node validates each transaction can’t have simultaneously possess all of these properties:
In this sense, decentralization can refer to a number of aspects, which is a big reason it’s difficult to solve. Many in the community think of decentralization as a quantitative metric, like how many block producers exist in a given network. Others think of it more qualitatively, like can an extremely affordable personal computer participate as a node in the network.
Scalability is a bit easier to quantify, it generally refers the number of transactions that a network can process, how fast it can process them, and how much it costs users to have those transactions verified. This has been a big issue for public blockchains as they’re infrastructure has been unable to serve mainstream uses past speculation.
Lastly, security is most often thought of as the cost to overtake the network, also called a Byzantine attack. The general framework for calculating this is the cost it would take to control 51% of the network’s hashrate. For public blockchains like Bitcoin and Ethereum, this cost is in the billions of dollars.
Current State of Blockchains
There’s no question today that public blockchains don’t scale. While both are seeing a lot of activity around speculation and investing, they can’t support a large number of transactions without having transaction fees skyrocket. Fees got so high on December of 2017 that some people were paying more than $25 per transaction.
The problem specifically affects blockchains in which nodes have to process every transaction. Doing so becomes increasingly expensive because the more transactions there are, the more computing resources are required to process everything. On Bitcoin and Ethereum, running a node requires a high degree of technical proficiency. In an ideal world, every day internet users would be able to run a full node from their desktop and smartphone.
There are a number of ways developers are attempting to solve the trilemma, namely layer 2 scaling and novel consensus mechanisms.
The most prominent layer 2 scaling solution on Bitcoin is the Lightning Network. The Lightning Network enables users to enter into payment channels outside of the main Bitcoin blockchain and transact cheaply. Ethereum’s state channels are very similar. State channels allow users to transact state updates outside of the main Ethereum blockchain. It’s important to note that both the Lightning Network and State Channels give users the same level of finality they would get by transacting on the core blockchain. This is because users have to store cryptographic messages offline as a way to prove that the final balance is accurate.
Another layer 2 scaling solution for Ethereum is Plasma. Plasma is a framework for creating child blockchains that are rooted to the main Ethereum network. Plasma chains can take on varying complexity, and many are being created to enable the processing of a large number of transactions per second.
Apart from moving transactions off of the main chain, many developers are experimenting with new consensus mechanisms. The most common way to achieve distributed consensus outside of Proof-of-Work is Proof-of-Stake (PoS). In PoS, block producers are in charge of verifying transactions. Block producers are chosen randomly, but the odds of becoming one increase proportional to the number of tokens an entity holds. When block producers submit a block, they are forced to bond a number of tokens to their decisions and can be penalized if they behave maliciously. This is supposed to keep validators economically incentivized to act in the best interest of the network.