Ethereum Scalability Solutions

Siddharth Sitpure
6 min readJul 28, 2018

--

Image Source : https://www.facebook.com/ethereumproject

This has been widely accepted now that Ethereum is the future of Blockchain. Its smart contracts functionality promises the growth of decentralized applications. Initial Coin Offerings (ICO) craze has given it premature publicity and expectations sky rocketed. However, despite the immediate success that Ethereum has received so far, truth is that platform is still in infancy. There are number of challenges need to be overcome in order to bring Ethereum to the state where millions of applications can run and transactions can be done at a fractions of the cost.

Scalability

The Ethereum blockchain currently supports roughly 15 to 20 transactions per second compared to, say, the 45,000 processed by Visa. Clearly with current state, Ethereum is not ready to support mainstream applications. In current design, each full node in Ethereum processes every single transaction in network. This ensures network is highly secure but at the cost of scalability.

Problem that is in front Ethereum is that can it be kept decentralization & secured and still achieve more scalability?

Over the period number of scalability solutions have been proposed and few are already in implementation. Mainly these solutions can be categories into Layer 1 and Layer 2 scalability solutions.

Layer 1 scalability

Layer 1 (a.k.a On-Chain) scalability is achieved by improving core components and processes of Ethereurm blockchain. It may involve soft or hard fork and large community need to agree, support and adopt the change. This is daunting task. Ethererum development community has proposed number of solutions and few have been prioritized.

Sharding

The main Idea behind sharding is that to break down the network into smaller groups (shard) without sacrificing security and decentralization and achieve unlimited scalability.

Each shard act as small blockchain in itself, allowing all shards to be operated in parallel. Transactions are confirmed by random validators in shard and main blockchain just stores reference of valid state of each shard.

This greatly increases the number of transaction per second the overall blockchain can process. Also nodes now required to sync and store shard specific data instead of entire blockchain, thereby reducing bandwidth and storage capacity need.

Ethereum is based on proof of work (PoS) consensus mechanism, and sharding with proof of work (PoS) consensus algorithm is not secure.

Proof of Work essentially relies on hash-power to validate the chain. In PoW node requires to solve the cryptographic puzzle and the one that solves the puzzle fastest gets rewarded by tractions fees (gas) and static block reward (mining reward). The hash-power expense in PoW makes it cost-prohibitive to attack the chain.

However, in shard with PoW each shard will require only a fraction of the hash-power. Suddenly it becomes feasible to attack individual shard.

Ethereum is working on code release named as Casper that will implement new consensus algorithm called Proof of Stake (PoS).

Proof of Stake is an effort to remove the extrinsic cost of validating the chain: hash power/electricity cost. In PoS, there is no puzzle to solve, instead validators would deposit (stake) ETH to smart contract. A set of validators take turns proposing and voting on the next block, and the weight of each validator’s vote depends on the size of its stake. Validators are rewarded by transaction gas fees for their service to the network, but the stake also acts as an economic disincentive for attack on chain.

Significant advantages of PoS include security, reduced risk of centralization, and energy efficiency.

According to Ethereum developer Justin Drake, Casper may be rolled out in beginning of 2019 and sharding may arrives in 2020. The two updates will be the base of “Ethereum 2.0”.

Layer 2 scalability

Layer 2 (a.k.a off-Chain) scalability is achieved by implementing independent solutions on top of existing infrastructure to address specific problems. It does not improve original blockchain. This kind of solutions leverages main Ethereum blockchain for security benefits but same time promises scalability by allowing transaction off the chain.

Plasma

Plasma is a proposed framework by Joseph Poon and Vitalik Buterin and was published as a paper in September 2017. Currently MVP has been created.

Plasma is not a protocol, it is a design pattern, a technique. The individual implementations are being worked on by several companies and teams, including companies like Loom Network, OmiseGo, Pegasys, Bankex.

Plasma is composed by two fundamental pieces — the Plasma Root Chain (Ethereum) and the Child Chains with a different consensus mechanism such as Proof of Authority or Proof of Stake.

Root Chain will have a smart contract that knows the rules of the state transitions in the Child Chains. This smart contract will register the state of each Child Chain in form of block hashes originated in the Child Chain, and submitted periodically to the Root Chain smart contract by the entities validating the blocks in the Child Chains. This smart contract will serves as a bridge that lets users move assets between the Root chain and the Child Chain

Plasma lets us scale interactions with blockchain-based digital assets, but those assets should be created first on the Root chain. Then, we can deploy application specific smart-contracts on the child-chain, which contains all of the application logic and rules.

Plasma gives you a basic guarantee that one can always withdraw their funds and assets back onto the Root chain.

It is important to note that plasma specification is evolving and still under development.

State channels

State channels are concept than technology. In State channels idea is that two or more users or application services can exchange state that would normally require a blockchain transaction without needing to use the blockchain. These transactions take place entirely off the blockchain and exclusively between the participants, meaning they are cheap and very fast to execute compared to on-chain payments. State channels can be closed by either party or both party at any predetermined point. The total amount is then settled by a blockchain-based smart contract.

For example it could be used to pay for on demand streaming contents, track movements in game, blockchain enabled smart device communication.

Lightning network is one form of state channels designed for arbitrary state updates.

Raiden

Raiden is an Ethereum’s version of the lightning network designed to handle micro payment at a fraction of the cost. The network will allow for secure transfer of value off-chain using ETH and any ERC20 compliant token.

Sometimes frequent micro transactions are needed to be done between two user or application service. Ethereum in its current form is not suitable for these kinds of frequent transactions.

Network opens off-chain bidirectional channel between two parties of Ethereum blockchain and ERC20 compliant tokens are healed in this channel. These channels then allow two parties to exchange unlimited transactions at fraction of cost and in near real-time. As tokens are transferred across channels, the balances are adjusted accordingly. No on-chain tokens can be claimed before the channel is closed, to ensure that there is no risk of double spending. When the two parties have done transacting, they close out the channel, and the resulting balance is registered on the Ethereum blockchain. In the event of a dispute, both parties can use the most recently signed balance sheet to recover their share of the wallet.

Raiden network let’s two party to exchange transaction if they both are connected with third party. In sufficiently large network, every node will be able to reach to every other node without needing to open channel individually.

Conclusion

There is no single solution for Ethereum scaling. Ethereum is looked at as world computer and it is expected that it should support all kind of decentralised applications. Layer 1 and Layer 2 solutions together would only provide desired scalability to Ethereum. Moreover, each decentralised application would need to choose appropriate layer 2 solution according to their requirements.

If you like my analysis, please clap for me.

Connect me on LinkedIn

--

--

Siddharth Sitpure

Finance & Tech Nerd, Blockchain & Crypto consultant, Entrepreneur