Let’s start with some good news about Ethereum
100,000. The number of refugees served by the World Food Programme’s Ethereum Experiment in Jordan.
16,678. The number of live Ethereum nodes.
1,000,000+. The number of downloaded MetaMask Ethereum browser extensions.
1,552 decentralized applications currently launched on Ethereum.
35,000,000+ unique addresses on the Ethereum blockchain.
30x more Ethereum developers than the next blockchain community.
And now some bad news –
May 20, 2018– Ethereum Network Congestion Doubles Gas Fees as Game dApps Capture $7.5M in 24 Hours
July 03, 2018 – Ethereum (ETH) Network Congested Again, As Market Prices Revive
While good news points to the fact that Ethereum is a treasured network, helping people and snowballing, the bad news highlights the fact that an increase in user base, leads to congestion resulting in price hikes. A quick glance, on major Ethereum congestion issues, in last six months we would find it was mostly because of the transaction of Ethereum based Dapps that affected the transaction throughput hence caused congestion. Bottomline – Ethereum is facing scalability issue. Fortunately, the community is working hard to launch two new improvements Plasma and Sharding that could scale up Ethereum network to support tens of thousands of transactions per second. Let’s explore it in detail –
What is Ethereum Scalability Problem?
Every website/software or network intends to support as many users as it can, but unfortunately, the architecture does not support infinite users, Ethereum also faces the same issue. Due to a hard-coded limit on computation per block, the Ethereum blockchain network supports ~ 15 tps[transaction per second]. Now when a new release of Dapps is initiated, the network is flooded with transactions, but due to its architecture, it could only process handful, thereby causing delays and congestion on the network. The technical glitch has been under discussion by community and researchers.
Why is scaling so difficult?
Ethereum blockchain by design uses a combination of software tricks and incentives, which ensures to precisely record who owns what with a central authority. Ethereum is also dependent on a network of nodes, where each node stores the transaction history [entire], the current account balances, storage, and contracts. Overall it is a cumbersome task, leading to an increase in transactions and size with each new block.
Now, the concern is, to strike a balance in finding the key[to validate the transcation] and also grow the number of users [like to purchase stuff online or play games]
Rising the block size could be an option, but then it would throw individuals off the network as not many individuals could fund to facilitate large data nodes. However, the irony is that running a full is the best way to achieve benefits of security and privacy. But full nodes would limit the number of people that could validate the transactions.
What is Plasma?
In our last post, we mentioned how Bitcoin Scalability Problem could be resolved by a concept called as Bitcoin Lightning Network, similar to the technique is Plasma where the transaction is carried off-chain, and root-chain is responsible for maintaining security and privacy. In the current state, Ethereum, chain of blocks performs computation, storing, transferring and even processing of data, channeling some of the tasks onto a different channel, i.e., off-chaining could help to reduce the load but assures the pros of a decentralized, immutable and distributed network.
Plasma blockchains are a chain within a blockchain. So there would be a root chain[e.g., Ethereum], linked to it would be a child-chain [off-chain, Plasma] that could again spawn its child-chain and this process could continue. So Plasma is many branching blockchains linked to one root blockchain. Plasma is also known as Layer 2 solutions because it is built “on top of” the Ethereum main-chain. It does not require changes to the base level protocol — instead, it exists merely as smart contracts on Ethereum that interact with off-chain software.
The smart contracts are still handled by Ethereum network, the only change that would be seen is the broadcasting of the completed transactions to the public Ethereum chain. So, for example, there are two parties
Transferring 5$ to B
Transferring 10$ to A
Transferring 25$ to B
Transferred 20$ to A
One could think of a TREE structure that at a set frequency communicates/transfers information with its root-chain.
With off-loading the child-chain gets an added advantage to performing complex computation, helping developers to launch innovative dapps and get more users. One of the most significant advantages of the Plasma chain is that it could run a faster speed, lower cost and all of the data need not be replicated across the entire network.
How does Plasma work?
Let’s pick a conceptual example to know How Plasma works?
Suppose Mike and Alan are keen on playing chess, where the winner receives 5ETH. There could be two possible ways to implement it on a blockchain network –
The plain and simple way of implementing this would be to create a smart contract on root chain[i.e., ethereum], feed the rules, logic, and a track of players moves. Every time Mike and Alan make a move, a transaction is sent out to the contract. And when one of them wins, the contract pays 5ETH to the winner.
By design and execution, this method would work but would be slow and inefficient. For each transaction made they need to pay the gas cost and wait before making the next move until the blocks are mined. Also, imagine if the number of players increases just recently when crypto kitties was launched, and it caused congestion to the network.
Going Plasma Way
On the root-chain, i.e., Ethereum main chain we create a set of smart contracts of our Plasma child-chain. The Plasma root contains the state transition rules [rules, logic, and track of players move, records hashes] and acts as a bridge, which allows players to move assets between the root-chain and the child chain.
Now, is the time to create child-chain. The child chain could have its consensus algorithm and depending upon the consensus it would have validators [i.e., one who validates blocks that the transaction is true or not]. Once the child-chain is active, the validators could schedule a periodic commitment to the root. That means I commit that the most recent block in the child-chain is X”. These commitments are recorded on-chain in the Plasma root as a proof of what has happened in the child-chain.
We have in place the Plasma root; the child chain, now is the time to create the essential components of our game. Here is the twist – the basic components of the game could be built on the Ethereum main chain, and via the Plasma root could be moved onto the child chain, which means Plasma allows you to scale interactions with blockchain-based digital assets, but those assets should be created first on the Ethereum-main chain. Once that is done, you could deploy them onto the child chain that would have the components, logic, rules.
While players interact over a child chain, without even interacting with the main chain that leads to a much smaller node to process transactions, lowering fees and faster processing.
Has Plasma been Implemented?
Plasma is in a very nascent phase, while Vitalik research of Minimum viable product [MVP] has the details, the work is still in progress. One of firm OmiseGo in Jan 2018 did launch the information on how they are building Plasma. You can explore them here.
Plasma – The Questions Unanswered
- Could implementation of Plasma delay a vital transaction to be added to Ethereum main network
- The cost involved in running a sidechain? Could this have any effect of the gas price?
- The deployment and execution plan of Plasma onto Ethereum network?
- Would Dapps start with Plasma initiative or is it Ethereum?
- The role of miners in case of child chain floating around?
With some unanswered question, we do hope Plasma helps Ethereum in scaling up. However, only time will tell….
Our next article would talk about Sharding and the benefits it has for Ethereum. Stay tuned.