Note
For a comprehensive coverage of blockchain development in Ethereum or mastering Solidity programming, taking our below self paced courses is highly recommended:
- Blockchain Solidity Course for Beginners
- Ethereum Developer Course
- Blockchain Security Course for Beginners
Recap
In our previous article (Horizontal Scaling versus Vertical Scaling in Distributed Systems), we covered the differences between horizontal and vertical scaling in distributed systems.
In this article, we learn how to scale up Ethereum blockchain applications.
Scaling Ethereum
Like Bitcoin, the main reason for the Ethereum scalability problem is the network protocol that each node in the network has to process each transaction. Ethereum 1.x implements a slightly modified version of the Proof-of-Work(PoW) consensus mechanism. In Ethereum, miners have to race to find the nonce to meet the target difficulty. Every node needs to verify that the miners’ work is valid and keep an accurate copy of the current network state. This greatly limits the transaction process capability and throughput of the Ethereum blockchain network. Currently it can only process 12-15 transactions per second.
One-to-One Live Blockchain Classes
Coding Bootcamps school offers One-to-One Live Blockchain Classes for Beginners.
Blockchain scalability trilemma
First used by Vitalik Buterin, the scalability trilemma is a concept in blockchain regarding its capability to address scalability, decentralization, and security, without compromising any of them. The trilemma claims that it is almost impossible to achieve all three properties in a blockchain system:
- Decentralization: This is a core tenet upon which Bitcoin and blockchain were created. Decentralization enables censorship-resistance and permits anyone to participate in a decentralized ecosystem without a central authority or intermediary.
- Security: This refers to the integrity and immutability of the public ledger, and the ability to resist 51% or DDoS like network attacks.
- Scalability: This concerns the ability to handle a growing amount of transactions in the blockchain network. In order for the Ethereum blockchain to be the world computer as the inventor envisioned, it needs to match the transaction throughput of many centralized systems, like Amazon, Visa, or Mastercard.
The following diagram is an illustration of the scalability trilemma in the blockchain:
The key challenge of scalability is finding a way to achieve all three at the base layer. The design choices of Bitcoin and Ethereum favor decentralization and security, while making a sacrifice in scalability.
Next Article
In our next article (Review of scaling solutions for Ethereum), we discuss different scaling solutions for Ethereum blockchain applications.
This article is written in collaboration with Brian Wu who is a leading author of “Learn Ethereum: Build your own decentralized applications with Ethereum and smart contracts” book. He has written 7 books on blockchain development.
Resources
coming soon