What is Plasma and why is Vitalik Buterin into it all over again?
Technological advancement, thanks to zk-SNARKS, puts Plasma back in the limelight
Alexey Smyshlyaev/Shutterstock modified by Blockworks
Ethereum co-founder Vitalik Buterin wants to bring back Plasma as a blockchain scaling solution that could sidestep existing data availability concerns.
First created in 2017, Plasma networks can be considered “child” chains of the Ethereum mainnet. These execute transactions away from Ethereum using their own block-validation mechanisms, then periodically post final states back to mainnet.
In the blockchain world, data tied to computational tasks — such as processing transactions — must be stored somewhere. When stored on-chain this process is often costly and time-consuming for network participants, particularly validators and other node operators.
Full nodes on Ethereum mainnet — and there are roughly 11,000 of them active worldwide — download all the data of each block so that network participants can verify it. This redundancy make it difficult for invalid transactions to be mistakenly executed.
Although great for security, the consensus process hinders scalability as it is inefficient and reduces throughput.
With Plasma, all data processing and computational tasks are kept off Ethereum mainnet — only final verified states are posted to the chain — and thus less data takes up Ethereum block space.
The problem with Plasma
According to Buterin, Plasma was not considered by the current batch of roll-up solutions for its overwhelming costs around client-side data storage and its application limits. This made it difficult to build Plasma-powered apps which did more than simple payments.
In his recent blog post, Buterin discussed a previous Plasma implementation known as Plasma Cash. This system sees each individual coin as its own non-fungible token (NFT) with a unique history.
Operators on Plasma chains create new blocks in the form of a root of a Merkle tree. This means that every time there is a transaction, the owner of that transaction can be found by stepping through the tree.
If an operator chooses to misbehave by publishing an invalid or unavailable block, the owner of that transaction will have seven days to cancel by showing that they are either not the latest owner, that there is a double spend, or that there is an invalid history. This can make for a clunky process in the real-world, Buterin explained.
“If you receive 0.001 ETH each from hundreds of people who are buying coffees from you, you are going to have 0.001 ETH in many places in the tree, and so actually exiting that ETH would still require submitting many separate exits, making the gas fees prohibitive,” Buterin wrote.
Defragmentation protocols do exist, Buterin said, but they are difficult to implement in practice. Further, it is difficult to apply the Plasma design to a generalized Ethereum virtual machine (EVM) as the design requires specific owners to object to false transactions.
Many DeFi protocols on-chain, for example, do not have unique or individual owners, meaning that complex applications would not be able to work on Plasma.
Buterin noted that concerns around Plasma can be resolved with the introduction of zk-SNARKS and validity proofs.
Zk-SNARKS, short for “zero-knowledge succinct non-interactive argument of knowledge,” enables blockchains to prove that information is accurate without revealing the contents of the information itself.
SNARKS are the proof system, and validity proofs are cryptographic proofs which attest that the information is indeed accurate.
“The largest challenge of making Plasma work for payments, client-side data storage, can be efficiently addressed with validity proofs. Additionally, validity proofs provide a wide array of tools that allow us to make a Plasma-like chain that runs an EVM,” Buterin wrote.
Validity proofs will be able to prove that each Plasma block that is on the blockchain is valid — meaning that it will no longer be necessary to worry about who the last owner of each individual transaction on a Merkle tree is.
“In a validity-proven Plasma chain, such withdrawals would not be subject to any challenges at all. This means that, in the normal case, withdrawals can be instant,” Buterin wrote.
Although zk-SNARKs and validity proofs can address significant problems with the previous Plasma design, Buterin reasoned, there are still limitations.
This is most clearly highlighted when a particular state object, such as a token, does not have a clear economic owner.
Buterin drew on the example of Uniswap liquidity provider positions: “If you traded USDC for ETH in a Uniswap position, you could try to withdraw your pre-trade USDC and your post-trade ETH. If you collude with the Plasma chain operator, the liquidity providers and other users would not have access to the post-trade state, so they would not be able to withdraw their post-trade USDC.”
This shows that although Plasma potentially offers useful solutions, there may still be concerns about bad actors, which should be addressed.
Despite this, Buterin believes that Plasma remains an underrated design in the blockchain technology space and could help ease Ethereum transaction fees.
“Rollups remain the gold standard, and have security properties that cannot be matched. This is particularly true from the developer experience perspective: nothing can match the simplicity of an application developer not even having to think about ownership graphs and incentive flows within their application,” Buterin said.
“However, Plasma lets us completely sidestep the data availability question, greatly reducing transaction fees. Plasma can be a significant security upgrade for chains that would otherwise be validiums.”
Don’t miss the next big story – join our free daily newsletter.