Ethereum co-founder Vitalik Buterin wants to bring Plasma back as a blockchain scaling solution that could circumvent existing data availability concerns.
Plasma networks were first created in 2017 and can be thought of as ‘child chains’ of the Ethereum mainnet. These execute transactions outside of Ethereum using their own block validation mechanisms, and then periodically post the final status back to the mainnet.
Plasma chains differ from popular scaling solutions like Arbitrum or Optimism, which instead send computed data back to the Ethereum mainnet, although it is compressed.
In the blockchain world, data related to computing tasks – such as processing transactions – needs to be stored somewhere. When this process is off-chain, it is often costly and time-consuming for network participants, especially validators and other node operators.
Entire nodes on the Ethereum mainnet – and there are about 11,000 active worldwide – download all the data from each block so that network participants can verify it. This redundancy makes it difficult to accidentally execute invalid transactions.
While good for security, the consensus process hinders scalability because it is inefficient and reduces throughput.
With Plasma, all data processing and computing tasks are kept outside the Ethereum mainnet – only the final verified states are put on chain – and so less data takes up Ethereum block space.
The problem with plasma
According to Buterin, Plasma was not considered by the current crop of end-to-end solutions due to the overwhelming costs surrounding client-side data storage and its application limits. This made it difficult to build Plasma-based apps that did more than just simple payments.
In his recent blog post, Buterin discussed an earlier Plasma implementation known as Plasma Cash. This system treats 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 a transaction occurs, 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 has seven days to cancel by proving that he or she is not the last owner, that there is of double spending or that there is an invalid history. This can make for a clumsy process in the real world, Buterin explained.
“If you receive 0.001 ETH each from hundreds of people buying coffee from you, you will have 0.001 ETH in many places on the tree, and so actually leaving that ETH would still require many separate exits, making the gas cost prohibitively expensive,” wrote Buterin.
Defragmentation protocols exist, Buterin says, but they are difficult to implement in practice. Furthermore, it is difficult to apply the Plasma design to a generalized Ethereum virtual machine (EVM) because the design requires specific owners to object to false transactions.
For example, many on-chain DeFi protocols do not have unique or individual owners, meaning complex applications would not be able to run on Plasma.
Enter zk-SNARKS
Buterin noted that the concerns surrounding Plasma could be resolved with the introduction of zk-SNARKS and validity proofs.
Zk-SNARKS, short for “zero-knowledge succinct non-interactive argument of knowledge,” allows blockchains to prove that information is accurate without revealing the content of the information itself.
SNARKS are the proof system, and validity proofs are cryptographic proofs that confirm that the information is indeed accurate.
“The biggest challenge in making Plasma for payments work, customer-side data storage, can be efficiently addressed with validity proofs. In addition, validators provide a wide range of tools that allow us to create a plasma-like chain running an EVM,” Buterin wrote.
Validity proofs will be able to prove that every plasma block on the blockchain is valid – meaning it will no longer be necessary to worry about who last owns every individual transaction in a Merkle tree.
“In a validity-proven plasma chain, such recordings would not be subject to any challenge at all. This means that in the normal case withdrawals can take place immediately,” Buterin wrote.
Considerations
Although zk-SNARKs and validity proofs can solve significant problems with the previous plasma design, Buterin reasoned, there are still limitations.
This is most clearly emphasized when a particular state object, such as a token, has no clear economic owner.
Buterin drew on the example of Uniswap liquidity providers’ 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 work 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 while Plasma offers potentially useful solutions, there may still be concerns about bad actors, which need to be addressed.
Despite this, Buterin believes that Plasma remains an underappreciated design in the field of blockchain technology and could help reduce transaction costs for Ethereum.
“Rollups remain the gold standard and have security features that cannot be matched. This is especially true from a developer experience perspective: nothing can match the simplicity of an application developer who doesn’t even have to think about ownership graphs and incentive flows within their application,” Buterin said.
“However, with Plasma we can completely avoid the issue of data availability, significantly reducing transaction costs. Plasma can be an important security upgrade for chains that would otherwise be validiums.”