Plasma is a proposed framework to improve the transaction throughput of Ethereum by composing the Ethereum network into a tree hierarchy of child chains which all connect to the 'root' or 'parent' chain, the main Ethereum blockchain. Each child chain in Plasma can perform computation of smart contracts to reduce the demand on the root blockchain, while the root chain serves as a trust and arbitration layer that maintains data integrity and security for the entire network.
Child chains in plasma are also called externalized multiparty channels or multiparty off-chain channels. These channels allow for deposits and withdrawals of funds with state transitions enforced by fraud proofs, such that the accounts of the child chains match the accounts of the root chain. In other words, transactions can be processed on Plasma child chains and enforced on the root chain in the event of invalid blocks, thereby increasing scalability by reducing the amount of computation necessary for the root chain. This is accomplished without involving custodial trust in 3rd parties and while maintaining high Byzantine fault tolerance.
Depending on their complexity, smart contracts can require significant amounts of computation per transaction relative to a basic cryptocurrency transactions.
The idea of Plasma is to perform more complex operations with heavy computation off-chain (i.e. not on Ethereum itself), and then to broadcast only the completed transactions to the main Ethereum chain.
This works by first reframing all blockchain computation into a set of MapReduce functions. MapReduce is a programming model invented by Jeffrey Dean and Sanjay Ghemawat of Google and first published in an academic paper in 2004. In the MadReduce model, users specify a map function that processes a key/value pair to generate a set of intermediate key/value pairs, and then a reduce function that merges all intermediate values associated with the same intermediate key.
The result of using a MapReduce model is that a single block header/hash committed to the main chain can encompass a very large amount of data and computational work. This block header/hash is enforced by fraud proofs to ensure that all state transitions are valid. There can be child chains of child chains of child chains, all of them performing off-chain computation, and only a small amount of data ever needs to go on the main chain unless there is a faulty or invalid block on a Plasma chain.
Reducing the amount of data processed and stored on the main blockchain is not the only scalability benefit of Plasma. Decentralized applications can also benefit from implementing Plasma because Plasma chains can feature their own independent consensus algorithms, potentially allowing for faster and cheaper transactions.
For example, Loom Network implements Plasma so that Dapp builders can design games on Ethereum that use Delegated Proof of Stake (DPoS). DPoS enables transaction throughput upwards of 10,000/second and at very low cost, which is better suited to gaming applications that might involve instantaneous micro-transactions in their gameplay. A major downside to DPoS is that it's generally less decentralized than other consensus mechanisms such as proof-of-work and proof-of-stake. However, that's not entirely the case for DPoS Plasma chains, as they are ultimately still enforced by Ethereum which has a more decentralized consensus system.
#232 Karl Floersch: Plasma Cash and the Ethereum Roadmap
April 24, 2018
Construction of a plasma chain 0x1
Plasma & The Public Ethereum Chain - Joseph Poon (Ethereal Summit 2017)
Plasma on Loom Network DAppChains: Scalable DApps With Ethereum-Secured Assets
Plasma: Scalable Autonomous Smart Contracts
Joseph Poon, Vitalik Buterin