Solving the Blockchain Trilemma: Decentralization, Security & Scalability
Bitcoin and Ethereum are the most widely recognized projects of the blockchain movement, seeking to replace our current trading, financial and economic system with one that is more decentralized and secure.
Millions have invested time and money into these networks in the belief that they will one day grow to dominate a decentralized digital world.
However, despite over $200billion in combined market cap, these networks are still plagued by the fundamental problem of scalability.
Lack of scalability keeps many well funded and community backed blockchains operating in beta and alpha mode. Their coins, many of which are built to function as utilities, are bought primarily to be held as speculative securities because slow transaction speeds prevent them from being traded for everyday goods and services.
The value that these Blockchains’ are promising cannot be realized at scale due to what is called the ‘Trilemma’.
The ‘Scalability Trilemma’ is a term coined by Ethereum founder Vitalik Buterin that addresses the problem of how to develop a blockchain technology that offers scalability, decentralization and security, without compromising either one.
Vitalik believes that at a fundamental level, Blockchains can only achieve 2 out of 3 of these traits at one time:
- Decentralization (defined as the system being able to run in a scenario where each participant only has access to O(c) resources, i.e. a regular laptop or small VPS)
- Scalability (defined as being able to process O(n) > O(c) transactions)
- Security (defined as being secure against attackers with up to O(n) resources)
For those unfamiliar with syntax, C refers to the size of computational resources (including computation, bandwidth and storage) available to each node, and n refers to the size of the ecosystem in some abstract sense. We assume that transaction load, state size, and the market cap of a crypto currency are all proportional to n.)
Why Are These Components Important?
This this is a core component of what it means to run Blockchain system. Decentralization allows networks to be permissionless and censorship-resistant, giving anyone the power to use and build on them.
Decentralization alone isn't scalable because decentralized systems operate on consensus, which means decisions (such as verifying transactions) are made by a group of nodes as opposed to an individual node.
Decisions made by consensus are more likely to be of higher quality, while decisions by an indivdual are more likely to be fast and resistant to backlog.
It is only on a decentralized network that immutability and peak security can be achieved, because what better place to store sensitive data that on a network that has no single ‘central’ point of failure.
This is the last and most important component, because without being able to increase the speed and size of a Blockchain network, we can’t ever hope to impact more than just a handful of people. Bitcoin and Ethereum have only managed to gain a combined market cap of over $200 billion because of the promise that they will one day achieve mainstream adoption.
Meaning, Bitcoin matching or surpassing Visa’s 24,000 transactions per second (as opposed to its current 7 transactions per second), and Ethereum becoming the underlying technology behind the largest and most profitable Dapps.
Ascending from bootstrapped network to a major player on the World stage requires that the consensus process become faster and more efficient without also becoming centralized or less secure.
How do We Solve It?
There are many solutions still in development, or currently in the market, that attempt to solve the scalability problem.
As mentioned, Bitcoin and Ethereum’s transaction speeds are very slow (around 7 and 15 transactions per second respectively.
There are a number of other cryptocurrencies that one could consider with much faster throughput rates. For example, one of the original Bitcoin alternatives was Litecoin. By making use of a different hashing algorithm, LTC transactions take about 56 tps.
Lightning Network (Bitcoin)
The lightning network is called a ‘layer 2’ solution. Its primary purpose is to extend the capacity of existing Blockchains so that transactions can be cheaper and more frequent.
Smaller, less significant transactions are stored ‘off chain’, and are essentially bundled up and validated independently by small communities before being sent back to the main Blockchain, where they can be processed as one single transaction.
Small communities are created where transactions take place without each of those transactions being registered on the main Blockchain
A simpler way to think of it is as a grocery tab, where all your purchases are kept on record for the month, and finally, at the end of the month, the cashier accepts a single payment for all transactions made during your month of grocery shopping.
A Grocery tab IOU followed by the final payment being recognised by the bank.
These solutions ultimately mean we could reduce multiple transactions to just 2 on the main Blockchain; one to open the transaction between the main Blockchain and the off-chain, and one to close it;
Offchain State Closure. Image Sources
The lightening network is the most promising scalability solution for the Bitcoin blockchain, which over the past 6 months has experienced the number of daily Bitcoin transactions fall from 500k in December to 200k in May, while the cost per transaction has increased by 50% since February 5th.
In developed financial markets, as the volume of transactions goes up, the cost per transaction should drop (we could see this pattern occur on the internet; as the number of users increased, the cost of transacting money, information, etc decreased dramatically).
These are patterns the Lightening network is expected to help Bitcoin replicate.
Created by Buterin and Bitcoin Lightning Network co-creator Joseph Poon, this is another layer 2 solution that is similar to the Lightning Network.
With Plasma, ‘child chains’ are created on the Ethereum Blockchain (main chain), with there own validators. So a company could create a plasma child chain on top of the main chain with the agreements (or rules) through a smart contract on the main chain.
Child-chains can spawn their own child-chains, who can spawn their own child-chains, and so on.
Scaling Solutions – Image Source
With Plasma we could perform many complex operations at the child-chain level, running entire applications with many thousands of users, while only interacting with the Ethereum main-chain occasionally. The end result would be an increase in transactions per second and lower transaction fees.
There are other solutions that are being developed simultaneously to help with Ethereum's scaling issues. One of them is the Raiden Network which is an off-chain scaling solution created by opening payment channels.
The other solution that is being implemented is Sharding. This is the distribution of nodes to certain groups, so that nodes don't have to validate the whole Blockchains history before validating a new transaction.
Another interesting proposal is that of BloXroute. This is presented in the above image and is another scalability solution that allows all crypto currencies and Blockchains to scale to thousands of transactions per second (TPS) on-chain, without changing their protocol.
Solutions Focused on Scalability
While we mentioned a few cryptocurrencies that could be used as an alternative for their faster transaction put through, they are only solving one part of the Trilemma. There are other coins which have being developed specifically to address the scaling question.
EOS is an Ethereum competitor focused on providing a more scalable alternative using a method called ‘delegated proof of stake”.
With this method, the network nominates multiple “witness nodes” as representatives who help to make certain high-level decisions more quickly without polling the entire network.
This is clearly a more centralized approach, handing control to about 100 witnesses who are voted in by the community. It’s easy to see how such a system could be influenced by internal politics and self-interest (people’s vote strength is determined by how many tokens thsey hold. This means that people who have more tokens will influence the network more than people who have very few tokens).
However, this (along with other system upgrades) has enabled EOS to run tests where they achieved 50,000 tps.
Cosmos aims to become an “internet of Blockchains” that solves the problem of scalability and Interoperability (the ability for many Blockchains to communicate with each other).
With Cosmos, scalability is achieved through the vertical and horizontal approach:
Vertical scalability is the addition of resources to a single system node, such as a single computer or network station, which often results in additional CPUs or memory. Vertical scalability provides more shared resources for the operating system and applications.
Horizontal scalability is achieved by having multiple parallel chains running the same application and operated by a common validator set. This (in theory) makes Blockchains more scalable by enabling smart contracts and transaction processing to execute simultaneously.
Scalability is a problem that has many Blockchains fiercely competing to create a solution that will enable their network to reach mainstream adoption.
As these networks continue to progress, we may have to ask deeper questions about how we define decentralization, and how much decentralization is needed to satisfy a Blockchains ethos while achieving scalability.
Today this is determined by specific use cases, mainly, whether a Blockchain needs “sovereign grade” censorship resistance (in the case of Bitcoin) versus “platform grade” (in the case of Ethereum).
Sovereign grade refers to the need to have decentralization in order to achieve a store of value (like Bitcoin) that has the highest levels of security and cannot be manipulated or attacked by Government (in other words; resistant to Government censorship).
Platform grade refers to giving developers strong assurances that no centralized stakeholder (like a Facebook, Google or Apple) can alter the rules on a platform in ways that would disrupt their ability to continue working on it.
Depending on your perspective as a developer wanting maximum freedom to build, or a currency holder wanting maximum security and autonomy to spend, you should only favor a level of decentralization that allows you to achieve the right amount of censorship resistance needed.
Ultimately, I don’t believe any 1 solution will achieve the perfect balance of scalability, security, and decentralization. This makes the evolution of this space even more interesting as we observe how each network proceeds to implement their own unique approach to the Blockchain Trilemma.
Featured Image via Fotolia
Disclaimer: These are the writer’s opinions and should not be considered investment advice. Readers should do their own research.