Ethereum is the most popular platform to create decentralized applications and for it is used for most ICO’s. But Ethereum has some scaling issues and in this post I will show how serious this scaling issues are and how the can be solved.
Scaling issues
Ethereum can only handle around 12 transactions per second which is very similar to a blockchain like bitcoin. Compared to traditional services on the internet Ethereum has very limited number of possible transactions. For example, every second are uploaded 850 images on Instagram, sent over 8000 tweets, watched over 74000 YouTube video and are done over 67000 Google searches. This shows why today it would not be possible to create a similar service on a blockchain.
That small amount of possible transactions per second can cause a network congestion and in that case, users have to wait more time until a transaction is confirmed. The game CryptoKitties, which uses smart contracts to buy and sell virtual kittens, showed in December 2017 that Ethereum in its current state cannot handle dapps with a high number of transactions and it can easily be congested. CryptoKitties alone was responsible for 12% of all transactions.
Scaling solutions
To increase the possible transaction on the Ethereum network different scaling solutions are planned. Some solutions are on-chain solutions and some solutions are off-chain scaling solutions.
The first scaling solution is a transition from the proof of work consensus algorithm, which Ethereum is currently using, to a proof of stake consensus algorithm. This switch should remove the high power consumption of a proof of work algorithm.
The next scaling solution is the implementation of Ethereum is sharding, where the network is split into multiple partitions which are called shards and then the miners don’t have to verify all transactions, they need only to verify the transactions of one shards. In this way sharding allows to verify transactions in parallel.
An off chain scaling solution is plasma which allows to connect multiple child chains to the Ethereum mainchain. By using child chains many transactions can be moved from the Ethereum mainchain to a child chain and this helps Ethereum to reduce the number of transactions.
Another off-chain scaling solutions are state channels, which allow to process some transactions completely without a blockchain. This is similar to the Lightning network for Bitcoin.
These scaling solutions are implemented independently and when all solutions are implemented, it should be possible for Ethereum to process enough transactions for most applications. Vitalik Buterin said that after the implementation of Sharding and Plasma it would be possible for Ethereum to achieve over 1 million transactions.