WTF is Plasma? (Link and info repo catching people up on plasma)


#1

I am having an extremely hard time getting caught up on plasma. But the information is very low level and it’s hard to get a grasp on what is going on and how can I implement plasma into my own project.

I want this post to help newcomers learn plasma from a beginner stand point. Beginner being understanding how to create dApps and understand Ethereum to a good extent.

What type of content should you link here?

  • ELI5: Plasma (Explain Plasma like I’m 5)
  • Article Links and Videos/PodCasts
  • Github Repos on plasma implementations

Or anything else that you want that you believe can assist newbies get into Plasma.


#2

Hi Mekyle,

We’re implementing plasma cash as a way to provide bandwidth and storage to blockchains wishing to build “fast” dApps. The following Github Repo is a good starting point for understanding what we’re doing: https://github.com/wolkdb/deepblockchains/tree/master/Plasmacash

There you’ll find our Rootchain contract and other materials. Happy to answer further questions you may have.

-Rodney


#3

Here is list of GitHub repos which are implementing Plasma

Bankex

Cosmos, Peg Zone Implementation

Taiwan Team, Javascript implementation of Plasma MVP

Blockchain at Berkeley

Loom Network

OmiseGO, Plasma Cash

OmiseGO, Plasma MVP

Voltaire Labs

Wolk


#4

This is not an exhaustive list, these are just the ones which I know about. I have also added a pull request at https://github.com/ethereum/plasma/pull/3 so that the list can be more dynamic and authoritative (updated and vetted on an ongoing basis rather than having to scroll through comments sections like this).
Hope this helps :slight_smile:


#5

Hey - I’m currently working on putting together a website that will attempt to be an all-in-one resource for this. Some questions:

  • What sort of information would be most helpful to get a better understanding of Plasma?
  • What’s most confusing when you first interact with Plasma?
  • What’s still confusing to you about Plasma?

Other general feedback or questions would be much appreciated!


#6

I found this very useful video to explain Plasma. https://www.youtube.com/watch?v=jTc_2tyT_lY


#7

Thanks for all the links guys. I understand Plasma a lot better now and I’ll try and create some documentation with the links to make it really easy for beginners.


#8

Videos are great for getting a quick grasp but the biggest thing would be articles on specifics of one particular section of plasma. Creating an “Understanding Plasma” series would be the best approach.

Understanding how to implement Minimum Viable Plasma in projects is difficult since there’s no step by step approach. I’m not asking for a step by step approach but breaking down MVPlasma into it’s components and explaining the logic behind it would be extremely helpful.

Understanding exiting strategies is something that still troubles me but that’s normal since it’s still being worked on.


#9

Awesome, this is great feedback, thank you! Will try to incorporate all of this.


#10

Hi,

I’ve been reading and trying to understand everything. I don’t understand implementing child_chains and building a client and also how they interact together.


#11

Hi @Mekyle

Let’s setup some time to maybe chat on Hangout or via email to discuss specific questions. At Wolk, we’re specifically building a Layer 2 Plasma chain that offers storage and bandwidth. There are numerous Layer 3 (child) chains that can be built to utilize this and would be interested in learning what use case / client you’re working on. Please send me a note at rodney@wolk.com and we can discuss.


#12

Hi @kfichter,
A resource as you have suggested would be brilliant! It would be great if this could be done at ethereum/plasma GitHub [1] so that Ethereum GitHub could carry the torch.

I think that the all-in-one resource it should cover things like:

  • terminology for the root chain. This is because the root chain can also be called the base layer protocol, or the parent chain etc
  • terminology for the side chains. This is because the side chains can also be called child chains, layer 2 … layer n and so forth
  • cover the fact that Plasma is an abstract design, not a product
  • cover the fact that implementations that adhere to the general Plasma designs can be deeper than one level. This is because the side chains can have their own side chains and so on
  • cover the fact that these second layer solutions do not use PoW but still produce blocks in other ways
  • introduce block-producers and validators to the design ecosystem - for example how do block-producers jump from chain to chain to perform their work. Can this be automated in the future?
  • get some sort of advice/guidance from @vbuterin and/or @jcp about whether future developers (who code up concrete implementations of the abstract Plasma design patterns) should use the word “Plasma”. Perhaps we could give developers more appropriate descriptors like:
    a) Second Layer Side Chain (SLSC) or
    b) Second Layer Peg Zone (SLPZ) or
    c) Second Layer Lightning Network (SLLN) and so forth.
    This would leave room for more acronyms as the design patterns progress. It is my guess that there will be a lot more implementations and that they will all have different attributes and operations. Only problem is that there might be overlap i.e. Side Chain and State Channel are both “SC”. Perhaps someone can come up with a better idea of how to describe implementations without overusing the word “Plasma”.

I will try and think of some more points. Love your work!

Kind regards
Tim

[1] https://github.com/ethereum/plasma/pull/3


#13

Hey Tim, we’re starting to put together content over at ethsociety/plasma-website. We’re gathering content over the course of this week, website should look less empty soon! We want to make this an open process, so we’re adding discussions in issues. I’m going to port the suggestions made here as well.

Note:
This is a project coming out of the IC3 Bootcamp, so most of the contributors are new to Plasma! Please feel free to contribute, even if that’s just by asking questions in the issues!