Blockchain Trilemma Explained

  • Home
  • Blockchain Trilemma Explained

Blockchain Trilemma Explained

blockchain trilemma explained-BitDelta

Summary

  • The blockchain trilemma believes that we need to sacrifice one of the three main properties of a blockchain system to sustain the other two.
    These three properties are Decentralised, Secure, and Scalable.

  • Vitalik Buterin, the creator of the Ethereum blockchain, introduced this concept first, trying to find solutions to the Ethereum scalability issues.

  • The high TPS chains and multi-chains are simple solutions that sacrifice either decentralisation or security to achieve scalability.

  • A blockchain can adopt sharding to address its scalability issue without compromising its security or decentralisation.
    Sharding was proposed as a main solution to the Ethereum scalability problem. However, with the unexpected improvements of layer 2 rollups, Ethereum was able to improve its scalability and dropped the initial sharding plan from its roadmap.

  • We can categorise the current solutions into two categories: Layer 1 and Layer 2.
    With layer 1 scalability solutions, the system is trying to improve scalability on the main system while layer 2 solutions are adding some features on top of the mainnet to help it with the load.

  • On the Ethereum blockchain, rollups are divided into two categories based on the way they store transactions’ data on the main chain: optimistic roll-ups and zero-knowledge roll-ups.

Table of Contents

What is the Blockchain Trilemma?

The blockchain trilemma believes that we need to sacrifice one of the three main properties of a blockchain system to sustain the other two. Vitalik Buterin, the creator of the Ethereum blockchain and an iconic figure within the blockchain industry introduced this concept first, trying to find solutions to the Ethereum scalability issues.

But, what are these three main properties a blockchain system is trying to have? 

Blockchain is Decentralised

Blockchain systems are decentralised and do not rely on conventional central servers to run. Blockchain is essentially a database that spreads across a network of machines called nodes. These nodes are computer systems that run the blockchain application and maintain its operations.

The blockchain ledger, a record of all on-chain transactions, is stored on these machines and is used to verify the authenticity of other transactions. Once a new transaction is confirmed, all the nodes on the blockchain system will update their ledger to stay up-to-date.

Members of a blockchain system don’t need to trust each other to operate, making the technology quite useful for trustless applications.

The system simply works with the integrity of the copy of the ledger held by its nodes. If a record matches the ledger held by the majority of the nodes, it is considered authentic and true.

Blockchain is Secure 

Blockchain’s security is highly dependent on the number of nodes participating in the maintenance of the network and how distributed they are. If the systems running the network are located in different geographical locations and belong to various entities, the system is highly decentralised.

Higher decentralisation makes a blockchain system more secure – but why? 

We mentioned above that nodes verify the authenticity of a record by checking their own copy of the ledger.

For instance, if the records say Alice was the last recipient of a Bitcoin, it means that Alice is the current owner of it. Now, if nodes receive a transaction from Mallory requesting to send the same Bitcoin to Bob, they know they shouldn’t verify it because according to their records, Mallory is trying to spend a Bitcoin which belongs to another entity, Alice.

Now, this confirmation relies on the majority of nodes verifying the new transaction and rendering it valid or invalid. So what happens if someone manages to change the records of the majority of the nodes, more than 51% of them precisely?

Well, this is the famous 51% attack that allows a perpetrator to take over a blockchain system by changing the records of more than 50% of the members. The attacker can then spend the coins that belong to other people. We technically call this double-spending.

Now, you would probably understand why the level of decentralisation plays a major role in blockchain security. If the nodes are distributed greatly, the attacker won’t be able to take over 51% of the network or it will be too expensive, making the attack financially unattractive.

Blockchain is Scalable

Scalability refers to the ability of a system to handle more workload without compromising any other factors like performance or security. With a blockchain network, the system needs to process more transactions without increasing the processing time and fee while keeping the security at the same level.

The way blockchain systems verify and store the records and their decentralised nature make scalability quite challenging.

The Ethereum blockchain is a very good example here. With the sudden growth of Decentralised Finance (DeFi), Decentralised Applications (Dapps), and Non-fungible Tokens (NFTs), the Ethereum network started to see increasing demand. The system wasn’t simply capable of handling the new demand which led to increased transaction time and fees.

The transaction fees, specifically, grew in a way that users sometimes had to pay more in fees than the transaction value itself. While exploring solutions to this issue, Vitalik introduced the blockchain trilemma.

The Scalability Trilemma-BitDelta

He argued that “if you stick to “simple” techniques, you can only get two of those three.” In other words, we cannot improve two angles of the triangle without a trade-off on the third.

The scalability issues of first and second-generation blockchain systems, like Bitcoin and Ethereum, propelled developers to look for solutions.

The Blockchain Trilemma: Simple Solutions

Once blockchain scalability became more evident to developers, some fast solutions were proposed that would simply sacrifice one angle of the triangle. The proposed systems were either less secure or decentralised.

The high TPS chains select a group of nodes as trusted members responsible for verifications. Compared to centralised systems, these chains are more secure as they don’t have a single point of failure. However, they are clearly sacrificing decentralisation to achieve high throughput.

Multi-chains tried to increase scalability by spreading the workload on multiple chains. These chains would have to communicate together through cross-chain protocols. This solution proved to be less secure as a small vulnerability in the communication protocol can jeopardise the whole system.

Additionally, the chains are isolated unless they start communicating with other chains. If an attacker manages to take over one of these chains, they can find their way to other chains and affect the whole system.

The Blockchain Trilemma: Sharding

Sharding is a well-known technique used to manage large database systems. For huge database systems, the requests can become quite high, making it challenging for the system to handle them.

See a database like a table; it consists of rows and columns. With sharding, we partition the table into multiple groups of rows and store each group on a separate machine.

These groups of rows are known as shards. The system will know the physical location of data records through shard keys which are usually created based on a specific column.

A Blockchain is essentially a database system and can adopt sharding to address its scalability issue without compromising its security or decentralisation.

Sharding was proposed as a main solution to the Ethereum scalability problem. Vitalik explained that with sharding, only a randomly-selected subset of validators will be responsible for handling specific shards of transactions (instead of all validators being responsible for handling all transactions).

Sharding-BitDelta

However, with the unexpected improvements of layer 2 rollups, Ethereum was able to improve its scalability and dropped the initial sharding plan from its roadmap. Danksharding is now included in the roadmap which will help layer 2 rollups with their data storage.

What are Layer 1 and Layer 2 Solutions?

First, let’s see what layer 1 and layer 2 are referring to.

Layer 1 is the main network such as the Ethereum mainnet. Traditionally, all the transactions were taking place on the mainnet, but as the demand for major blockchain networks such as Bitcoin and Ethereum grew, this proved to be inefficient.

The issue led to the introduction of layer 2, a network that exists parallel to the mainnet and handles some of the jobs on the side. Ethereum rollups and Bitcoin’s lightning network are good examples of layer 2 projects.

With layer 1 scalability solutions, the system is trying to improve scalability on the main system while layer 2 solutions are adding some features on top of the mainnet to help it with the load.

Rollups essentially gather multiple transactions into one transaction off-chain (layer 2) and move it to the main chain (layer 1). The transactions will get executed off-chain and the fee will be divided between all the transactions included in that rollup. This will reduce the transaction fee significantly while improving the processing time.

On the Ethereum blockchain, rollups are divided into two categories based on the way they store transactions’ data on the main chain: optimistic rollups and zero-knowledge roll-ups.

ZK rollups provide cryptographic proofs while submitting transactions on layer 1, while optimistic rollups assume transactions are valid unless suspected otherwise.

Arbitrum One and Loopring are examples of optimistic and zk rollups respectively.

Share:
Most Popular
Stay In The Know
Our articles will find their way to your mail Box!
Social Media