Scaling Ethereum: Plasma

Gaurav Toora
3 min readOct 23, 2021

In the recent past, due to the launch of various defi applications on ethereum, the transaction costs have sky-rocketed. They are in the range of anything between $20-$50 now. Also, the transactions per second(tps) are also limited to 15–20 due to the use of Proof of Work as a consensus mechanism. This is a major bottle neck in the mass adoption of blockchain as it is really inconvenient for masses to pay high transaction costs and wait for at least 15secs and 10 minutes(in the case of bitcoin) to confirm transactions.
Researchers are coming with new solutions to tackle this problem and are mainly categorized into two.
One way is by upgrading layer 1 itself. Nodes can use better hardware but that would then bring the risk of centralization as only a few nodes would be able to run full nodes. Also, as we will increase the block size to include more transactions it will take more time to propagate and verify blocks.
Ethereum community is currently working on Eth 2.0 to scale layer 1 itself by changing the consensus mechanism to Proof of Stake and using the concept of sharding. In sharding, the work of building and verifying the chain is planned to be split up across multiple nodes.

In the meantime, people are coming with layer 2 solutions to scale ethereum by taking a few transactions off-chain. Bitcoin and Ethereum are described as Layer 1 as they settle all the transactions on their network. On the other side, layer 2 solutions offload a few transactions off-chain but final settlement is done on layer 1 i.e. mainnet in the case of ethereum. They scale the blockchains without compromising on security and decentralization.

This is achieved by having a smart contract on the main chain, which processes deposits and withdrawals, and verify proofs that everything happening off-chain is following the rules. Famous layer 2 solutions include State channels, plasma, roll-ups and side chains. Let's briefly learn about Plasma.

Plasma:
Users deposit assets to smart-contract on the main chain and move to the offchain. Plasma chain assigns a unique id to each asset onboarded on it.
The plasma chain has an operator (which could be centralized or use PoS) who batch together the transactions done off-chain and create a Merkel tree at regular intervals. The root of this Merkel tree is published to the main-chain. In the Merkel tree at each index “X”, there is a transaction transferring asset ID X if such a transaction exists, and otherwise, that leaf is zero. They also send the Merkle branch of each index X to the current owner of that asset. For withdrawal, a user publishes the Merkle branch of the most recent transaction sending the asset to them. The contract starts a challenging period, during which anyone can try to use other Merkle branches to invalidate the exit by proving that either (i) the sender did not own the asset at the time they sent it, or (ii) they sent the asset to someone else at some later point in time. If no one proves that the exit is fraudulent for (eg.) 7 days, the user can withdraw the asset. Using plasma, users can send assets to any participants who were never part of the system but it requires each chain to publish one hash at regular intervals. Additionally, exits from Plasma take longer durations for example 7 days.

Please join our discord server to learn more about Blockchain and exciting updates happening in the blockchain world.
Link to join discord server: https://discord.gg/nwqqqc5VdG

--

--

Gaurav Toora

Co-founder, GrowSathi. Blockchain Enthusiast, Validating assumptions and making products.