Scalability is one of the major points of concern of the Ethereum blockchain. The current limitations faced by the network in terms of capacity and speed prevents it from being adopted on a larger global scale.
The Ethereum Plasma was proposed by Ethereum co-founder Vitalik Buterin together with Joseph Poon. The concept was born in August of 2017 as a scaling solution technique for the Ethereum blockchain. Along with Thaddeus Dryja, Joseph Poon was also responsible for the conception of the Lightning Network, which is a scaling solution proposed for Bitcoin in 2015. Although Plasma and Lightning Network were both proposed as scaling solutions for blockchains, each has its own mechanisms and particularities.
This article will briefly introduce the Ethereum Plasma, but keep in mind that Plasma alone is not a project, it is an off-chain scaling technique, or a framework for building scalable applications, which can be implemented in distinct ways by different research groups or companies.
The main idea of the Ethereum Plasma is to establish a framework of secondary chains that will communicate and interact as sparingly as possible with the main chain (in this case, the Ethereum blockchain). Such a framework is being designed to operate as a blockchain tree, which is hierarchically arranged in a way that numerous smaller chains can be created on top of the main one. These smaller chains are also referred to as Plasma chains or child chains. Note that sidechains and Plasma chains are similar, but not the same thing.
The Plasma structure is built through the use of smart contracts and Merkle trees, enabling the creation of an unlimited number of child chains – which are, essentially, smaller copies of the parent Ethereum blockchain. On top of each child chain, more chains can be created and this is what builds a tree-like structure.
Basically, each Plasma child chain is a customizable smart contract that can be designed to work in a singular way, serving different needs. This means that the chains can coexist and operate independently. Eventually, Plasma will make it possible for businesses and companies to implement scalable solutions in various ways, according to their specific context and needs.
Therefore, if Plasma gets successfully developed and implemented into the Ethereum network, the main chain will be less likely to get congested because each child chain would be designed to work in a distinct way towards specific goals – which are not necessarily related to the goals of the main chain. As a consequence, child chains would alleviate the overall work of the main chain.
The communication between the child chains and the root chain is secured by fraud proofs, so the root chain is responsible for keeping the network secure and for punishing the malicious actors.
Each child chain has its own mechanisms for validating blocks and a particular fraud-proof implementation, which can be built on top of different consensus algorithms. The most common are Proof of Work, Proof of Stake, and Proof of Authority.
The fraud proofs ensure that in case of malicious activity, users are able to report dishonest nodes, protect their funds and exit the transaction (which involves an interaction with the main chain). In other words, fraud proofs are used as a mechanism through which a Plasma child chain files a complaint to its parent chain or to the root chain.
The Plasma whitepaper also presents a very interesting application of the so-called MapReduce computations. Basically speaking, MapReduce is a set of functions that are very useful in organizing and computing data across multiple databases.
In the context of Plasma, these databases are blockchains and the tree-like structure of the chains allows for MapReduce to be applied as a way to facilitate the verification of the data within the tree of chains, which greatly increases the efficiency of the network.
Mass Exit problem
One of the main points of concern with Plasma is the Mass Exit problem, which refers to a scenario where many users try to exit their Plasma chain at the same time, flooding the root chain and causing network congestion. This could be triggered by fraudulent activity, network attacks, or any other kind of critical failure that a Plasma child chain, or a group of chains, may present.
Plasma is, essentially, an off-chain solution that strives to significantly increase the overall performance of the Ethereum network, by creating a tree-like structure of numerous smaller chains. These chains would alleviate the work of the main chain, which would be able to handle more transactions per second.
A hierarchical model of linked blockchains as proposed by Plasma has great potential and is currently being tested by numerous research groups. With proper development, Plasma will likely increase the efficiency of the Ethereum blockchain and provide a better framework for the deployment of decentralized applications. Moreover, the idea may be adapted and implemented by other cryptocurrency networks as well, as a way to avoid scalability problems in the future.
The Ethereum Plasma is an open-source project and the public repository can be found on their GitHub. Besides Ethereum, there are many other cryptocurrencies and GitHub repositories currently working with Plasma. A few examples include OmiseGO, Loom Network, and FourthStateLabs. For more detailed and technical information, you may refer to the official Plasma whitepaper or to the LearnPlasma website.