ELI5 OF PLASMA WHITEPAPER


TABLE OF CONTENTS

  1. Abstract
  2. Plasma
    . The Plasma Blockchain
    . Plasma Proof of Stake
    . Tree of Blockchains
    . Web of Blockchains
    . Economic Incentives
    . Scalability
  3. Plasma Operations
    . Fraud Proofs
    . Deposits
    . Transactions
    . Withdrawals
    . Mass Withdrawals
    . Root Chain Commitments
  4. Plasma & Payment Channels
  5. Example Applications
  6. Attacks, Risks, and Mitigations
  7. Related Work
  8. Future Research
  9. Conclusion and Summary
  10. References

1) ABSTRACT

Plasma is a framework for layer 2 blockchains, based on fraud proofs which are enforced on the layer 1 blockchain, which in this case is Ethereum. The Plasma framework is not a precise specification but rather a layout.

In a consensus based blockchain, the participants first agree on the block produced and next proceed to form the blockchain. In a fraud proof based blockchain, the participants first proceed to form the blockchain and next disagree on the produced blocks within a stipulated time. When a participant challenges that a produced block is a fraud, methods to prove fraud and take necessary action exist in the parent chains and finally in the root chain Ethereum smart contract. It is akin to the judicial system where once a crime happens, it is reported with evidence to prove and penalize.

The features of the Plasma framework makes it highly scalable, potentially to millions of transactions per second. Block production can be faster because a complete consensus is not needed to proceed. Also the multiple chains due to the tree of blockchains feature, can be used to parallelize the transactions to achieve very high scalability.


2) PLASMA

Layer 1 blockchains like Ethereum can perform the transactions for all use cases, but has significant difficulty in scaling the transactions per second. In particular use cases such as payments, DEX, social networks, games, etc. only a part of these transactions need to be performed which can simplify the transactions and help in greatly scaling the number of transactions per second within that use case. Plasma is a layer 2 blockchain for application specific or category specific use cases.

  1. Participants and their tokens are moved from the layer 1 blockchain to Plasma
  2. Participants perform transactions for their use case within Plasma
  3. Participants and their tokens are moved back from Plasma to the layer 1 blockchain

Blockchains are made of a list of blocks and blocks are made of a list transactions. Plasma blocks can be of size 20kb, 100kb or bigger. Merkle proofs are concise representations(32 bytes) of blocks using cryptographic methods. Merkle proofs can be used to verify if a set of transactions is a part of the block.

Plasma is a layer2 blockchain that runs on top of Ethereum. In Plasma, the participants first proceed to form the blockchain and next disagree on the produced blocks within a stipulated time. When a participant challenges that a produced block is a fraud, methods to prove fraud and take necessary action exist in root chain Ethereum smart contract. The fraud proofs (methods to prove fraud) use the information given below as evidence to detect fraudulent transactions

  1. Merkle proofs of the plasma blocks that contain the plasma transactions. Every plasma transaction is not written to Ethereum, rather only the merkle proofs of the plasma blocks that contain the plasma transactions are written to Ethereum.
  2. Plasma transactions, submitted by any participant in the event of fraud

Plasma is composed of six key components

  1. Fraud proofs to enforce blockchain state transitions or transactions
  2. Incentivization that motivates the progress of the blockchain
  3. A tree of blockchains starting with the Ethereum as root and recursively forming parent and child chains
  4. Optional generalization of the blockchain to execute smart contracts rather than just specializing for payments
  5. Optional map reduce functions to compose this tree of blockhains
  6. Optional Proof of Stake token bonding on the root chain that uses Nakamoto Consensus incentives to discourage block withholding

Multiple plasma chains, each with it’s own set of smart contracts, can be created for different use cases such as DEX, social network, micro payments, private blockchains, etc.


2.1) THE PLASMA BLOCKCHAIN

Plasma can hold funds on behalf of it’s participants. Funds can be deposited from the root Ethereum chain into the plasma chain by the participants. The participants can transfer funds in the plasma chain to any other participant. When needed, funds can be withdrawn by the participants, from the plasma chain back to the root Ethereum chain.

Equivalent funds are maintained between the root Ethereum blockchain and the plasma blockchain. This is enforced using methods to prove fraud(fraud proofs) with smart contracts on the root Ethereum chain. The funds are maintained in the root Ethereum chain by locking in the smart contract. In the plasma blockchain the funds are maintained using an UTXO or an Account based blockchain ledger. Eg. If 100 Eth is locked in the root Ethereum chain, then a total equivalent(Plasma Eth or PEth) of 100 PEth can exist in the Plasma blockchain.

The root Ethereum chain and the fraud proof smart contracts act like the judiciary that enforces correctness on the Plasma blockchain. Plasma Operators or Validators are the plasma block producers. They receive the deposit, transfer and withdrawal transacations to collate them into blocks, after which they must submit the merkle proofs of the blocks to the root Ethereum chain and propagate the blocks to all the participants in the Plasma chain.


2.2) PLASMA PROOF OF STAKE AND BLOCK WITHHOLDING MITIGATION

Plasma blocks are produced by validators and propagated to other validators, watchers and other relevant participants. Validators produce blocks, chain together the blocks and submit merkle proofs of blocks to the root Ethereum chain.

In proof of stake, multiple validators bond a certain amount of their tokens on the root Ethereum chain, which is locked up for a certain period of time. The next validator to produce a block is selected randomly yet proportionately to the percentage of their staked tokens (i.e. if one stakes 3 percent of the coins, they should be 3 percent of the past 100 blocks).

In Nakamoto Consensus which is used in bitcoin, the miners are randomly selected. It requires the randomly selected miner to propagate the produced block to all other miners, so that the block can be chained to the next produced block by another randomly selected miner and become a part of the blockchain. Miners receive rewards for blocks produced but the reward can be claimed only if the produced block becomes a part of the blockchain. So miners are incentivized to not withhold but propagate the produced block, so that the block can be part of the blockchain and the reward can be claimed.

A PBFT(practical byzantine fault tolerance) based consensus mechanism can also be used. A randomly selected validator produces a block and propagates it to all other validators who vote on it to confirm the block. This also requires blocks to be propagated to all validators.

A mechanism similar to the above mechanisms can be used in plasma with proof of stake validators and watchers to discourage block withholding.

In Plasma, blocks need to be chained to form a blockchain and the merkle proofs of the blocks need to be written to the parent chain and finally to the root Ethereum chain. Nakamoto Consensus like incentives can be used here to discourage block withholding in the following way

  1. The block produced by a randomly selected validator needs to be propagated to all other validators so that the block can be chained to the next produced block and become a part of the blockchain. Validators receive rewards for blocks produced but the reward can be claimed only if the produced block becomes a part of the blockchain.
  2. The committing of the merkle proof of the blocks to the root Ethereum chain can be done by signing acknowledgements in three phases. Phase 1 by the current validator who produces this block. Phase 2 by the next validator who receives this block and chains it to the next produced block. Phase 3 by a watcher who received this block.
  3. For a particular block, if the three phases are not completed within a fixed interval then all the blocks upto the particular block are rolled back and a reorganization of blocks happen. Plasma finality is achieved only after the three phases complete.
  4. Withdrawal of tokens and block production rewards from Plasma to the root Ethereum chain is permitted only after all three phases.

2.3) TREE OF BLOCKCHAINS AND MAPREDUCE

The Plasma tree of blockchains uses a mechanism similar to the court system. It is a system of lower and higher courts where the lower level parent blockchains in the tree are the lower courts and the higher level parent blockchains in the tree are the higher courts. The Ethereum chain which is the root of the tree of blockchains is akin to the supreme court.

The fraud proof in the parent chains act like the court that enforces correctness in the child chains. As in real world courts were crime must be reported for justice to be enforced, participants of child chains must monitor the chain at intervals to detect and challenge fraud by reporting to the parent chain, which will enforce correctness.

The Map Reduce mechanism is solving by recursively dividing into tree of components, solving each component to get component results, summing all the component results repeatedly from children to parent all the way to the root of the tree to arrive at the final result. The map phase is the recursive dividing and the reduce phase is the repeated summing up.

Example : Determining the occurence count of words in a book. The entire book is at level 1 of the tree, the chapters of the book are at level 2 of the tree, chapter sections are at level 3 of the tree. A Level 3 child does the computation and has the result as chapter section wordlists (e.g. 3 occurrences of the word ”Hello”, 2 occurrences of the word ”World”). This result is returned to the parents in Level 2, which combines them to result in chapter worldlists. This result from Level 2 children are returned to the root in Level 1 which combines them to result in the book worldlist (e.g. the entire corpus contains 100 instances of ”Hello” and 150 instances of the word “World”).

For Plasma, in the map phase, parents provide children with data for computation as input. In the reduce phase children provide parents with the computation result and merkle proofs of the blocks that contain computational state transitions/transactions. The merkle proofs aid the fraud proofs constructed on the parent chain and root Ethereum chain to enforce correctness. So Plasma enables map reduce with correctness.


2.4) WEB OF BLOCKCHAINS

It’s possible for plasma chains to connect to multiple root blockchains. The correct construction for this is an open problem.


2.5) ECONOMIC INCENTIVES

Each Plasma chain can have it’s own native token or use the root chain token which is Ethereum in this case. To incentivize correctness it may be ideal to have a native token for each Plasma chain. This token represents the network effects of the Plasma chain, and creates an incentive to maximize the security of the chain. If validators act fraudulently, a native token will ensure that they incur costs via value declines in the value of the token.

Proof of Stake validators and watchers can recieve transaction fees and bounties for operating the network correctly and will be penalized of their staked bond for fraudulent operation. This incentivizes them to operate the network correctly and create long term value for the token. Since the stakers have an incentive to continue operating this network to collect transaction fees, they will persistently run the chain.


2.6) SCALABILITY

Nested and the resulting multiple chains, effectively shards the blockchain and makes parallel computation of blockchains possible. This provides for massive scalability.

Participants can restrict themselves to watch the child chains and the corresponding parent chains where they have funds . This reduces the load on the participants.


3) PLASMA OPERATIONS

The main operations in Plasma are

  1. Methods to prove fraud
  2. Deposits from the Ethereum chain to Plasma chain
  3. Transactions within the Plasma chain
  4. Withdrawals from Plasma chain back to the Ethereum chain
  5. Mass Withdrawals from Plasma chain back to the Ethereum chain
  6. Root Chain Commitments

3.1) FRAUD PROOFS

The root Ethereum chain and the fraud proof smart contracts act like the judiciary that enforces correctness on the Plasma blockchain. The fraud proofs are the judicial process and for it to prove correctness, it uses the information given below as evidence

  1. Merkle proofs of the plasma blocks that contain the plasma transactions. Every plasma transaction is not written to Ethereum, rather only the merkle proofs of the plasma blocks that contain the plasma transactions are written to Ethereum.
  2. Plasma transactions, submitted by any participant in the event of fraud

Merkle proofs can be used to verify if a set of transactions submitted as evidence to prove fraud, is a part of the block. Only after that is the validity of the transactions verified, to prove fraud.

In the parent chain and the root Ethereum chain, there are a collection of fraud proofs which ensure that all transactions are valid when evidence in the form of block data is available. Example fraud proofs are

  1. Proof of deposit and withdrawal for an account
  2. Proof that certain transactions exist or not across blocks for an account
  3. Checking the signature for the ability that an account balance can be spent
  4. Proof that funds are available in an account

Fraud could happen in the following ways

  1. Plasma Operator or Validator can add arbitrary deposit transactions (Eg. Adding a deposit transaction of 10 Eth in the plasma blockchain without it being locked in the root Ethereum chain)
  2. Double spending or Spending more than one’s balance by any participant
  3. Withdrawing an amount greater than one’s balance from the Plasma chain to the root Ethereum chain
  4. Plasma Operator or Validator withholding a produced block by not propagating it to the participants

Fraud detection and prevention happens as follows

  1. The participants must watch the Plasma blockchain at intervals and any participant can disagree on the produced blocks within a stipulated time.
  2. When a participant challenges that a produced block is a fraud, transaction data from the previous blocks must be provided as proof.
  3. Methods to prove fraud, rollback the fraudulent transaction and punish the fraudulent participant exist in the parent chains and finally in the root chain Ethereum smart contract.
  4. When a rollback of a fradulent transaction is not possible, the affected participant can choose to exit the Plasma blockchain, so that the balance funds are safely withdrawn to the root Ethereum chain.
  5. Plasma Operators/Validators and participants attempting to withdraw, put up a bond of funds. If they engage in fraudulent transactions, the bond will be slashed and provided to the participant who successfully challenges the fraudulent transaction.
  6. In the case of block withholding, all the participants can choose to mass exit the Plasma chain.

3.2) DEPOSITS

A deposit from the root Ethereum chain to the Plasma chain happens in the following steps

  1. The depositor sends tokens (e.g. ETH or ERC-20 token) to the Plasma contract on the root Ethereum chain.
  2. The validator includes the deposit transaction in a block in the child chain. The merkle proof of the block is written to the root Ethereum chain. The block is propagated to other participants.
  3. The validator and producer of the next block can acknowledge this block and add the merkle proof to the root Ethereum chain.
  4. The depositor and/or a watcher observes the deposit transaction and signs an acknowledgement that they have seen the transaction and the block. This signed acknowledgement and the merkle proof of the block can be written to the root Ethereum chain.
DEPOSIT MECHANISM

3.3) TRANSACTIONS

Transactions or state trasitions should include the sender address, sender signature, receiver address, token type, token amount, etc.

Transactions happen in the following steps

  1. Alice sends a transaction to Bob on the Plasma chain which transfers an amount in a particular token
  2. The transaction is included in a child chain block by a validator of the Plasma chain. The merkle proof of the block is written to the root Ethereum chain. The block is propagated to other participants.
  3. The validator and producer of the next block can acknowledge this block and add the merkle proof to the root Ethereum chain.
  4. Alice, Bob and/or a watcher observes the transaction and signs an acknowledgement that they have seen the transaction and the block. This signed acknowledgement and the merkle proof of the block can be written to the root Ethereum chain.

3.4) WITHDRAWALS

In normal operation, a participant can do a Normal Withdrawal of their balance funds from the Plasma chain to the root Ethereum chain.

Simple withdrawal is a normal withdrawal that waits for a specified interval(Eg. 2 weeks) for any participant to challenge. It happens in the following steps

  1. The participant submits a withdrawal transaction to the parent chain or the root Ethereum chain. A bond is placed as part of the withdrawal to penalize false withdrawal requests.
  2. Any participant can challenge the withdrawal request within a specified interval using the transaction data that is submitted as evidence to the fraud proofs in the parent chain or root Ethereum chain. If it’s proven that the withdrawing participant’s balance has already been spent, then the withdrawal is cancelled and the bond is slashed.
  3. If the specified interval has elapsed and no fraud is proven, then the withdrawing participant can redeem their funds on the parent chain or the root Ethereum chain.

Fast withdrawal is a normal withdrawal that does’nt need to wait for the specified interval. It is facilitated by a liquidity provider for a fee and happens as fast as the finality of the root Ethereum chain(i.e 6 minutes). The liquidity provider is willing to wait for the specified interval(eg. 2 weeks) to get back the funds in exchange for a fee while the withdrawing participant gets the funds minus the fees at the earliest. The service is provided only if the withdrawal is not fraudulent. It happens in the following steps

  1. The participant submits a withdrawal transaction to the parent chain or the root Ethereum chain to be paid out to the liquidity provider. A bond is placed as part of the withdrawal to penalize false withdrawal requests.
  2. The liquidity provider has the child chain block data which is used in the fraud proofs to check if the withdrawal is valid. If valid then the liquidity provider agrees to the fast withdrawal and transfers the withdrawal amount minus fees to the withdrawing participant on the root Ethereum chain (Eg. if 10 Eth is the withdrawing amount, the liquidity provider transfers 9.5 Eth to the withdrawing participant, keeps a fees of 5% or 0.5 Eth and finally receives the 10 Eth after 2 weeks, thus totalling 10.5 Eth)
  3. Any participant can challenge the withdrawal request within a specified interval using the block data that is submitted as evidence to the fraud proofs in the parent chain or root Ethereum chain. if it’s proven that the withdrawing participant’s balance has already been spent, then then the withdrawal is cancelled and the bond is slashed.
  4. If the specified interval has elapsed and no fraud is proven, then the liquidity provider can redeem their funds on the parent chain or the root Ethereum chain.

3.5) MASS WITHDRAWALS

In the event of block withholding, all participants must do a Mass Withdrawal of their funds from the Plasma chain to the root Ethereum chain within the specified interval(eg. two weeks). In the event the chain is not exited in time, funds will be lost. Plasma relies upon the fact that if participants detect block withholding, they are responsible for exiting the Plasma blockchain.

Mass withdrawal happens in the following steps

  1. There is an exit processor who organizes the exit. The exit processor coordinates with all the participants to obtain their signatures for a mass exit.
  2. The exit processor verifies that there are no duplicate withdrawals and that all the participants have the right to withdraw upto the point of block data availability.
  3. The exit processor broadcast a mass exit initiation transaction after putting up a massive bond. A fee can be charged from the participants that are mass exiting.
  4. Any participant can challenge the mass exit within a specified interval. If the challenge is valid then the exit processor must modify the mass exit transaction to make it valid.
  5. After the specified interval, the mass exit transaction proceeds and the participants receive their funds.

3.6) ROOT CHAIN COMMITMENTS

The merkle proofs of the Plasma blocks in the correct order(blockchain order) are periodically committed to the root Ethereum chain. This can be done by signing acknowledgements in three phases

  1. Phase 1 by the current validator who produces this block
  2. Phase 2 by the next validator who receives this block and chains it to the next produced block
  3. Phase 3 by a randomly selected watcher who received this block.

Plasma finality is achieved only after the three phases complete.

When a participant challenges fraud, transaction data provided as evidence can be cross checked for validity against the already available merkle proofs of the blocks that were submitted. The fraud proofs can then use the transaction data to determine if any block is fraudulent and penalize the block producer.


4) PLASMA & PAYMENT CHANNELS

Plasma is not designed to reach assured finality rapidly, even though transactions are confirmed in the child chains rapidly, it requires it to be finalized on the underlying root blockchain. Lightning Network like payment channels are necessary for rapid finality of payments or state that are enforcible on-chain. It allows for effectively instantaneous payments.

Lightning Network like payment or state channels can be used for rapid financial payments or state updates on top of Plasma.


5) EXAMPLE APPLICATIONS

Reddit clone :- The topmost parent blockchain has the accounts of subreddits. Each child chain of the topmost parent is a subreddit. Within each subreddit is a child chain of posts and comments. Fraud proofs enforce access control for the accounts.

Decentralized Exchange :- The topmost parent chain is a payments chain. There are mulitple child chains to the topmost parent, each representing a trading pair. Within each trading pair there are multiple child chains for scalability. Each exchange pair child chain or scalability child chain, takes the orders and does the exchange.

Private Chains :- Participants in a Plasma chain would want to maintain data within an organization. For such purposes a Plasma chain can be constructed to work wihtin the privacy of an organization yet secured by the public root Ethereum chain.


6) ATTACKS, RISKS AND MITIGATIONS

Smart Contract Code :- Writing good smart contract code is hard. Plasma security is entirely reliant upon correct execution of the fraud proofs. It is possible that some fraud proofs may not be included and invalid transactions may inadvertently be allowed.

Closing Transaction on Main Chain becomes Expensive :- There’s a risk when closing a transaction on the main chain, it becomes very expensive. This can create certain types of exit scams whereby one uses a very large amount of small values transactions.

Finality :- In Ethereum since multiple miners are parallely solving PoW to find a block, some miners can end up forming parallel chains to the main chain. But in time, one of these chains becomes the longest chain which will make all miners to reorganize or shift to this longest chain. So when reorgs happen, finality takes longer than usual. If there are such deep chain reorgs in the root Ethereum chain, it can delay the finalty of Plasma transactions also.

Increasing Costs in Root Chain :- If root chain fees or gas becomes too expensive, it would not be possible to exit/withdraw from the Plasma within a set time period. This can happen during periods of congestion like ICO’s, overloaded Dapps, etc. A simple mitigation is to delay or pause withdrawal during such periods.

Root Chain Censorship :- The design assumes that over 51% of the root chain is honest. If participants on the root chain coordinate to attack the network by censoring blocks, then significant difficulties may arise from enforcement of exit transactions or state updates, potentially creating significant loss of funds.

Chain Halt :- If the Plasma chain halts, then after a specified time period the balances and states can be moved from the halted chain to another Plasma chain so that new transaction can continue from there.

Inability to Change Consensus Rules :- It is extremely difficult to change consensus rules without pre-programming in that ability. This can be mitigated by creating upgrade paths as part of the system (e.g. forced halt after a certain date).


7) RELATED WORK

TRUEBIT :- Plasma shares a great degree of similarity to TrueBit in the need for and construction of fraud proofs. TrueBit design allows for compact merkle proofs to be submitted to the Ethereum blockchain, which is necessary for Plasma. It uses the disagree and challenge mechanism as in Plasma. So nearly all of the heavy lifting done by the TrueBit paper and team is directly applicable to Plasma. TrueBit narrows down the disagreement to small sections of the smart contract and constructs fraud proofs for those small sections using Ethereum smart contracts.

BLOCKCHAIN SHARDING :- If the root Ethereum blockchain is sharded, then the Plasma chain can run on top of this for greater scalability and other benefits.

FEDERATED SIDECHAINS :- Plasma is not a federated sidechain. A sidechain uses it’s own consensus mechanism and relies on a set honest miners or validators. Plasma instead relies on fraud proofs that exist on Ethereum.

ZK-SNARKs and ZK-STARKs :- zk-SNARKs/STARKs proofs are complimentary to Plasma. A proof can be provided along with the result of the merkle 
 proof of the block. It allows for faster verifying of chains themselves.

COSMOS / TENDERMINT :- Cosmos arranges blockchains in a Cosmos ”Hub” and has child blockchains ”Zones” validated over a proof of stake system. Significant similarity with the construction of child blockchains exist. The proof of stake construction for Cosmos presumes a 2/3 honest majority of validators. Plasma instead relies on fraud proofs that exist on Ethereum.


8) FUTURE RESEARCH

An area of research is generalized recursive SNARKs/STARKs, which would significantly boost the security.

Use of novel cryptography and secure hardware elements for fraud proofs to provide for increased defense.

Developments in novel uses of pairing cryptography or other forms of homomorphic encryption may also be helpful.

Ability to watch multiple root chains.

Further research is needed around finality as well as further minimization of Plasma chain exit risks.


9) CONCLUSION AND SUMMARY

Plasma is a layer2 blockchain that runs on top of Ethereum. In Plasma, the participants first proceed to form the blockchain and next disagree on the produced blocks within a stipulated time. When a participant challenges that a produced block is a fraud, methods to prove fraud and take necessary action exist in root chain Ethereum smart contract. It is akin to the judicial system where once a crime happens, it is reported with evidence to prove and penalize.

Plasma is composed of six key components

  1. Fraud proofs to enforce blockchain state transitions or transactions
  2. Incentivization that motivates the progress of the blockchain
  3. A tree of blockchains starting with the Ethereum as root and recursively forming parent and child chains
  4. Optional generalization of the blockchain to execute smart contracts rather than just specializing for payments
  5. Optional map reduce functions to compose this tree of blockhains
  6. Optional Proof of Stake token bonding on the root chain that uses Nakamoto Consensus incentives to discourage block withholding

The Plasma tree of blockchains uses a mechanism similar to the court system. The multiple chains due to the tree of blockchains feature, can be used to parallelize the transactions to achieve very high scalability.

In proof of stake, multiple validators stake their tokens and the next validator to produce a block is selected randomly yet proportionately to the percentage of their staked tokens. They can receive transaction fees for operating the network correctly and will be penalized of their staked tokens for fraudulent operation. Since the stakers have an incentive to continue operating this network to collect transaction fees, they will persistently run the chain.

The features of the Plasma framework makes it highly scalable, potentially to millions of transactions per second.


10) REFERENCES

Plasma : Scalable Autonomous Smart Contracts by Joseph Poon, Vitalik Buterin, August 11 2017
https://plasma.io/plasma.pdf

Minimal Viable Plasma by Vitalik Buterin, January 3 2018
https://ethresear.ch/t/minimal-viable-plasma/426
https://github.com/omisego/plasma-mvp

Plasma Cash: Plasma with much less per-user data checking by Vitalik Buterin, March 4 2018
https://ethresear.ch/t/plasma-cash-plasma-with-much-less-per-user-data-checking/1298

PoS Plasma Cash with Sharded Validation by Karl Floersch, March 24 2018
https://ethresear.ch/t/pos-plasma-cash-with-sharded-validation/1486

More Viable Plasma by Kelvin Fichter, Ben Jones, June 7 2018
https://ethresear.ch/t/more-viable-plasma/2160

Simple Fast Withdrawals by Kelvin Fichter, June 3 2018
https://ethresear.ch/t/simple-fast-withdrawals/2128

Enabling Fast Withdrawals for Faulty Plasma Chains by Kelvin Fichter, August 13 2018
https://ethresear.ch/t/enabling-fast-withdrawals-for-faulty-plasma-chains/2909

Debt & Liquidity for L2 Scalability UX by Eva Beylin, September 13 2018
https://ethresear.ch/t/debt-liquidity-for-l2-scalability-ux/3356

Plasma Cash Defragmentation by Vitalik Buterin, September 17 2018
Plasma Cash defragmentation take 2 by Vitalik Buterin, September 24 2018
Plasma Cash defragmentation take 3 by Vitalik Buterin, October 8 2018
https://ethresear.ch/t/plasma-cash-defragmentation/3410
https://ethresear.ch/t/plasma-cash-defragmentation-take-2/3515
https://ethresear.ch/t/plasma-cash-defragmentation-take-3/3737

Plasma Cash Minimal Atomic Swap by Vitalik Buterin, September 17 2018
https://ethresear.ch/t/plasma-cash-minimal-atomic-swap/3409

Plasma Cashflow
https://hackmd.io/DgzmJIRjSzCYvl4lUjZXNQ?view#

Plasma Prime Design Proposal by Snjax, November 12 2018
https://ethresear.ch/t/plasma-prime-design-proposal/4222

Plasma Leap — a State-Enabled Computing Model for Plasma by Johba, September 25 2018
https://ethresear.ch/t/plasma-leap-a-state-enabled-computing-model-for-plasma/3539

Plasma World Map — the hitchhiker’s guide to the plasma by Dapploper, November 22 2018
https://ethresear.ch/t/plasma-world-map-the-hitchhiker-s-guide-to-the-plasma/4333

https://www.learnplasma.org/en/