Plasma, which once claimed to have unlimited capacity, is now disappearing without a trace. ZK Rollup and Optimistic Rollup, which are weighing each other, are on the rise.
That was 2017 in August The price of Ethereum's native token ETH is close to the highest level in history. The Ethereum blockchain is bursting with the increase in usage. The chain is overwhelmed by the growing demand. Researchers and developers are frantically searching for new expansion solutions . At blockchain conferences around the world, developers discussed different scaling recommendations. The Ethereum community desperately needs a solution. In this frenzy, the first version of Plasma's paper was released, which promised to provide a layer 2 expansion solution , saying it could handle "almost all financial calculations worldwide."
TechCrunch's coverage of Plasma
takes us fast forward to 2020 . Ethereum is still as slow as ever, but it has defeated all the so-called "Ethereum killers". The release date of Ethereum 2.0 has been continuously delayed, and as many development teams have died down, Plasma seems to have completely disappeared.
New solutions such as optimistic and ZK rollup are hailed as the best expansion solutions. And Plasma's memories seem to have disappeared without a trace.
So, who killed Plasma?
Let's set the time back to the beginning of 2017. Ethereum became mainstream for the first time, and people are full of optimism about the near future. Some claim that all valuable assets will soon be tokenized. There are only standing places at various parties in San Francisco, and whenever Ethereum is mentioned, the crowds gather. But Ethereum does not achieve scalability .
In this boom, Vitalik Buterin and Joseph Poon published a paper describing a new layer 2 expansion solution called " Plasma ".
Vitalik Buterin and Joseph Poon introduced Plasma
Plasma's claim at a conference in San Francisco that it could expand Ethereum to Visa- level transaction volume, a bold statement that thrilled developers and the community. Soon after, Ethereum's research team gathered around Plasma as a solution to the scalability problem of Ethereum.
But what exactly is Plasma and why did it fail to deliver on its promises?
How does Plasma work?
The original Plasma white paper described a mechanism for constructing a MapReduce " blockchain tree ". Each node in the tree represents a unique blockchain, which is connected to its parent node, and all these blockchains are arranged in a huge hierarchy. However, the original specifications were vague and complex. Shortly after its release, Vitalik simplified the specification in a new paper entitled MVP(Minimal Viable Plasma) .
Plasma " Blockchain Tree"
MVP proposes a simplified version of Plasma: a simple UTXO- based sidechain that maintains security in the event that data is not available. But what is a side chain? What does it mean when data is unavailable? Before diving into Plasma, let's look at the meaning of these terms.
A side chain is a blockchain that is connected to another blockchain. Sidechains can be operated in many different ways, such as by a trusted third party, a certain alliance, or a consensus algorithm. For example, Blockstream participates in an alliance sidechain on the Bitcoin network called Liquid. Liquid weighs in its trust model, thus ensuring higher transaction throughput. Users must believe that the alliance will not collude and steal funds. In this case, the blockchain operators are various members of the Liquid Alliance, such as Blockstream.
Visualization of Liquid peg-in and peg-out mechanisms
A sidechain is connected to a larger blockchain (such as Bitcoin) through a two-way hook . Users can deposit funds into the sidechain by sending funds to a specific address or a smart contract on the main chain. This is called a " peg-in " transaction. To withdraw funds, users can perform the same operation on the side chain and get their funds back on the main chain. This is called a " peg-out " transaction.
But what does this have to do with Plasma?
As we saw in the example above, moving funds out of the sidechain requires a key component: trust. Users must believe that sidechain operators will not abscond with their funds.
But isn't the main feature of blockchains trustless? What if users want to interact with the sidechain without trusting their operator?
This is exactly what Plasma is trying to solve.
Plasma's design minimizes the trust requirements of sidechain operators. That is, even if the operator (or the majority in the consensus) misbehaves, Plasma can prevent theft of funds.
But even if operators cannot directly steal funds, there is another problem with sidechains. What if the sidechain operator publishes a block header but refuses to publish the underlying transaction data? This will prevent anyone from verifying the correctness of the sidechain.
This concept is called data unavailability. Plasma tries to ensure the safety of users even if the operator refuses to provide transaction data-in case the operator refuses to publish the data, all users can still get their funds back out of the sidechain.
Plasma has made a great commitment to its security and scalability, giving people hope. Therefore, in the 2017 bull market, it is not surprising that Plasma can solve the scalability problem of Ethereum. But as the market sobered up in 2018, the blockchain hype collapsed, and a more realistic picture of Plasma began to emerge.
In real-world deployments, Plasma poses more problems than solutions.
The first problem is that each user must monitor and verify all transactions on the Plasma MVP chain to detect the behavior of malicious operators and exit in a timely manner. However, transaction verification is costly, and this monitoring requirement adds significant overhead to participating in the Plasma chain.
The researchers also realized that it is difficult for users to exit the Plasma chain. When users try to withdraw funds from the Plasma MVP chain, they must submit a withdrawal transaction request and then wait for a period of time. This is called the challenge period. At any time during the challenge period, any user can challenge the withdrawal of another user by providing proof of invalid withdrawal (for example, they are minting fake tokens or stealing someone else's tokens). Therefore, all withdrawals can only be processed after the end of the challenge period, and some challenge periods can be as long as 1 week.
But things got worse.
Keep in mind that even if the operator deducts the data, we want users to be able to withdraw funds from the Plasma chain. The MVP process is this: If Plasma transaction data is detained, each user needs to exit and get funds according to the last valid state of the Plasma chain. (Note: In order to prevent malicious operators from seizing the opportunity of honest users, the priority of exit is sorted according to the time of their last transaction.
The growth of Ethereum storage
in the worst case, if all users need to exit a Plasma Chain, then the entire valid state of the chain must be published to the Ethernet mainnet within a challenge period. Considering that the Plasma chain can grow arbitrarily, and the Ethereum block is already close to its capacity, it is almost impossible to dump the entire Plasma chain on the Ethereum mainnet. Therefore, it is almost certain that a large number of exits will crowd Ethereum. This is the so-called batch exit problem.
As prices began to plummet in 2018, Ethereum followers began to realize that Plasma MVP wasn't the all-in-one scalability solution they expected. There is no way to overcome its weaknesses. Plasma MVP is a dead end. Ethereum is still struggling with its transaction load, and Ethereum 2.0 is many years away from us.
Next-generation Plasma In
mid-2018, as prices continued to fall, the research community of Ethereum continued to try to improve Plasma, and repeatedly studied the design of Plasma MVP. The new version they proposed was called Plasma Cash .
According to its main designer, Vitalik Buterin, Plasma Cash will allow arbitrary height per secondThe volume of transactions and solve the problems that plagued its predecessor. Some even claim that this new design can reach hundreds of thousands of transactions per second.
First, let's remember the problem with Plasma MVP .
Bulk exit issues when operators misbehave
Users must wait for the end of the entire challenge period to withdraw money
Users must monitor all transactions on the Plasma chain
Plasma Cash has a major advantage over MVP: By using different data models, Plasma Cash can completely avoid the problem of batch exits . In Plasma Cash, all tokens are represented as non-homogeneous tokens (NFT) , which makes the proof of ownership of a token easier. In simple terms, it is the user's responsibility to prove that they own the token, not others. Therefore, users only need to monitor their own tokens, not the entire Plasma chain.
Plasma Cash also proposes a new interactive challenge system that allows users to easily withdraw funds in the event of operator misconduct. With a new Merkle tree structure, the " Sparse Merkle Tree ", users can easily verify the history and ownership of tokens using proof of inclusion. In the case of operator misconduct, users only need to publish on-chain proofs of the tokens they currently own ( including the 2 most recent transactions and corresponding proof of inclusion) .
However, Plasma Cash poses a new set of issues.
First, a malicious user or past owner of the token may make a wrong withdrawal attempt . Because users need to prove that they own their own tokens, it is actually these users who discover and question that their money has been cheated. Therefore, like Plasma MVP, Plasma Cash requires users to go online at least once every two weeks to detect incorrect withdrawals in a timely manner during the challenge period.
In addition, in order to prove the ownership of the token, the user must maintain the entire history of the token and corresponding proof of inclusion / exclusion, resulting in increasing storage requirements.
By the end of 2018, the price of ETH had fallen to the bottom , and utopian optimism no longer existed. Although Plasma Cash is an improvement over MVP, it is not a Visa-scale solution promised by Ethereum. Its MapReduce "blockchain tree" is now a daydream. Most companies developing clients for Plasma Cash have put their work on hold and their implementations are in a semi-complete state.
The Ethereum community is at an impasse. Although new Plasma architectures continue to emerge and improve slightly from their predecessors, the Ethereum community has failed to unite to support any of them.
Plasma seems to be dead.
Rollup
comes at a time when people's confidence in the second layer has bottomed out, and a user aliased as Barry Whitehat has publicly announced a scheme called " roll_up " on GitHub . This report describes a new type of Layer 2 capacity expansion solution: a Plasma-like architecture and "packaged" transactions. It does not rely on trust in the operator. The correctness of packaging can be achieved by using a SNARK 's On-chain evidence to prove it.
This SNARK ensures that it is impossible for operators to post malicious or invalid transactions, and that all sidechain blocks are valid.
Soon after, Vitalik Buterin released an improved version of Barry's solution, which he called zk-Rollup . zk-Rollup has become one of the most viewed posts on the Ethereum forum. Vitalik recommends introducing a solution to avoid Plasma's data availability problem: publishing sidechain transaction data on the Ethereum blockchain.
Publishing transaction data as a function parameter means that you can verify it at the time of publishing and then discard it so that it does not take up Ethereum storage space. zk-Rollup can avoid Plasma's exit games and challenge periods without sacrificing affordability or security. With zk-Rollup, one can use the new cryptography to solve all of the layer 2 scaling issues of Plasma in one go.
Vitalik's zk-Rollup post
but zk-Rollup has its own set of trade-offs. Generating proof of validity is computationally expensive. These zk-SNARKs are generated in each block. The generation time may be as long as 10 minutes, and the cost of each verification is up to 350,000 gas (after Istanbul upgrade) , which accounts for about 3.5% of the entire block (before Istanbul upgrade Accounted for 8%) .
In addition, it is currently not possible to deploy universal smart contracts on the zk-Rollup sidechain. Special zero-knowledge virtual machines such as zkVM and ZEXE are currently being developed , but still require a lot of expertise when interacting with them. In most cases, zk-Rollup limits general programmability.
Visualization of zk-Rollup, cartography of Georgios Konstantopoulos
By mid- 2019 , these new developments have reinvigorated the research community of Ethereum. zk-Rollup seems to solve many of the problems that plague Layer 2. Like Matter Labs (one of our portfolio companies)And LoopRing such companies are actively developing zk-Rollup, and now the two companies have been testing the network for implementation. Through optimization, Matter Labs believes that it can reach 2,000 TPS on the ZK synchronous network .
"Optimism" is a good medicine
but not everyone is pinning their hopes on zk-Rollup. In the first zk-Rollup specification was released a year later, John Adler and Mikerah introduced what they call a " merger agreement " (Merged Consensus) design. Merging consensus allows the off-chain consensus system to be fully verified on Ethereum without any fancy zero-knowledge encryption. The Plasma team subsequently released an expanded version of the merged consensus design and added the now-infamous name: Optimistic Rollup .
zk-Rollup relies on zk-SNARKs to verify and complete each block, and Optimistic Rollup takes a different approach: why don't you assume that each block is valid?
This works well in the "Happy Path" when everyone behaves honestly, but we know that operators can go wrong. So how does Optimistic Rollup handle the wrong behavior of operators?
"Optimism (optimistic) answer" is to use fraud to prove. A fraud certificate is a calculation proof that an operator performed an invalid operation. If the operator issues an invalid state transition, anyone can submit a proof that the transition is invalid and then resume those transactions (about 1 week). Since these proofs are non-interactive, they can be sent by anyone: there is no need for users to monitor the security of their own tokens.
However, unlike zk-Rollup, Optimistic Rollup requires 3-5 times the transaction data to complete. This data mainly includes witnesses such as signature data (zk-Rollup does not need this data because it validates those data with zero knowledge) . In the best case, optimistic summary transactions never need to be validated unless proof of fraud is submitted. However, it is expensive to verify and publish on-chain witnesses, and developers have explored aggregate signature mechanisms that allow inexpensive large-scale verification and reduce transactional data requirements. This optimization can increase the theoretical TPS of Optimistic Rollup from about 450 TPS today to potentially 2,000 TPS.
Optimistic Rollup provides a very different set of trade-offs from zk-Rollup. They are less expensive (assuming that the challenges of fraud are extremely rare) , but they are less secure, in other words, there has always been the possibility of improperly applying transactions and recovering them later. This security window can last up to a week. Therefore, users cannot log out during this security window period (otherwise, they may run away with someone else's funds) .
However, these exit issues can be improved by introducing secondary markets. Users can sell their exit rights to third-party liquidity providers in exchange for a small fee.(Liquidity providers will be rewarded for the lack of liquidity that lasts a week) . This will allow the user to exit the rollup chain immediately.
Although zk-Rollup requires programmers to understand complex constraint systems and advanced cryptography, Optimistic Rollup allows common smart contract deployments (such as Solidity) . This means that smart contract-based protocols like Uniswap can be built on the Optimistic Rollup sidechain.
The Rollup family of solutions provides a similar approach to Plasma's data availability issues and exit complexity, but both have the potential to greatly expand Plasma's structure. For example, IDEX has built and deployed their own version of Optimistic Rollup and run a decentralized exchange (DEX) on this structure. Similarly, Fuel Labs has created a version of Optimistic Rollup that allows UTXO-style payments and ERC-20 token exchanges. The Plasma Group (now Ethereum Optimism) has recently announced that they are focusing on Optimistic Rollup and are committed to providing universal smart contract performance on their platform ( built through their Optimistic Virtual Machine) .
Everything that goes up must converge.
Plasma ends up being more than just an agreement. During the period of irrational prosperity, Plasma is the story that Ethereum needs to believe. But in hindsight, the unlimited expansion it claims is a technical arrogance. Only with the development of Plasma can we realize the trade-offs inherent in Tier 2 expansion.
The price of ETH rebounded last year, and people are optimistic about the future of ETH. After nearly three years of exploring safe, scalable and robust capacity expansion solutions, the Ethereum research community has finally aggregated around rollups . Plasma and its brothers' initial attempts were noble, but a group of innovators eventually created a more realistic Layer 2 design, which seemed to solve Plasma's worst problem.
Some Plasma-focused research groups, such as Plasma Group, are already working on Optimistic Rollup solutions. But we believe that the search for the ultimate Layer 2 capacity expansion solution has just begun. Many competitors have emerged in this area, and we hope this remains an active and exciting research and development area.