Blockonist Banner
Blockchain

What are Plasma Chains in Blockchain: A Detailed Guide

What are Plasma Chains

Plasma chains are a layer 2 scaling solution built on top of the Ethereum blockchain that allows for faster and cheaper transactions. They are one of several “layer 2” technologies like state channels and rollups that are being developed to help Ethereum scale to support higher transaction throughput without sacrificing decentralization or security.

In this guide, we will cover:

  • What are plasma chains and how do they work?
  • The pros and cons of plasma chains
  • Different plasma chain implementations
  • How to use plasma chains as a user and developer
  • The future of plasma chains

What are Plasma Chains and How Do They Work?

Plasma chains are separate blockchains that are anchored to the main Ethereum blockchain. They allow for faster and cheaper transactions because they don’t have to be processed directly on the main blockchain.

Here’s a quick overview of how plasma chains work:

  • Plasma chains are branched off of the main Ethereum blockchain as a “child chain”. They have their own consensus rules and block producers.
  • Transactions happen on the plasma chain, allowing for faster throughput and lower fees.
  • Periodically, the root of the plasma chain is committed back to the Ethereum main chain. This anchors the plasma chain and allows users to exit back to the main chain if needed.
  • Plasma chain operators run nodes that watch the chain and can challenge invalid blocks. This allows plasma chains to have light client validation while still relying on the security of the Ethereum main chain.

By conducting most transaction activity on the plasma chains, the goal is to significantly reduce congestion and fees on the main Ethereum blockchain.

Plasma Chain Components

Plasma chains have a few key components:

  • Main chain contract – The Ethereum main chain contains a contract that governs the plasma chain. It contains a record of deposits for the plasma chain, processes plasma block commits, and handles user exits from the plasma chain back to the main chain.
  • Plasma chain operator – An entity runs the plasma chain, producing blocks and submitting periodic commits to the main chain. They run plasma nodes and provide services to users.
  • Plasma users – Users transact on the plasma chain using a plasma-compatible wallet. Most users only interact with the plasma chain and only go back to the main chain to deposit/exit.
  • Plasma blocks – The plasma chain has its own blockchain format and block structure. Blocks are produced by the operators and contain plasma chain transactions.
  • Plasma block commits – Periodically, the plasma chain operator submits a cryptographic commitment of the plasma chain block root to the main chain contract. This anchors the plasma chain to the security of the Ethereum mainnet.
  • Plasma exits – Users can exit the plasma chain back to the main chain at any time by triggering an exit in the main chain contract, providing proof of their funds. Operators can challenge exits if invalid.

By conducting most activity on the plasma side chains, the goal is to substantially lighten the load and congestion on the main Ethereum blockchain.

The Pros and Cons of Plasma Chains

Plasma chains offer some significant advantages in terms of scalability, but also have some drawbacks to be aware of.

Pros

  • Greatly increased transaction throughput – Plasma chains can process hundreds or thousands of transactions per second, compared to 15 TPS for the Ethereum mainnet currently. This helps scale dapps.
  • Lower transaction fees – Fees are lower on plasma chains because of the higher throughput and separate consensus rules. This makes micropayments and small transactions viable.
  • Leverages Ethereum security – Plasma chains benefit from the strong security guarantees of Ethereum for deposits, exits, and consensus finality while conducting most activity on the plasma chain.
  • Interoperability – Plasma chains can interoperate and exchange value via the mainchain. Value can be moved between plasma chains via the mainchain as well.
  • Modular evolution – Plasma chains can iterate and upgrade independently of the mainchain consensus rules. This allows for faster innovation.

Cons

  • Still in development – Plasma is not fully mature yet. There are still challenges around mass exits, governance, and UX that need to be worked out.
  • Limited Lambdas – Plasma chains have constraints around the types of computation possible due to the need to be verifiable from the mainchain. Advanced smart contract functionality may be limited.
  • User experience – Plasma UX is complex, requiring users monitor the chain or risk asset loss. Wallets need to improve support. Mass exits are still a challenge.
  • Centralization risks – Potential centralization risks exist with plasma operators. Users must trust operators and could suffer asset loss if they acted maliciously.

Overall, Plasma offers substantial scalability gains but still has tradeoffs around risks and limitations that need to be improved over time.

Different Implementations of Plasma Chains

There are a few major implementations of Plasma that have been developed:

Minimum Viable Plasma

Developed by Vitalik Buterin and Joseph Poon, Minimum Viable Plasma was the first plasma implementation outlined in their 2017 Plasma whitepaper. It described the core components like block commits and exits that make plasma possible.

Minimum Viable Plasma supports basic transactions between users with basic account balances. It provided the foundation for later plasma implementations that have built upon it.

Plasma Cash

Plasma Cash was created by Karl Floersch and improves upon the original Minimum Viable Plasma design.

The key innovation with Plasma Cash is that each token is represented by a unique identifier like 1, 2, 3 rather than a fungible balance. This ensures every token is distinct and makes mass user exits easier and more efficient.

Plasma Cash also has a compact Merkle root design that minimizes the amount of data that needs to be committed to the main chain. This helps reduce main chain bloat from Plasma commits.

Plasma Debit

Plasma Debit builds upon Plasma Cash to add support for account balances while keeping unique token identifiers. This allows balances for accounts while also keeping the token fungibility that makes mass exits efficient under Plasma Cash.

Plasma Debit was developed by Georgios Konstantopoulos and Loi Luu from OmiseGo. It combines some of the benefits of Minimum Viable Plasma around balances with the token uniqueness of Plasma Cash.

Plasma TypeDeveloped ByKey Features
Minimum Viable PlasmaVitalik Buterin, Joseph PoonIntroduced core Plasma concepts and components
Plasma CashKarl FloerschUnique token identifiers, efficient mass exits
Plasma DebitOmiseGo teamCombined balances with token uniqueness

                                       Table 1: Summary of major Plasma chain implementations

There are other Plasma implementations like Plasma XT and Plasma Prime exploring additional optimizations like efficient proofs. But Minimum Viable, Cash, and Debit represent the major initial Plasma designs that have informed later work.

How to Use Plasma Chains as a User and Developer

Using Plasma chains is different from direct mainnet usage. Here is an overview of the user and developer experience:

As a User

As an end user, the basic workflow is:

  1. Get a Plasma Wallet – You need a wallet that supports Plasma. Options include Argent, AlphaWallet, Nifty Wallet and others integrating with Plasma.
  2. Deposit to Plasma – You deposit tokens via the mainnet Plasma contract. This locks tokens into the Plasma chain.
  3. Transact on Plasma – You can now transact directly with other Plasma users at low cost and high speed. Monitor your wallet!
  4. Exit back to Mainnet – You can exit back to the main chain via the Plasma contract at any time. Double check for any outstanding activities!

Key things for users:

  • You must monitor the Plasma chain activity involving your wallet and challenge anything suspicious. Otherwise you risk asset loss.
  • Exiting takes 7 days to process on Ethereum mainnet so requires planning. Sudden mass exits may cause congestion.

So Plasma offers great speed and cost improvements but requires more vigilance from users than mainnet usage. UX is still a work in progress.

As a Developer

For developers building dapps compatible with Plasma, key steps include:

  1. Choose a Plasma Implementation – Pick a Plasma version like Cash or Debit that fits your needs.
  2. Modify code for Plasma – Refactor your application logic to work with Plasma accounts, balances, and transactions.
  3. Handle deposit/exit – Build out onboarding/offboarding using Plasma contract deposit and exit functions.
  4. Handle Plasma proofs – Verify Plasma chain proofs on-chain during disputes or exits to ensure data integrity.
  5. Adapt UI for users – Update dapp frontend and user flows for Plasma-specific UX like monitoring and exitin

Key challenges for developers include:

  • Restricted computation – Can’t do arbitrary smart contract computations, need to design around Plasma limitations
  • Managing data unavailability – If Plasma chain has extended downtime, need to retrieve on-chain data
  • Handling mass exits – Plan for scenarios like mass user panics that trigger lots of mainnet exits
  • Managing operator risk – Reduce dependency on operators, build in redundancies, monitor for misbehavior

So Plasma chains require additional logic around monitoring, availability, graceful handling of error cases, and mitigating operator risk.

The Future of Plasma Chains

Plasma chains are still evolving quickly. Here are some areas of active development:

  • Generalized Plasma – Unify different Plasma implementations into a more generalized specification and framework. Makes it easier to build interchangeable Plasma components.
  • Plasma EVM – Run Ethereum Virtual Machine inside Plasma to enable solidity smart contracts. Expands functionality.
  • Recursive Plasma – Chains of chains! Nested plasma chains multiple layers deep to further increase scalability.
  • Cross-chain bridges – Simple bridges to transfer tokens and data between plasma chains and other blockchains like Bitcoin.
  • Hybrid PoS/PoW – Use hybrid proof of stake and proof of work systems for improved Plasma consensus and token bonding mechanisms.
  • Governance mechanisms – Decentralized models to better manage Plasma parameters, upgrades, and evolution over time.
  • Generalized mass exits – Improved mass exitprotocols that don’t require unique token identifiers and work for more token types.

Plasma development is very active. Combined with other layer 2 solutions like state channels and rollups, Plasma helps make Ethereum more scalable while maintaining its security.

Conclusion

Plasma chains are a leading layer 2 scaling approach for significantly increasing Ethereum’s throughput via side chains anchored to the main blockchain. They enable orders of magnitude faster and cheaper transactions via plasma while benefiting from the robust decentralized consensus of mainnet.

There are still challenges around risks and limitations of Plasma to resolve, and UX needs improvement. But Plasma chains are one of the most promising solutions and are quickly evolving. Combined with other layer 2 innovations, Plasma helps make dapps and micropayments viable on Ethereum, hugely expanding possibilities.

The coming years will see rapid iteration on Plasma and deployment of production plasma chains. This guide covered the core concepts, implementations, usage, development, and future evolution of Plasma. Plasma chains are a key tool in building an infinitely scalable Ethereum ecosystem.