Plasma is a Layer 2 expansion solution used to improve the scalability of Ethereum and solve its transaction congestion. It was originally proposed by Vitalik Buterin and Joseph Poon in an article created in 2017.
Simply speaking, the operating mechanism of Plasma can be understood as off-chain transaction processing and transaction collection Status upload process. First, users need to deposit assets into the Plasma chain through smart contracts. All transactions related to user assets will be arranged in a certain order by the operator of the Plasma chain, and then packaged into a transaction batch for processing.
After processing, the operator publishes the status of the transaction batch (often called the Merkle Root) to the Ethereum mainnet. The Merkle Root is expressed in the form of a hash value that represents all transactions in a batch. The figure below briefly shows the Merkle Root generation process.
The hash value is the calculation result based on the hash equation, which is represented as a fixed-length string value. Through the hash equation, any given key or string can be converted into a fixed-length string value (hash value).
Original The version of Plasma chain is called Plasma MVP. However, the problems it brings are far greater than its ability to solve the expansion problem.
If user A wants to exit the Plasma chain, he needs to initiate a withdrawal request and wait for a period of time. This period is called the challenge period, which is usually seven days. This is to prevent fraud.
During the challenge period, other users who question the existence of the transaction (ie, the challenger) need to provide proof of fraud (evidence of the occurrence of fraud) to prove that fraud has occurred. If the challenge is successful, User A's exit request will be cancelled. On the contrary, if no one challenges during the challenge period, user A successfully exits.
Although this is to maintain the security of off-chain transactions, it relatively increases the time cost. In order to promptly identify fraud during the challenge period, users must regularly monitor transactions on the Plasma chain.
Additionally, in the presence of a malicious operator, users will need to verify all transactions during the challenge in order to exit the Plasma chain. Transaction verification costs are higher.
In order to solve the above problems of Plasma MVP, the Ethereum Research Community proposed a new version Plasma Chain, Plasma Cash.
The biggest difference between Plasma Cash and Plasma MVP is that it can reduce the cost of transaction verification by changing the data structure. It partially solves the problems with Plasma MVP mentioned earlier. In Plasma Cash, every deposited asset is represented as a non-fungible token (NFT).
Therefore, in the case of malicious manipulation by the operator, users only need to monitor transactions related to their own assets (rather than all transactions) and verify transactions by providing current proof of asset ownership. Proofs generally include the two most recent transactions and corresponding proofs.
But Plasma Cash still requires users to regularly monitor transaction information, and it does not solve the problem of users needing to wait when they log out. At the same time, changes in data structure have brought new problems. Users must store all data related to their assets and corresponding proofs. This results in higher storage costs.
Today, most Plasma chains have been replaced by optimistic rollup and zkrollup. Ultimately, the main reason for this situation is the data unavailability of the Plasma chain, that is, the Ethereum mainnet cannot obtain the original data of each transaction. As we mentioned in this article, Plasma only uploads the status of transaction batches, which means transactions are only processed off-chain and the data is not available. In general, the unavailability of data is the most direct reason for the "death" of Plasma.
You may also be interested in the following content:
- What is the blockchain impossible triangle?
- What is Ethereum?