What Is Plasma?
Plasma is another Ethereum second layer scaling solution in development. It is expected to be the second fully deployed scaling solution on the Ethereum mainnet after state channels. Plasma refers to a framework that allows the creation of ‘child’ blockchains that use the main Ethereum chain as a trust and arbitration layer. In Plasma, child chains can be configured to match the demands of specific use cases, specifically those that aren’t feasible on Ethereum today. Decentralized applications that force users to incur high transaction fees are much better suited to run on Plasma.
Plasma vs. State Channels
Plasma is similar to state channels in that the underlying goal is to move as much transaction bloat off of the main chain as possible. State updates conducted on child chains can always be brought back to the Ethereum network in the case of dispute or if the user wants to stop transacting in the child blockchain.
Child chains can take on varying complexity. They can have their own consensus mechanisms, their own block sizes, and their own confirmation times, the design is very malleable relative to each application. Some developers have even begun researching child chains within child chains..within child chains.
The end goal of all of this is simple: if it isn’t necessary for every transaction to be validated directly on the Ethereum blockchain, we can create dApps today that service thousands of, if not hundreds of thousands of, users.
Is Plasma Secure?
From first glance, there are many potential holes that make Plasma seem insecure. Similar to state channels, Plasma leverages the Ethereum blockchain as an arbitration layer. In the case of a malicious party, users can always revert back to the main chain as a trusted source. The main Ethereum network and child chains are tied together through ‘root contracts,’ which are just smart contracts on the Ethereum blockchain that contain the rules guiding each child chain.
Importance of Root Contracts
Root contracts are also extremely important because they act as the bridge that lets users move assets between Ethereum and the child chains. All assets have to originally be created on Ethereum. This makes it so no malicious activity on a child chain can ever be brought back to the main chain. If Alice moved three cryptocollectible NFTs onto a child chain and can prove she never spent them, she can always withdraw from the child chain and user her assets on the main Ethereum network.
Plasma As A Protection for Malicious Activity
Most potential malicious activity is centered around child chains being largely controlled by central entities. In a DPoS or PoA type blockchain, there are fewer parties who produce and validate blocks, making them more susceptible to corruption. Plasma protects against that risk by allowing users to submit fraud proofs against any of the block producers’ work, effectively creating an economic check on their incentives.
Problems With Plasma
One main caveat of Plasma is that it takes much longer for users to withdraw their funds. While state channels allow users to withdraw their assets any time, Plasma users have to wait a predetermined arbitration window which usually lasts 7 – 14 days. This can be a really poor experience for users who don’t have a large number of assets and don’t want to wait weeks to access their value.
Recap of Plasma
Let’s do a quick run through. Let’s use an NFT game for example:
- Game developer creates root smart contract on Ethereum stipulating the rules of the game
- Users can move their Ethereum NFTs to the child chain through the root contract
- Users transact within the child chain, retaining copies of their cryptographically signed messages
- Users submit withdrawal requests
- Users are able to move their funds on the Ethereum network in 1 – 2 weeks
Implications
Like state channels, Plasma is important because of how drastically it can ease Ethereum’s congestion. Users want cheaper fees and higher throughput, while developers want their dApps to reach scale. This one of the best chances the community has at pushing Ethereum further to the masses.
Plasma and state channels can also be combined to generate compounding effects. There are a number of development groups that are working on building state channel implementations within child chains. Users would be able to transact within child chains at little to no cost and wouldn’t incur any fees by moving funds out of a channel.
Ethereum’s second layer is just getting started, but the groundwork that has already been laid down should make every developer excited about Ethereum’s future.