Plasma is a scaling solution that can be used with various blockchains. It is commonly associated with Ethereum, but Plasma is compatible with other platforms as well. Essentially, it can help a blockchain perform computations more efficiently.
Ethereum, for example, can currently only handle about 15 transactions per second. This is a barrier to mass adoption, and to compete with credit cards and payment processors, blockchains need off-chain scaling solutions. This is where Plasma comes in.
Plasma was proposed in a joint paper by Ethereum creator Vitalik Buterin and Lightning Network creator Joseph Poon. Since then, it has taken on a life of its own, and there are now dozens of different Plasma variants in existence.
Although the details of each Plasma variant differ, every type has the same basic purpose: to offload a blockchain’s transactions and take them on itself. To understand why there are so many variants, let’s take a look at the basics of Plasma.
The Basics of Plasma
Plasma MVP, or Minimally Viable Plasma, was the first variant of Plasma to ever exist. Plasma MVP essentially relies on an operator who accepts transactions and waits for a block to fill before committing those transactions to Ethereum.
This means that Ethereum nodes don’t need to verify each transaction that takes place on Plasma. However, Plasma MVP does a few things its own way: instead of using Ethereum’s account balance model, Plasma relies on unspent transaction outputs (or UTXOs).
The UTXO model relies heavily on the order that transactions take place in (and the values of those transactions). The end result is that Plasma MVP can perform transactions quite quickly. However, the UTXO model introduces a few complications, and other Plasma variants have tried to solve them.
Support For Special Tokens
Plasma MVP can perform basic cryptocurrency transactions quite quickly, but it can’t handle other types of tokens. That’s where Plasma Cash comes in. Plasma Cash is designed to handle non-fungible tokens (NFTs)—that is, tokens that are individually unique and not coin-like.
Plasma Cash’s support for NFT tokens makes it an ideal way to handle collectibles, game assets, securities, and other non-divisible assets. Plasma Cash can also handle regular ETH transfers, but it stores them in NFTs, and it only supports fixed amounts of ETH.
So, contrary to what the name implies, Plasma Cash isn’t really ideal for everyday payments and spending. This, in turn, calls for another variant of Plasma: Plasma Debit, which acts a little like a Lightning hub so that it can handle regular cryptocurrency.
Plasma Debit introduces transferable payment channels, and it also allows for fractional spending. It is very versatile, as it supports both regular cryptocurrency and NFTs. However, it is fairly complicated and it has some usability issues as well.
Speeding Up Withdrawals
Plasma MVP, Cash, and Debit are all major variants of Plasma. Unfortunately, they all share one big problem: they all have a very slow withdrawal process. Even though Plasma performs transactions quickly, withdrawals take much longer.
It usually takes one to two weeks to withdraw funds from Plasma. This is good for security: a “challenge period” allows Plasma users to keep Plasma operators in check. Still, this isn’t convenient for anyone who needs to take their funds out of Plasma quickly.
Other variations have been proposed in order to solve this problem. Simple Fast Withdrawals, for example, uses debt tokenization and liquidity markets, ensuring that tokens can be cashed out quickly.
Solving Mass Exits
Plasma can also become congested if a lot of users try to “exit” and withdraw their funds at once. This problem has little to do with normal withdrawal speeds. Instead, it is all about increasing the number of exits that Plasma can safely handle.
These variants don’t actually make withdrawals faster, nor do they remove the challenge period. They simply ensure that mass exits cannot risk the security of the Plasma chain or cause the chain to grind to a halt.
Making Plasma Programmable
Developers can incorporate any Plasma variant into a blockchain app. For example, the Loom Network is fully integrated with Plasma Cash, and it provides a powerful set of tools for blockchain app developers.
However, most Plasma variants do not offer built-in programming capabilities. The main issue is that Plasma’s UTXO model is not well suited for smart contracts, nor is it compatible with the Ethereum Virtual Machine.
That said, there are a few Plasma variants that attempt to introduce programming and computational features. Plasma Leap retains the UTXO model, for example – though it only supports “spending conditions” rather than traditional smart contracts.
Meanwhile, Plasmabits and Plasma EVM have tried to deliver greater compatibility with Ethereum smart contracts. These two variants abandon UTXO and return to an account model. None of these three variants are very high-profile, though.
Why Are There So Many Variants?
Each flavor of Plasma exists to solve a unique problem. However, that only goes part of the way toward explaining why there are dozens of variants. The truth is less impressive: many Plasma variants are simply not making much progress.
In fact, a number of proposals are entirely unfeasible. The Plasma ecosystem as a whole is fairly young, so developers are still helping it find its direction. Much like the number of improbable altcoin projects, not all of them are expected to survive.
It should also be noted that Plasma is not a single project. It is a framework that can be adapted for different purposes by different people. There are a few core features, but the Plasma framework is very malleable.
This is a somewhat disjointed approach, but it hasn’t stopped Plasma from attracting attention. OmiseGo and the Loom Network have both adopted variants of Plasma, and as time goes on, many flavors of Plasma may find success elsewhere.