This is a high-level overview of the things I think people should look at if trying to understand the current state of plasma. It’s probably missing a lot, feel free to ping me if you think something should be on this list. Apologies in advance if I missed anything!
These resources are basic, high-level overviews of plasma. These are meant to prime you on the general idea of plasma without going into too much detail.
A lot of people want to know about “generalized” plasma chains - chains where you can run general applications (like smart contracts). Unfortunately, this is a lot harder than it seems.
#State of Plasma
This is the “where we’re at” section. These resources will give you a high-level look at the different research going on and who’s working on what.
These topics are what I’d consider the current frontier of plasma research and what’s being most actively explored.
Plasma Prime is a fancy new design that makes use of RSA accumulators (section below) to solve the problem of large history proofs in Plasma Cash. Unfortunately there aren’t any good and cohesive documents that explain Plasma Prime (yet). The implementers call below is likely the best high-level overview of Plasma Prime to date.
- Plasma Cash (Predecessor to Plasma Prime)
- Plasma Prime (Implementers Call)
- Plasma Prime Design Proposal
An RSA accumulator is a type of cryptographic accumulator). The first link below is likely the best place to get started understanding what RSA accumulators are, the other links are good if you want to understand how they’re being used in plasma land.
- A Deep Dive on RSA Accumulators
- RSA Accumulators for Plasma Cash history reduction
- Compact RSA inclusion/exclusion proofs
- Short RSA exclusion proofs for Plasma Prime
Recent work introduces a new way of thinking about fungible tokens in Plasma Cash. Basically, we represent tokens as a big number line. Users own “chunks” (ranges) of this number line. These ranges can be combined if they’re immediately next to each other and user data storage grows with the number of chunks instead of the number of total owned tokens.
This introduces the interesting problem of defragging the ranges. As users spend their tokens, they slowly break apart their ranges and receive ranges in weird spots. We want to determine an optimal method for reducing the average number of ranges that people own.
- Plasma Cash defragmentation
- Plasma Cash defragmentation, take 2
- Plasma Cash defragmentation, take 3
- Plasma Cash was a transaction format
As zero knowledge constructions become increasingly more viable for production, people are starting to propose more ZK-based plasma designs.