A short history of Plasma framework, what it is, where it’s going…

Ross Campbell
Coinmonks
7 min readDec 23, 2018

--

There is evidence, from openly-published scientific papers that scientists in the former Soviet Union have taken a particular interest in ‘UFO Phenomena’. They have identified the close connection with plasma technologies and are pursuing related techniques for potential military purposes.

— Unidentified Aerial Phenomena in the UK

… scaling Ethereum out of this World?

On August 11, 2017, Vitalik Buterin and Joseph Poon published a whitepaper describing Plasma, a proposed framework for “incentivized and enforced execution of smart contracts” that is scalable to potentially millions of transactions per second and which would service a significant amount of decentralized financial applications.

At its core, Plasma seeks to resolve the tensions of the so-called scalability trilemma and deliver scalable blockchain applications without sacrificing security through a combination of smart contracts and cryptographic verification.

As a proposed “Layer 2” scaling solution (i.e., not an upgrade to base blockchain layer), it targets applications where it is not necessary or even desirable to record every transaction to a blockchain, such as daily coffee purchases.

The general intuition within the Ethereum research community is that these more mundane blockchain transactions might be better recorded to application-specific “side chains,” where assets are locked up on the main chain, replicated on a parallel blockchain, and then transacted under a more efficient consensus mechanism, such as DPoS; fallback to the root chain with less efficient consensus rules (but greater security) is then only utilized for high-value transactions or to establish finality after certain checkpoints.

http://plasma.io/plasma.pdf

The goal of the Plasma framework is to reap such massive scalability benefits of side chains while optimizing “fall back” safety to assets locked in the root chain in the event that side chain consensus fails or is overpowered (risking theft of user funds).

https://plasma.io/plasma.pdf

Employing an interactive exit mechanism to detect malicious behavior, plasma chains are not quite side chains, which lose their state in the event of failure. When a plasma chain breaks, state is exited but remains intact; as a basic guarantee, the root chain utilizes mathematically verifiable methods to handle disputes and reward the correct party with their funds. Strong security guarantees are therefore a crucial and distinguishing feature of Plasma designs: digital assets that cannot be double-spent, withheld, and are always redeemable on the root chain.

Image from https://www.learnplasma.org/

In this way, solutions developed under the Plasma framework seek to offer blockchain security and finality for more mainstream use cases. For example, a cross-border payment networks or gaming platform might issue digital assets as ERC721s (non-fungible tokens) on the Ethereum root chain to take advantage of its network security but then get much greater day-to-day transaction throughput for these assets on a plasma ‘child chain’ running under, e.g., “Proof of Stake” or “Proof of Authority” consensus.

Elaborating on this framework for building more scalable blockchain applications, Ethereum researchers have already branched Plasma into a variety of specifications to serve different applications and project needs. As discussed, the essence of the framework is that a Plasma Chain must be as secure as the root chain. Beyond that, Plasma designs typically involve exits (user submits transaction history proving ownership of assets with collateral) and subsequent challenge periods, where others, incentivized to claim the exit collateral as a bounty, can challenge such exits by submitting a contrary proof.

Check out Karl Floersch’s Plasma MVP overview: https://www.youtube.com/watch?v=jTc_2tyT_lY

On January 3, 2018, Vitalik Buterin, Joseph Poon and David Knott released specifications for a “minimal viable plasma implementation” (commonly, “Plasma MVP”). Essentially, the Plasma MVP specification aims to provide plasma’s basic security properties “in a very simplified way,” such as to enable scalable payments, “though it leans heavily on users being willing to immediately exit as soon as they detect any kind of malfeasance.” While the Plasma MVP is designed for token transfers, it can be adapted for ERC721s and general state transitions and potentially scale to more than 1,000 tps (Ethereum researcher, Karl Floersch has noted that “later versions” of MVP design may scale to “millions” of tps).

On March 9, 2018, Vitalik Buterin introduced “Plasma Cash” at the Ethereum Community Conference, a specification which aims to increases Plasma security and usability with unique identifiers for funds deposited on a plasma chain, essentially turning each deposit into a non fungible “coin” with an independent serial number and transaction history. In other words, each deposit is treated like an indivisible bill, much like the familiar denominations of $10, $20, etc. for physical cash, and users only store data about coins they own.

Among other benefits, this construction allows for simpler fund withdrawals with “much less per-user data checking,” i.e., more compact proofs on a coin’s history by only requiring users to validate for the ones they own and are actively watching (and not entire chain of transactions for all, contra Plasma MVP). On March 14, 2018, Ethereum researcher Karl Floersch released a full specification for a Plasma Cash chain. Plasma researcher, Georgios Konstantopoulos, has also released a comprehensive document covering Plasma Cash topics and research on initial implementations (including gaming use-cases via LOOM Network development).

In June 2018, “More Viable Plasma” (commonly, “MoreVP”) was introduced on ethresear.ch by Kelvin Fichter and Ben Jones, a design which, among other things, seeks to make security and UX improvements to the MVP design by removing confirmation signatures and making withdrawals cheaper.

MoreVP ‘exit game’ illustration, from https://ethresear.ch/t/more-viable-plasma/2160

On November 1, 2018, Quantstamp, a blockchain security company, announced that it had completed a security audit of a Plasma MVP implementation designed by blockchain project, OmiseGO; a similar audit of a MoreVP implementation is also planned as of this response.

Current Plasma designs are not without drawbacks: for example, (i) in the worst case, Plasma MVP requires every plasma chain user to exit within a short period of time (limiting throughput, as number of UTXOs that can be safely withdrawn is also the number of UTXOs that can be safely supported on a Plasma chain); further, (ii) when users withdraw funds from a plasma chain, they’re required to wait for a period of time before those funds become available on the Ethereum root chain.

A number of proposals, however, are designed for these problems, and include protocols for “mass exits” that allow thousands of UTXOs to be exited at the same time, and “fast withdrawals” as a way for users to “sell” their withdrawals in order to avoid waiting.

EVM support on Plasma is an active area of research and discussion. Right now, it is difficult to create a Plasma chain that can run more general smart contracts like Ethereum for the following reasons (as outlined in an August 2018 post by Plasma researcher Kelvin Fichter):

(1) It’s not always clear who gets to move a contract from the Plasma chain to the root chain;
(2) If anyone can modify the state of the contract, then anyone can block an exit; and
(3) Validating EVM state changes inside the EVM is hard.

However, a potential (but still highly preliminary) solution known as “Plasma VM” involves breaking smart contracts down to a level where these issues might not matter as much.

Specifically, Plasma VM proposes reframing authority to move a contract from the Plasma chain to the root chain using “mini smart contracts”; in other words, instead of worrying about “who gets to move a contract from the Plasma chain to the root chain,” Plasma VM stipulates that it might be more clear who’s responsible for moving stuff to the root chain if, instead of moving the entire contract, everyone were moving their own “mini smart contracts” that can only be modified by their respective owners.

There are over 100 Plasma-related topics being actively discussed on ethresear.ch, and LearnPlasma.org provides comprehensive summaries of current research and implementations.

Plasma World Map: https://ethresear.ch/t/plasma-world-map-the-hitchhiker-s-guide-to-the-plasma/4333

This is from a working response to the CFTC’s recent request for public input on aspects of the Ethereum network in collaboration with LegalBlock and The Brooklyn Project. Specifically, this excerpt aims at CFTC’s question #8 regarding Ethereum scaling challenges and solutions and introduces Plasma, a proposed framework for scaling Ethereum capacity to possibly millions of transaction per second without sacrificing core security benefits of utilizing blockchain networks.

UFO using gravity sidechain or something

I hope to get more eyes on this draft from real Plasma aficionados, and welcome feedback, comments, corrections, memes and such!

Read today’s Top story

Get Best Software Deals Directly In Your Inbox

--

--