New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

The State of Plasma by David Knott & Kelvin Fitcher (Devcon4)

DevconWed, Oct 9, 2019, 12:00 AM

Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on IPFS and more. https://archive.devcon.org/archive/watch/4/the-state-of-plasma David Knott and Kelvin Fitcher give an update on the state of Plasma. Speaker(s): David Knott, Kelvin Fitcher Skill level: Intermediate Track: Developer Infrastructure Keywords: scaling, mvp, zk, zero knowledge Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum Learn more about devcon: https://www.devcon.org/ Learn more about ethereum: https://ethereum.org/ Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. Devcon 4 was held in Prague, Czech Republic on Oct 30 - Nov 2, 2018. Devcon is organized and presented by the Ethereum Foundation, with the support of our sponsors. To find out more, please visit https://ethereum.foundation/

Transcript

so yeah cool so essentially you guys have been here for all of DEFCON you probably you could have known coming into DEFCON that blockchains need to scale if you didn't know going in based on some of the talks that you've got to you probably know now so I don't really have to make that argument but I'll just go into it a little bit essentially block chains are amazing there's this global truth especially when they're public Bakhtin's then they're then they're this global truth that everyone can see that everyone can access and in the case of block chains like a cerium anyone can essentially store information on them and interact with them yo anyway and so this is this is amazing but they are single threaded at least as of right now bunch of nodes running the same same stuff all over the world this is great in terms of keeping a record of it everyone who's running a full node has their own personal copy of the blockchain they're running but the downside is it's expensive and so this is where we get into scaling l1 with stuff like charting and then there's l2 which is like essentially like the three big ones are state channels side chains and then plasma which is kind of in the middle in terms of the security guarantees that it provides so plasma it's cool you've come to this this talk you might know a little but essentially the defining characteristic of plasma is that it's a framework for securing block chains yo Kelvin putting that password yeah anyway so it's a framework for securing block chains and so if you have a sidechain yes it can talk to another chain so you could have a sidechain that talks to aetherium and this is great and in the happy if we take the happy pass everything's fine but breaks and so with side chains they're reliant on essentially if their own consensus so if a side chain consensus fails it's a security issue with plasma chains they are actually secured by the loot chain in in our case we're using a cerium as the root chain and so if the plasma chain consensus breaks it's a disruption as opposed to a security failure which is pretty cool because essentially you can exist eight anyway the next slide was a picture of the plasma white paper it was released on August 11th and if you're interested in getting into plasma I would say it's a solid read in terms of selling the vision of plasma but since then a lot of stuff has changed so I would say trying to follow the spirit and not the letter don't take it too literally yeah so read it but yeah take it with a grain of salt boom we've come a long way this is where you go if you want the most up-to-date stuff sure sometimes it can be a little technical or hard to digest but this is kind of where a lot of the bleeding edge discussion happens and what's super cool is that as time has gone on kind of the discussion around what plasma is and what plasma can facilitate has grown seemingly exponentially so when the plasma white paper was first released it was kind of as I said before this boom vision and that was amazing but I think it was actually quite intimidating to kind of take this take this vision and then turn it into code because it wasn't like a clear specification and so it kind of took on understanding of the vision and then distilling distilling that down in something that could actually be implemented that could be fully specified so that we could know the like the security properties that it provides at a granular level and yeah as time went on then essentially we kind of got a very clear idea about like the core mechanisms and so essentially it's all about moving state if we have all all state on on a cerium we run into the problem I mentioned before and so what we actually do is we have a plasma train that also has state transitions and essentially it's transference it's it's changing States and then every so often the child chain consensus actually submits snapshots of this state back to solute chain and so this the snapshots that are sent back are what actually secures secures the chain and if the child chain consensus essentially creates an invalid state or accepts an invalid state transition then all of a sudden you have an invalid state but it's okay because you can exit based off a previous valid state how do we know when something is invalid this is where clients come in so essentially you have the child chain consensus but then you also have to have clients or watchers who are not actively participating in the decision making of a plasma chain what they're actually doing is just validating it they're taking blocks and that have been included and they are making sure that everything is a-okay if everything is not okay then essentially you exit and the client is essentially what allows you to detect when things have gone wrong and so yes intimidating but kind of things were distilled and out-out flew plasma MVP and this was super super basic functionality so essentially it's a UTI so payments blockchain it's even simpler than Bitcoin because it doesn't have Bitcoin scripting and it's it's a bit more limited at least in terms of the inputs and outputs anyway so with plasma MVP and with other plasma constructions you essentially have a smart contract on your route chain that is responsible for storing these snapshots of state and so when you when you want to enter a plasma chain you send assets or state to this route chain smart contract and your assets are essentially stored there and they're locked up and then you can play with them on a plasma chain for a fraction of the cost and when you're when you're done and ready ready to piece out maybe you want to interact with the rest of a cerium as you've seen from all these wonderful Def Con presentations it's constantly expanding and there's so many cool things to play with you just exit or if if something goes bad then you have to exit because it's no longer safe to essentially sign off on state transitions for your assets on an invalid on an invalid plasma chain cool so plasma MVP got something out the door it's awesome but it did have some issues and so the two kind of issues with plasma MVP and plasma MVPs architectures is that the plasma MVP actually introduces a time constraint so essentially this this essentially forces every user to be alive every for every given period of time or it requires someone the user trust so a trusted third party to actually watch the chain on their behalf and be and check it every given period of time and checking it is doable the real downside and the real constraint here is that if a plasmid MVPs chain is found to be invalid everyone has to exit within a given period of time and this this is all well and good in most most situations but as soon as we dig deep get into worst-case scenarios essentially if you have this much state and this this much capacity available on a cerium you run into trouble and there are things we can do to minimize this but essentially you kind of have to plan for it from the get-go by predicting like worst case scenario network congestion if a plasma chain breaks when the cerium network is already super congested from IC o---- or trade mining or one of the many things that is being created right now you essentially have to factor that in and then you shouldn't allow any essentially too much state and you want to make sure that it can all be exited within the given time period other downside is that essentially your watcher that's validating the chow chain actually has to validate everything so you could have a super-fast plasma chain but then essentially if the watchers are going to have a lot of trouble validating it because whatever the Watchers are gonna have a bunch of trouble validating it because unless they are using like dedicated hardware or heavy AWS computing they're everyday like laptops just won't be able just won't be able to keep up yo Kelsey get out here anyway so plasma MVP has these time constraints it also and you have to validate the entire chain you also have confirmation signatures so what this means is essentially if I if boom thank you Kelvin if if Alice sends Bob value Bob does not actually have access to this value until he receives the confirmation so as you can see here Alice makes makes the transaction then she actually has to watch it first be included in a plasma chain and then being included on a cerium and then she signs a confirmation signature and only then does Bob have custody of set value so boom now it's unlocked and now it's it's finally Bob and so this this is bummer because essentially it's pretty pretty horrible for UI because all of a sudden not only does the user have to sign once but that a user has to sign once wait a period of time to watch their transaction be included on a cerium and then they have to sign again there's also a grieving vector and so essentially this is kind of what inspired more viable more viable plasma yeah Calvin Calvin right there main man main man behind that and essentially the big thing here is that whereas with plasma MVP you're only able to exit outputs with more viable plasma you're able to exit inputs as well and so essentially the clear difference with between more viable plasma and minimum viable plasma is that with minimum essentially transactions are invalid by default and they only become valid after a confirmation signature whereas with more viable plasma essentially you have you have transactions that are valid by default and then if something goes wrong you essentially have an exit protocol an interactive game by which you can use to exit the inputs so yeah removes confirmation signatures and removes the grievant vector super super cool stuff but you still have to validate the entire chain and it still has the time constraints so you're vulnerable to network congestion boom plasma cache and so essentially plasma cache gets rid of the time constraints and also it it essentially allows users to only watch only watch the their own assets and so how does this how does this work well we every all value on a plasma cash chain is essentially treated as an NST so as opposed to having a large pool of assets like you do on plasma MVP where if one invalid exit gets through essentially the child chain consensus can steal everything in the smart contract with plasma cash if there's an invalid exit only a discrete piece of value a specific users value can be stolen which is why users only have to watch their own NF T's I kind of think of them as like kind of like collectible so yeah kind of like action figure action figure but within the context of plasma and VP or sorry plasma cash it's actually used to represent value cool and so here when Alice deposits new NF T is created with the value that Alice deposited and then Alice only has to watch that value when she exits all of a sudden she she can stop watching and everything's everything's okay and then essentially anyway yeah so essentially users only have to check their own their own value and this is amazing because it essentially reduces the computational requirements for users to validate a plasma cash chain because you can kind of divide it amongst all users and so now the kind of heavy computational requirements are only on the child chain consensus which is a lot less limiting because they're expected to be able to have fairly fairly powerful hardware then there was plasma XT and so one downside to plasma cash is that for each NS key that a user holds you essentially have to have a proof for each block in the plasma cash chain and so if you spend and transfer ownership of this NFT you have to kind you have to have a proof of membership for this transaction and but even if you're just sitting with your NS p value and not using it all you still have to keep track of the value and you essentially have to constantly be collecting proofs of non approves this non-inclusion to be able to prove that you have not transferred your NFT like in secret and so essentially when you're transferring ownership of the NFT you have to pass around all its history as well and if you're holding a particular NFD for a year this can actually end up being a lot of data and so what plasma xt does is it essentially allows users to checkpoint their n FPS on the route chain and so by checkpointing their n FPS every so often that's essentially our we set on the amount of data they have to store and you can actually develop like very targeted algorithms for checkpointing so that users who are more sensitive to data storage don't have to keep track of it as much this is super awesome for like essentially computationally restricted devices because yeah their storage is super limited cool and then we have and then we have plasma debit essentially which attempts to deal with the non fungibility of tokens because it's great that essentially plasma cash has better like properties from the get-go but none fungibility is a huge issue in a lot of cases and so what plasma debit essentially does is it allows is it allows users to have their NS keys but it allows users to kind of treat the NF keys as containers so an NF T could be partially full and then a user can essentially open up a state channel in most cases it would be with the child chains consensus mechanism and essentially they're they're essentially able to transfer value in and out of their NF TS up to its total value and so this essentially grants a modicum of fungibility which is yeah super exciting and awesome and yeah now I'm going to hand it over to Kelvin okay so I'm gonna talk about the future of plasma I'm gonna make this as quick as I possibly can and click this doesn't get locked so I think a lot of people are wondering where is plasma headed and these are sort of the things that I think are really interesting in the future of plasma I'll get into more detail about each one of these but generally it's zero and all our stuff some new research is coming around plasma cash then formalizing plasma as a thing so what actually is plasma and then sort of the Holy Grail which is generalized plasmas so so the first thing here is zero knowledge so I think we've seen something of what I like to call a snark NATO recently where a lot of people have have been designing these zero knowledge constructions and and I would like to attribute some of that to Barry whitehat who's been doing a lot of Awesome work with with snarks and actually building snark based applications on aetherium I think that that sort of spurred a lot of awesome people saying hey how do we you know this thing might actually start to be production ready soon let's start building applications with it let's start designing applications so I have this feeling that you know five to ten years from now we'll see half of the blockchain problems that we have just solved by zero knowledge constructions and and I think that you know people are starting to recognize that as well right now and people are building things like plasma snap or roll back and I won't really go into detail about how these things work but generally it's it's solving a lot of the things that we've solved so far with crypto economic constructions just straight up with with cryptographic constructions and and that generally means that it's much more efficient and we we have to worry about a lot less and it's it's pretty amazing if you're very interested I would read into it it's you should look into zero-knowledge applications in general and start to design these things because in a few years you should be ready when when they start to get production ready so yeah this is my snarky Nieto slide ok so so this is my brief slide about plasma cash so so new plasma cash is not actually a thing don't I don't take pictures of this slide so really what happened was that for a long time plasma cash was this thing that was sort of useful for some things but not useful for a lot and and we started doing this work and we had some research workshops and you know Ben Ben Jones came up with an interesting construction for for how to you know make things a little bit more fungible and Vitalik put up some posts right so if it did move like this which is like make these posts that that spur a ton of conversation about stuff and a lot of interesting plasma cash research came out of it and so we had this thing that we originally calling plasma cash flow which was like whatever that's not a real thing anymore either and eventually all these things got combined into one big thing that we're calling plasma prime so it's basically the next giant iteration on top of plasma cash Karl talked about it a little bit and his talk a few days ago but the the high level is that we've taken all of these constructions and kind of pasted them together and made the thing that I think is is actually quite good there's still a lot of work to be done but it's it's definitely a massive improvement on top of plasma cash and this is where a lot of research I'm assuming in the next few months is really going to go if not the next year trying to figure out you know can we take this and really push this to something that's production-ready that you could have like a fantastic payments in exchange platform on top of and I think it is a big improvement over MEP but there's still a lot to be fleshed out and that's where people are going to be spending time so actually here is its formalization so I think plasma is a confusing term right nobody really knows what plasma is I don't know it's kind of just been thrown out there the paper defines plasma is one thing the you know researchers define it as something else whatever it's it's you know it's it's very very confusing I'm and my conclusion here is that we need more formalization so this is my first attempt and so so this is the standard model Lagrangian which is you know the most elegant physics we have or something but basically formalization is is something that yes it makes math divisions happy but it also clears up a lot of confusion right I want to be able to point to projects on Twitter and say you know you're claiming to be plasma but you're not right but but really I want to be able to have these definitions for the certain security properties that plasma chains give me right because I believe that users have a right to understand how safe are their assets right what assumptions are being made with with your assets so on on a sidechain you're making certain assumptions about the consensus mechanism and you're not making those assumptions in a plasma chain and so I would like to clear that up and so that we can have these really formal definitions for what these things are and and start to explain to users what these things mean and I think the other big thing here is revealing the trade-off space so really what this means is that there there are certain trade-offs that you make when you design these layer 2 solutions and like I was just saying you know side chains make these assumptions on the consensus mechanism but a plasma chain doesn't and it's like why are we making these assumptions well we're trying to solve certain problem so we're trying to solve the problem of we need a strict ordering on data on these you know side block chains and and we need data availability and so are we going to assume that the consensus mechanism isn't going to give these things are we going to not assume it and I try to have a fallback and have sort of this assumption that aetherium is going to be live it's all these different things and and if we if we kind of formally define what these different things are we start to reveal what we're trying to actually solve and and it means that you you reveal these knobs right that you you could turn and solve the fundamental problems in very different ways and I think it'll allow us to create novel constructions because we can just say oh we were doing this because we were trying to solve this specific problem what if we solved that problem in a totally new way um I think this is really important and I know a lot of people are interested in doing this work and so I'm hoping that we started to see a formal definition of plasma pop up soon enough so this is my you know this I copied this off of you know glads triangle thing so this is like you know where we were out here before this is you know when I whatever so so this is this is I'm trying to finish here cuz I only have a minute left generalize plasma is kind of the Holy Grail and where a lot of people are focusing their time right now so this is this is the big one and I'm gonna make a statement here I hope this gets accepted but I'm now calling plasma apps plap s-- which if you look in urban dictionary it does say plasma app it doesn't say plasma app don't look it up but it's hard right like so we've written stuff about why it's hard I there's you know I'm starting to think that there are actually things that are just straight-up impossible on a plasma chain and I think you know other layer too people will kind of understand why this is but the formalization will help us understand exactly why it is that some of these things are impossible but this is kind of the idea we want we want these smart contracts that we can somehow recover back to aetherium if something bad happens and we want people do amazing things like like runs you know whatever Crypt or kitties in the plasma chain and the best thing we can do right now is payments in exchange and payments in exchange is absolutely great but but it's not generalized stuff and so so a lot of people are focusing on this people have been coming up with different constructions there's like plasma leap some other people are publishing stuff we're gonna have a debate later about whether it's good to actually name these things like this I think I have no answer but I would say plasma VM its MVP backwards I think it's a good you know Alpha and Omega somebody should take that name so so yeah we're we're really not close to generalized plasma and I think a ton of money in time is going to be spent looking at this in the next few months or even years and yeah so this is the Holy Grail if you are interested in this you can talk to me later and I can explain to you all about why it's hard and what the work that has been done so far on this is yeah so in conclusion I'm at a time here but basically snarks are getting useful new plasma caches plasma cash and well it's whatever plasma prime is whatever and the claps are coming so I I do hope that if there's one thing you take away from this talk it's that claps is a new term I credit Ben Jones as well for that term and please use it liberally thank you come talk to me after [Applause] you

Automatic transcript — names and jargon may be misspelled.