Topics Tech Deep Dive

The Blockchain Trilemma: Can It Ever Be Solved?

Advanced
Tech Deep Dive
27 июня 2022 г.

The world around us is all about the trade-offs we make to achieve certain results. The blockchain trilemma is no different, so it’s crucial to understand whether the problems associated with blockchains can ever be solved. Developers are pouring time and energy into solving this problem, and we’ll look at how blockchain scalability, security and decentralization can work together. These three features are fundamental to how blockchains function, with a growing acknowledgment that you can only get two out of the three. That means every blockchain must sacrifice something to work as efficiently as possible.

What Is the Blockchain Trilemma?

The blockchain trilemma is the concept that decentralization, security and scalability can’t all be represented in one blockchain.

The term blockchain trilemma was coined by Vitalik Buterin, co-founder of Ethereum. He proposed this term because of his experience working on Ethereum, the second most popular cryptocurrency on the internet, which suffers from problems similar to those of the Bitcoin network. The main issue with Bitcoin is that its network isn't as scalable as many people would like. The blockchain trilemma is all about the three things that developers want — decentralization, scalability and security — and the vexing need to choose two out of the three.

An Example of the Blockchain Trilemma: Bitcoin’s Scalability

Bitcoin is a great innovation, but its platform isn’t the most scalable. However, Bitcoin does have one of the most secure and decentralized platforms on the internet. In terms of scalability, it has unfortunately garnered a poor reputation thanks to its less-than-ideal transaction speeds. This makes it suboptimal if you’re trying to use it as a currency. When compared to card processors like Visa and Mastercard, Bitcoin lags behind because the competition processes transactions in milliseconds. While this situation has been remedied thanks to the Lightning Network, this Layer 2 scaling solution introduces its fair share of problems. Ultimately, any cryptocurrency looking to be used as a fiat currency must be able to sufficiently scale.

The issue that Vitalik Buterin was talking about is whether or not it’s possible to achieve all three of these features in a single network. Many developers have concluded that achieving all three features is impossible, and that it comes down to making do with what is possible with the current technology — and figuring out how to make the trade-off in a real-world environment. As much as each project tries to optimize their network, there will be some shortcomings with each blockchain design. Thus, the key for developers is to figure out how much of each characteristic they’re willing to sacrifice in order to achieve optimal performance.

Decentralization in a Blockchain

Blockchain decentralization is a major reason why people prefer cryptocurrencies over current fiat currencies. When your currency is controlled by one individual or entity, you’re always at their mercy. An example is the U.S. government and its monopoly on the U.S. dollar. If you’re blacklisted or sanctioned, your assets in dollars could then be frozen. You never truly have complete control over your currency. Blockchain decentralization solves this problem by ensuring that no one individual or entity ever controls the asset. Bitcoin is the most famous example. In essence, no one controls your access to Bitcoin, and you can freely own and transport your Bitcoin in every situation.

Unfortunately, a major issue with large scale blockchain decentralization is figuring out how to achieve it. One stumbling block is network management. The Visa network is an example of what it looks like when a virtual currency isn’t decentralized. Every single transaction done over VisaNet needs to be processed by one of the many servers Visa has across the world. Visa is responsible for ensuring that the network is resilient and always functions with no downtime. 

However, because of this, they control everything to get you transaction times that are shorter than a second. On top of that, the transaction fees are relatively low when compared to many other networks. Because of this, many people are moving toward a cashless society that will remove the need to carry physical money around.

As you can see, blockchain decentralization negatively impacts a network’s security and scalability. Blockchain decentralization is crucial — because it requires that you sacrifice one other feature to have the most optimal network possible. Ultimately, blockchain decentralization is better when one entity or individual doesn’t control the entire network. However, blockchain scalability or security are sacrificed when prioritizing blockchain decentralization.

Scalability in a Blockchain

Unfortunately, blockchain scalability is a significant problem that has kept many cryptocurrencies from being used on a mass scale. In order for a blockchain to be practical, it needs to progress to a stage where it's subjected to thousands of transaction requests and is able to process them rapidly.

Ideally, projects would want their blockchain to be able to scale to millions of transactions per second (TPS). This is one of the many reasons why Visa and MasterCard are used all over the world. After all, no one would use these cards if you needed to wait 20 minutes or more for your transaction to be processed — and no store would want to use this network if they had lengthy lines because it took so long to process transactions. Blockchain scalability needs to be built in because developers need to figure out how to make it work for specific use cases, rather than just looking at transactions per second.

Security in a Blockchain

Blockchain security is the third feature many networks might choose to relax when it comes to the blockchain trilemma. Good blockchain security means that everything should be robust so that no one can take over the network — for example, capitalizing on network vulnerabilities to insert transactions into a network. 

The major downside to maintaining blockchain security is that it takes a lot of processor power to achieve it. This might be a problem if blockchain decentralization goes into effect as well. When you combine this necessity with the realities of blockchain decentralization and scalability, it means you have to expand processing power tremendously to achieve a small improvement in your TPS rating. These are the things that blockchain developers must balance out when trying to build a network. They have to figure out which one of the three they want to sacrifice.

With blockchain decentralization, another issue is consensus. What is the correct transaction for each ledger? When you’re writing a transaction into the blockchain ledger, how do you ensure that the transaction gets correctly updated to all of the nodes? This takes a lot of processing power — which is why it’s important to understand how to balance security with other features inside a blockchain network. Blockchain security is only going to become more important as its utility increases. An example of security gone wrong is with blockchains that use smart contracts.

Security vs. Scalability

The general idea with blockchain security is that it works in retrograde to blockchain scalability. Blockchain security requires that you use additional processing power to ensure that no one exploits the network. However, the major problem with this is that, as a consequence, there is now less power to process transactions. Developers have to decide between processing more transactions or maintaining enhanced security. On top of that, the more decentralized a network is, the longer it’s going to take to reach consensus — making it even more difficult to achieve ideal simultaneous blockchain decentralization and security. Many people are currently attempting to figure out how to make both of these concepts work correctly, without major downsides to the network.

An example of a secure network is Visa, mentioned above. It offers a credit card processing network that delivers millions of TPS. Despite this, blockchain security is never an issue with them. We almost never hear about anything being exploited. However, when something does happen, it’s usually because the vendor has done something prohibited. It’s never the credit card processing company itself with problem that’s been exploited. 

Most blockchains are quite secure, and security breaches aren’t an ongoing problem for most networks. However, as mentioned, security comes at the price of scalability. This has many people thinking of various ways they can improve security and transaction processing capability — without destroying the essence of the network.

Different Approaches to the Blockchain Trilemma

Solana (SOL)

Solana tries to solve the blockchain trilemma by utilizing enterprise-grade servers and a
Proof of Stake (PoS) system. It relies on synchronization to achieve consensus, utilizing a small number of servers to get to blockchain decentralization. However, despite this, there are problems with blockchain decentralization. The average price of a server is about $10,000, with a requirement to stake thousands of coins in order to become a part of the processing cluster — something that, in general, is only possible for corporations and wealthy individuals. This hampers decentralization efforts, as SOL is a coin that only a minority of people are able to support.

Polkadot (DOT)

Polkadot offers a novel data availability and validity scheme to allow many types of blockchains to work with each other, with the ability to create a custom blockchain quite quicklyThis means you get interoperability and security at the same time. It uses a next-generation POS framework in order to achieve energy efficiency. The heart of this blockchain are its Relay Chain and Parachain. It also uses validators as a way of ensuring the network achieves consensus, a significant improvement over Solana.

Cardano (ADA)

Cardano offers the benefit of being one of the most environmentally sustainable protocols. It uses the Ouroboros secure blockchain protocol, meaning that it has security built in. However, that security sacrifices processing speed, meaning that the network doesn’t process transactions as fast as some others do. However, it’s a lot easier to become a part of the network, as it doesn’t have the gargantuan processing requirements needed for a network like Solana.

Fantom (FTM)

Fantom claims to have solved the blockchain trilemma problem Its network offers more than 200 DApps, making it one of the most widely used crypto tokens. Fantom’s aBFT consensus protocol allows the network to achieve the speed, security and reliability of which they boast. Another piece of Fantom’s solution to the blockchain trilemma is its validator nodes, which help establish it as a trustless and leaderless system. Thus, blockchain decentralization is achieved to a high degree with Fantom and FTM.

Avalanche (AVAX)

The Avalanche network has another successful approach to reining in the limitations of the blockchain trilemma. Their blockchain decentralization is achieved primarily by offering rewards to people who stake and run a validator node. These rewards are quite impressive, meaning that prospective validators don't have to put in a lot of tokens to get started. 

In addition, Avalanche’s minimal hardware requirements are impressive. One can start as a validator with inexpensive hardware for less than 1/10th the price of the hardware needed to become a validator on the Solana network.

It’s clear that being a validator is important for both blockchain decentralization and scalability. However, not many people are incentivized to become validators. Doing so is often too expensive or complicated to make it work, limiting its benefits to just a few

Potential Solutions to the Blockchain Trilemma

There are a few potential solutions to the blockchain trilemma, to be implemented independently. Many developers are also figuring out how to achieve the blockchain trilemma on each part of a network.

Layer 0

Proof of Work (PoW) consensus such as Bitcoin’s is inferior for achieving a solution to the blockchain trilemma. Instead, it’s best for PoW networks to switch to a PoS system. By doing so, blockchains increase scalability and processing speeds. This change also makes it a lot easier for people to become part of a network. With a good consensus algorithm, it’s easier to grow a network as well. The foundational aspects of Layer 0 cannot be overstated. Nothing can be done well if this layer is poorly designed.

Relay Chains

Polkadot’s Relay Chain allows multiple blockchain networks to connect to each other quite easily because they can connect to plenty of networks without the downsides inherent to the blockchain trilemma. Parachains run in parallel to the Polkadot blockchain. They use the Polkadot Relay Chain to achieve maximum scalability, security and governance.

Layer 1

The main consideration for Layer 1 is figuring out how to scale. That means tweaking the consensus mechanism or other  aspects of the blockchain that can increase scalability. Layer 1 provides the foundation needed in order to ensure the network works at its proper capacity. Networks that don’t have a solid Layer 1 invariably end up having problems down the road.

Consensus Protocol Improvements

There are many ways to achieve consensus on a blockchain, but the faster it’s done, the better one can solve the blockchain trilemma. The main issue is to ensure that consensus is achieved correctly and completely. Several algorithms take shortcuts, but they typically end up where they need to be. Solana offers a proof of history consensus, which ensures that transactions are in the current sequence and from the right leader. Leaders are chosen ahead of time, which saves time in achieving  network consensus.

Sharding

Sharding is a concept taken from the database world. This innovation is important for databases because it’s one of the many ways to scale across multiple servers. Otherwise, you’d need to keep the entire database on one server. The same thing is true of a blockchain. If each validator must contain the entire blockchain, it’s inefficient because there are several validators keeping the identical data, even when they don't need it. This makes it difficult to achieve consensus because it has to be done among all nodes in the validator chain. 

Sharding splits up the blockchain and separates it across multiple validators. It’s a risky way of doing things because of the theoretical possibility that all validators holding a certain shard might go down. In this case, the entire piece of the blockchain would be lost. There are several algorithms to prevent this from occurring, which is one of many ways to improve the process Ethereum offers shard chains as a way of improving scalability. This method splits the entire blockchain horizontally, putting the load across multiple servers and making it possible for network participation and processing power to increase geometrically.

Layer 2

Layer 2 blockchains exist to improve the processing speed of the base blockchain. However, these solutions must be approached intelligently to achieve sufficient blockchain processing speeds.

Nested Blockchains

A nested blockchain exists within another blockchain. Layer 1 blockchains delegate processing to a nested blockchain, meaning that custom processing solutions can be created relatively easily. This is one of the best and easiest ways to solve the blockchain trilemma without too much difficulty. The biggest example of this is Ethereum Plasma, which uses a separate blockchain that’s anchored to the main chain, capable of offering proof of fraud to arbitrate disputes.

State Channels

A state channel essentially has delegated transaction processing and capacity. Its nodes don’t require validation, meaning that it’s like an adjacent resource that does what it needs. The Layer 1 network only requires that the final state of the channel be recorded into the blockchain.

Sidechains

A sidechain is essentially a separate blockchain that connects to the main blockchain by using a two-way peg. It increases the existing blockchain’s interoperability and processing power. For example, Bitcoin’s network can use sidechains to process transactions even faster. This is one of the many ways people are getting more performance out of Bitcoin, even when technically it shouldn’t be possible.

Rollups

Essentially, rollups process transactions outside of the Layer 1 blockchain and post it later when consensus is reached. This separates a lot of the process that goes into Layer 1 performance. A big piece of the puzzle is the Zero-Knowledge Rollup (ZK-Rollup), which processes hundreds of transfers off of the current blockchain and posts them at a later date. It speeds up everything, and is therefore one of the best ways of improving performance.

Can the Blockchain Trilemma Be Solved?

There is no one solution when looking at how the blockchain trilemma can be solved. It’s theoretically impossible to achieve the Holy Grail. The best that we can do thus far is to optimize each blockchain as much as possible to achieve its stated goal. We might experience a future with virtually infinite computing power and geometrically faster network transfer speeds. In that environment, the blockchain trilemma could be solved relatively easily. It would stop being a problem because transaction speeds would be propelled “to the moon.”

The Bottom Line

The blockchain trilemma is currently a major problem for most developers. However, like anything else, once we understand the nature of the problem, we have a much better chance of finding a solution to it. Many developers are working on the complexities of the blockchain trilemma, and they’re quite optimistic — so we should be too.