Foreword: Because Layer 1 expansion is not easy, Layer 2 expansion has always been an important exploration direction for blockchain expansion. The Ethereum community has proposed Plasma's solution, but it turned out that Plasma is very complicated in terms of withdrawal of funds and other issues, making it difficult to become a truly feasible scalability solution. But Plasma's failure is not useless. The birth of zk-Rollup lets people see the possible direction of layer-2 extension. It can solve Plasma's data availability and exit complexity issues.
The Plasma Group has also shifted its focus to Optimistic Rollup in order to implement a Rollup side chain that can be used for general smart contracts. From this we can see that many technical ideas, including Vitalik's idea, may also have certain limitations from the beginning. Only through continuous exploration can we find a truly feasible direction. The strength of the community is very important. The rollup plan was proposed by community members from the beginning. Only more people can participate in it to promote the development of Ethereum and the public chain ecology. Great power is always rooted in people.
The author of this article is Ashwin Ramachandran & Haseeb Qureshi, translated by "SIEN" from the Blue Fox Note Community. In August 2017, the price of Ether was close to an all-time high. Ethereum blockchain usage has skyrocketed, and Ethereum is overwhelmed by growing demand. Researchers and developers are frantically searching for new scalability solutions.
- Vitalik: The layered structure of the blockchain still has shortcomings, and layer 1 and layer 2 need to be developed in parallel in the short term
- Vitalik Buterin: The dawn of the hybrid Layer 2 protocol
- The bridge for millions of users to enter the world of cryptocurrencies: an article to understand the Ethereum expansion solution ZK Sync
- Detonating "under the chain", Celer Network will attend the 2019 than the original global developer conference
- Viewpoint | Meditations on Fault Proof (1)
- Proof of validity and proof of error in Science-2 |
At blockchain conferences around the world, developers argue about scalable solutions. The Ethereum community desperately needs a solution. In this crazy process, the first version of Plasma's paper was released, which promises a layer-2 scalability solution that can handle "almost all financial calculations worldwide."
TechCrunch report on Plasma
Fast forward to 2020. Ethereum is as slow as ever, but it survives all the so-called "Ethereum Killer" projects. The release date of ETH2.0 is getting farther and farther. As many development teams shut down operations, Plasma seems to completely disappear.
However, Optimistic Rollup and ZK Rollup (you can refer to the previous release of Blue Fox Notes, " Understanding ZK Rollup and Optimistic Rollup: Ethereum's Important Extension Directions ") are being hailed as the best scalability solutions. However, memories of Plasma seem to disappear.
So, who killed Plasma?
Let's go back to the beginning of 2017. Ethereum entered the mainstream for the first time, and people are full of optimism about its future. At the time it was claimed that all valuable assets would be tokenized. At an event in San Francisco, people can only stand in the room. Whenever there is a theme about Ethereum, it is a city of fame. But Ethereum does not implement scalability.
In this enthusiasm, Vitalik Buterin and Joseph Poon published a paper which mentioned a new layer-2 scalability solution, which is Plasma.
Vitalik and Joseph Poon introduce Plasma at event in San Francisco
Plasma claims that it allows Ethereum to scale to Visa-level transaction volumes, a bold statement that has sparked a wave of interest among developers and the community. Soon after, the Ethereum research community rallied on the Plasma issue as a solution to Ethereum's scalability issues.
But what is Plasma? Why did it fail to deliver on its promise?
How Plasma works
The Plasma paper initially described a mechanism for building a MapReduce "blockchain tree." Each node in the tree represents a unique blockchain connected to its parent node. All these blockchains are arranged in a huge hierarchy. However, the original specifications were vague and complex. Soon after, Vitalik simplified the specification and called it MVP (Blue Fox Note: Minimal Viable Plasma).
Plasma's "blockchain tree"
MVP proposed a simplified version of Plasma: a simple UTXO-based sidechain is secure in the event that data is not available. But what is a side chain? What does it mean when data is unavailable? Before we dive into Plasma, let's understand what these terms mean.
A side chain is a blockchain connected to another blockchain. Sidechains can be operated in many different ways, such as through trusted third parties, alliances, or consensus algorithms. For example, Blockstream participates in the alliance sidechain on the Bitcoin network, which is called Liquid. Liquid allows higher transaction throughput, and it does so because it trades off its trust model. Users must believe that the alliance will not conspire and steal funds. In this case, the operators of the chain are various members of the Liquid alliance, such as Blockstream.
Visualization of a sidechain transfer (with Liquid as an example). Source: Georgios Konstantopoulos
Sidechains are connected to larger blockchains, such as the Bitcoin blockchain, through two-way anchoring. Users can store funds on the sidechain by sending their funds to a specific address or smart contract on the main chain. This is called an anchor transaction. In order to withdraw funds, users can perform the same operation on the side chain to get their funds back to the main chain. This is called an anchor-out transaction. But what does this have to do with Plasma?
As we can see in the example above: moving funds out of the sidechain requires a key element: trust. Users must trust that the sidechain operators will not abscond with funds. But isn't this the main feature that blockchains don't need to trust? What if the user wants to interact with the sidechain without trusting their operator?
This is exactly what Plasma is trying to solve.
Plasma aims to minimize trust in sidechain operators. That is, Plasma tries to prevent the theft of funds, even if the operator (or the majority consensus) misbehaves. However, even if the side chain operators cannot completely steal funds, there is another problem with side chains. Wan side chain operators release the block header, but refuse to release the underlying transaction data? This will prevent anyone from verifying the correctness of the sidechain. This concept is called data unavailability. (Blue Fox Note: That is, the release of data needs to rely on trusted sidechain operators, and there may be situations where data is not available)
Plasma tries to keep users safe, even if operators retain transaction data. In other words, if the operator refuses to publish data, all users will still be able to retrieve their funds and exit the sidechain.
Plasma makes a huge commitment to its security and scalability. During the 2017 bull market, it was widely believed that Plasma would solve the scalability problem of Ethereum. However, with the sober market in 2018, the blockchain hype collapsed, and a more realistic picture of Plasma began to materialize. When it comes to real-world deployment, Plasma raises more questions than solutions.
The first problem is that each user has to monitor and verify all transactions on the Plasma MVP chain for monitoring, and exit when there is malicious behavior by the operator. However, transaction verification is very expensive, and this monitoring requirement adds a very large 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 an exit transaction and then wait for a set period of time. This is often called the challenge period.
At any time during the challenge period, any user can challenge the withdrawal of other users by submitting proof that the withdrawal is invalid (for example, they dig out fake tokens or steal others' tokens, etc.). Therefore, all withdrawals can only be processed after the end of the challenge period, which in some proposals takes a week.
But things could get worse.
Remember that even if the operator retains the data (that is, does not publish the data), we want users to be able to withdraw their funds from the Plasma chain. MVP handles this issue as follows: If Plasma transaction data is retained, each user needs to withdraw their own funds separately based on the last valid state of the Plasma chain. Please note that in order to prevent malicious operators from rushing in front of honest users, exits are sorted according to the time of the last transaction.
The growth of Ethereum storage. Source: Alexey Akhunov
In the worst case, if all users need to exit the Plasma chain, the entire valid state of the chain must be published to the Ethereum mainnet within a single challenge period. Given that the Plasma chain can grow arbitrarily, and the Ethereum blockchain is already close to its bottleneck, it is almost impossible to pour the entire Plasma chain into the Ethereum mainnet. Therefore, any stepping on the exit will almost lead to congestion on Ethereum. This is also known as the issue of large-scale groups exiting.
As prices crashed in 2018, Ethereum followers began to realize that Plasma MVP would not be the killer solution for scalability they expected. There is no way to overcome its weakness. Plasma MVP is stuck in a dead end. For a long time, Ethereum continued to struggle under its transaction burden, and ETH2.0 has a few years to achieve.
Next generation Plasma
In 2018, as prices continued to plummet, the research community of Ethereum continued its efforts to optimize Plasma, iterating on Plasma MVP designs. The new version is called Plasma Cash.
According to one of its lead designers, Vitalik, Plasma Cash will be able to achieve any high tps and solve the problems that plagued its predecessor. Some even claim that this new design will enable hundreds of thousands of transactions per second.
First, let's review the issues with Plasma MVP.
* When there is improper behavior by the operator, there will be a problem of large-scale group withdrawal (Blue Fox Note: It is like a stampede event) * The user has to wait for the entire challenge cycle to withdraw funds * The user has to monitor all transactions on the Plasma chain
Compared to Plasma MVP, Plasma Cash has a major advantage: By using different data models, Plasma Cash can avoid large-scale group exit problems. In Plasma Cash, all tokens are represented as NFT (Blue Fox Notes: Non-Interchangeable Tokens), which makes it easier to prove ownership of a group of tokens. In short, it is the user's responsibility to prove that they own the token, not others. Therefore, users only need to monitor their own tokens, without having to monitor the entire Plasma chain.
Plasma Cash also showed off a new interactive challenge system that allows users to easily withdraw funds in the event of operator misconduct. With the new Merkle Tree structure, the so-called Sparse Merkle Tree, users can easily verify the history and ownership of the token using a proof of inclusion.
In the event of misconduct by the operator, the user will only need to issue an on-chain certificate proving that he currently owns the token (consisting of the last two transactions and their corresponding proof of inclusion). However, Plasma Cash brings a whole new set of issues.
First, a malicious user or past owner of a token can post an erroneous attempt to withdraw funds. Since users are required to prove ownership of their own tokens, it is up to these users to actually capture and challenge fraudulent withdrawals of their funds.
As a result, Plasma Cash, like Plasma MVP, requires users to stay online at least every two weeks to catch false withdrawals during their challenge period.
In addition, in order to prove the ownership of the tokens, users will have to maintain the entire history of their tokens and corresponding proof of inclusion / exclusion, which results in increasing storage requirements.
By the end of 2018, the price of Ether had fallen to the bottom and the utopian crypto-optimism had disappeared. Although Plasma Cash is an improvement over Plasma MVP, it is not a Visa-sized solution promised by Ethereum, and its MapReduce "blockchain tree" is now just a fantasy. Most companies developing clients for Plasma Cash have stopped working and their implementations are in a semi-complete state.
The Ethereum community is in trouble. Although new Plasma builds continue to appear and improve on their predecessors, the Ethereum community has not been able to achieve a rebound in these new builds.
It looks like Plasma is dead.
When confidence in layer-2 dropped to a freezing point, a GitHub repository called "roll_up" was posted by a user with a pen name of Barry Whitehat. This repository describes a new layer 2 scalable solution: a Plasma-like structure with "bundled" transactions, where instead of relying on the credibility of the operator, one can use proof-of-chain (SNARK) to verify " Bundled transactions.
The SNARK ensures that operators cannot issue malicious or invalid transactions, and that all sidechain blocks are valid.
Soon after, Vitalik released an improved version of Barry's proposal, calling it zk-Rollup. Zk-Rollup became one of the most viewed posts on the Ethereum Research Forum. Vitalik's proposal introduces a solution that can prevent Plasma's data availability problem: publishing sidechain transaction data on the Ethereum chain.
Vitalik's zk-Rollup post
Publish transaction data as a function parameter, which means that it can be verified at launch and then discarded (so that it does not cause Ethereum storage bloat).
Zk-Rollup can completely avoid Plasma's exit game and challenge period, without having to balance affordability or security. With zk-Rollup, one can use novel cryptography at once to solve all the layer-2 dilemmas of Plasma.
However, zk-Rollup has some balance of its own. That is, the generation of a validity certificate is computationally expensive. These zk-SNARKS are generated in each block and may take up to 10 minutes to generate, and the cost per verification (after Istanbul) can be as high as 350,000gas. For reference, it occupies approximately 3.5% of the entire block (previously 8% in Istanbul). (Blue Fox Note: PUSH generally costs 3 gas, ordinary transactions generally consume 21,000 gas, which shows that the gas cost of the validity certificate is high)
In addition, it is currently impossible to deploy a universal smart contract on the zk-Rollup side chain. Some proposals for dedicated zero-knowledge virtual machines (such as zkVM and ZEXE) are under development and maybe they will support them, but they still require a lot of specialized knowledge to interact with them. In most cases, zk-Rollup limits general programmability.
Zk-Rollup visualization. Source: Georgios konstantopoulos
By mid-2019, these new developments will rejuvenate the Ethereum research community. Zk-Rollup seems to solve many of the problems that plague layer-2's narrative. Companies such as Matter Labs and LoopRing are actively developing zk-Rollup, and now both have testnets. Through optimization, Matter Labs believes that it can achieve up to 2,000 tps on the ZK Sync network.
In addition, Starkware is building a variant on zk-Rollup, which they call StarkExchange. StarkExchange uses STARK to prove the validity of sidechain transactions, but it represents an issue with off-chain data escrow (if the sidechain is stopped, you can ensure exit through an on-chain checkpoint).
They are working with DeversiFi to implement this designed DEX, and will release it on their mainnet in the near future.
But not everyone is pinning their hopes on zk-Rollup. One year after the first zk-Rollup specification was released, John Adler and Mikerah introduced a design they called Merged Consensus. Merged consensus supports the off-chain consensus system, which is fully verified on Ethereum without any fancy zero-knowledge cryptography.
After the release, Plasma Group released an extended version of the merged consensus design with a name that is now well known: Optimistic Rollup.
Although zk-Rollup relies on zk-SNARKS to verify and achieve the finality of each block, Optimistic Rollups takes a different approach: what if we only assume that each single block is valid?
When everyone is functioning normally, it will work well. But we know that operators can be malicious. So, how does Optimistic Rollups deal with operator misconduct?
Optimistic Rollups' answer is to use fraud proofs. 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 proof that the transition is invalid and revert these transactions (about 1 week). Since these proofs are non-interactive, anyone can post them: they don't require users to monitor their tokens for security.
However, Optimistic Rollup is different from zk-Rollup, it needs to publish more data (3-5 times) to the chain. This data mainly includes witnesses, such as signature data (not needed on zk-Rollup, since it is verified with zero knowledge).
In the best case, Optimistic Rollup will never need to verify the transaction unless someone submits a proof of fraud. Witness verification and release on the chain is very expensive, however, developers have explored an aggregate signature mechanism that allows cheap large-scale verification and reduces the need for transaction data. This optimization can improve the theoretical TPS of Optimistic Rollup, from the current 450TPS to a potential 2000TPS.
Optimistic Rollup offers a completely different trade-off than zk-Rollup. Considering that fraud challenges are not a frequent occurrence, they are not that expensive, but they weigh security and make them less secure. In other words, transactions may be misapplied and may be restored later. This security window can last up to a full week. As a result, users cannot withdraw funds from the chain within that secure window. Otherwise, they may run away with other people's funds. However, these funding withdrawal issues can be improved by introducing secondary markets.
Users can sell their funds withdrawal rights to third-party liquidity providers, and liquidity providers can charge a small fee. Liquidity providers will be compensated for the lack of liquidity caused by a one-week exit. This can achieve the user's immediate exit in the rollup chain. (Blue Fox Note: Third-party liquidity providers do this professionally, which is more suitable than user operations. This is a good solution.)
Although zk-Rollup requires programmers to understand complex constraint systems and advanced cryptography, Optimistic Rollup allows the deployment (such as Solidity) and execution of general smart contracts. This means that smart contract-based protocols such as Uiswap can be built on the Optimistic Rollup sidechain.
The Rollup series of solutions provide similar approaches to Plasma's data availability and exit complexity issues, but all of them have the potential to greatly expand Plasma's structure. For example, IDEX has built and deployed its own Optimistic Rollup and runs DEX on this structure.
Similarly, Fuel Labs has also built an Optimistic Rollup version that allows UTXO mode payments and exchange of ERC-20 tokens. Plasma Group (now Optimism) recently announced that it has shifted its focus to Optimistic Rollup and is committed to providing general smart contract capabilities on its platform (through its OVM structure).
Anything that rises must converge
Plasma is far more than just a protocol. In an irrational boom time, Plasma Ethereum needs to believe stories. But after doing it, the infinite scalability it claims proves to be technical arrogance. Only by crossing Plasma can we gain a deeper understanding of the trade-offs inherent in layer-2 scalability.
As the price of ETH rebounded last year, optimism about the future of Ethereum followed. After nearly 3 years of searching for safe, scalable, and robust scalability solutions, the Ethereum research community eventually moved towards rollup. Plasma and his cousins were the first attempts, but a group of innovators eventually created a more realistic layer-2 design that seemed to solve Plasma's most serious problem.
Some research teams focusing on Plasma, such as Plasma Group, have already started researching the Optimistic Rollup solution, but we believe that the work of finding the final layer2 solution has just begun. There are many competitors here, and we expect this area to remain active, and it is also an exciting area of research and development.
Risk Warning: All articles of Blue Fox Notes cannot be used as investment advice or recommendations. Investment is risky. Investment should consider personal risk tolerance. It is recommended to conduct in-depth inspection of the project and make good investment decisions.