#232 Karl Floersch: Plasma Cash and the Ethereum Roadmap
24 Apr 2018 · 1:10:53
Ethereum Foundation researcher Karl Floersch joins Epicenter to walk through Casper, sharding, and Plasma, the three pillars of Ethereum's scaling roadmap at the time. The conversation focuses on Plasma Cash, his simplified specification for Ethereum sidechains, the data availability problem it addresses, and the use cases and timeline he saw for Plasma's rollout.
Speakers
Topics
Transcript
[Music] this episode of epicenter is brought to by kenosis an open platform for businesses to create their own prediction market applications on top of a theorem network they recently launched venosus X a challenge inviting developers to build apps on top of the kenosis platform to learn more go to epicenter of TV slash enosis x hello and welcome to epicenter show which talks about the technologies projects in startups driving east centralization and
the global blockhead revolution my name is bryan fabian crane and I'm a Hanoi today we are about to chat with Col flourish who is a research scientist at the etherium Foundation and Carl really explains topic city well so we thought of having him on board explain to us what the plasma project is all about Carl welcome to the show thank you so much happy to be here so before we start tell us a bit about your background and how you got to be involved in the blockchain space so I have been interested in peer-to-peer technology for quite some time I was doing stuff with like web torrent I was into BitTorrent but I wasn't so into
Bitcoin because of all the kind of money talk if money wasn't really my thing but then when aetherium came around and it was this kind of global decentralized kind of computer science the problem I was like oh this is the missing piece I see why this this like economic stuff is actually really important and so that kind of led me to to work at consensus I was working there for about a year and a half and on the tail end of working at consensus I met with Vlad and and wanted to help out with some caspere stuff and then I worked with him on that and then I worked with Vitalik on even more caspere stuff and eventually just went full
aetherium Foundation researcher and and now spend all my time on Casper plasma cool so there's this three project side there's like Casper there sharding and there's plasma will cover plasma in depth during this episode but could you give us a sense of what these three projects are and how they connect sure so I guess I will start with Casper Casper is a proof of stake protocol which has been in the works at the etherium foundation for multiple years and essentially what it does is it forms consensus on the route aetherium chain and what that means is it basically
provides this guarantee around a transaction or block ordering and it says okay this is the one history and reverting this one history is very costly and so the the kind of design space around this is okay let's make it so that we have the most quote/unquote secure blockchain aka this blockchain that resists censorship the best and it also you know the history will not change under your feet and these are the kinds of you know concerns around Casper so that is like the security side of things then sharding is where we take the the kind of Casper protocol and we make it so that it secures not just one like small bit of data we make it secure a huge amount of information so we
basically pump up the the the throughput of this blockchain you know drastically and so we want to instead of you know doing 10 15 transactions per second we want 150 or a thousand 500 or and and and you know continue from there and then finally we have plasma and plasma is essentially a design pattern a a space of designs which allow you to kind of create your own scalable blockchain and run it you know maintain it yourself however you get the security benefits of the main aetherium chain so that means that you know the current proof of work security which is pretty good and then eventually the proof of State Casper security which
will be even better and so you get the the security of the main chain while being able to deploy your own and so these are the kinds of three frontiers for for aetherium search these days and what I'm working on and so if T's it seems like plasma is quite plasma cash right we gonna talk about it seems to be pretty close right and like in a you know reasonably time horizon Kaspar it's always hard to tell I mean I think we have hat metallic on here I don't know two and a half years ago or something and it was like six months away or something like that so and of course now it's Casper's in two stages
right there's the fast finality gadget and then full Casper is that still the plan yes so I can I can quickly do a little timeline stuff is impossible so I'm not giving any guarantees however I can say the facts and the facts are that we have a very reasonable plasma spec so that's of course you know that's coming very soon and anyone can implement it it's really varied there basically no barriers regarding plasma and implementing plasma that's super simple regarding Casper last January I my first thing that I was really focused on is implementing the Casper FFT test net like a full implementation of Casper FFT and that was released on January 1st and since then there is now a security audit
that is underway of the Casper contract you can read it read it online there you know formal verification stuff like this is a really amazing security audit team and there's also you know implementations that are being done for for multiple clients currently I think there's you know there's PI aetherium and then there's the Java implementation so while you know maybe maybe last time you talked about Casper it was like quote-unquote six months away this is like we are we are refining so that it can be deployed on the main net and there is something that works like you can download it and read the full spec and I think people should be a little bit more excited about the hybrid friendly finality Casper then then they
maybe are currently because it turns out that you get a huge number of the benefits of Casper when you just add in this friendly finality gadget and that that is you you get this kind of economic finality after twenty minutes and while that may see like quite a long time you can actually have guarantees even sooner than 20 minutes using other mechanisms so like Casper the Friendly finality gadget is the kind of big you know step forward that that we've been waiting for in some ways and so then we'll get full Casper eventually but but this is like ah this is so exciting friendly finality and so what are the
main things that this finality is so crucial for so one one thing I have you know spoken with some people about that makes sense to me why finality is important Eris is having fast finality right because let's say you build some kind of user application and then something reverse and you have to rollback stayed like that obviously from a user experience perspective sounds like a nightmare but then twenty minutes isn't really gonna do that for you so what does the 20 minute thing do for you so I would think of finality maybe in terms of like okay what is the economic penalty for reverting a particular transaction and so what we want to do is we want to make the the economic penalty as high as possible and so in terms of
the kind of like 20 minute finality you have this really really high penalty for reverting any any previous history and that is like the the kind of you know two chains get finalized at least one-third of all validators stick gets slashed so to to to revert history at all or or at least create a kind of conflict in the history you need to spend you know one third of the total validators stake and that gets burned so this is this is kind of like the the really secure stuff and what would what Casper allows us to do is because we have we're using kind of these coins to secure the the the chain we can now like reduce the blocker Wars for proof-of-work miners because now they're limited in how much
they can revert they can only revert you know 20 minutes back and so if you do wait for that finality now you're able to say okay I know without a doubt that this block is included in the main chain so that's kind of like your you know global finality and that's slower to come about and you know has really strong security guarantee I just wanted to ask one question on this here so he said ok because you have this 20 minute finality thing you can read the rooster the block rewards for miners or proof of work miners do you mind explaining the connection they're like why does that allow you to reduce block rewards yes so so essentially the the thing that you we pay miners to do is to
essentially like secure a single chain that would you know a single view of history that doesn't get changed it doesn't get reverted that you know has has a number of properties that we really like right and and we pay them quite a lot I mean and the actual amount that we pay them is kind of this arbitrary thing because you know macroeconomics are is hard but we definitely we're paying the millions of dollars a day and so that that is you know an insane expense now with proof of stake what we do with this friendly finality gadget is we now limit the attack surface of these proof-of-work miners we say okay you're able to revert you know blocks however you're not able to revert blocks past 20 minutes so essentially you wait a certain period of time now you know that this you know
this block is finalized will not be reverted and no matter what even if you had a you know proof of work 51% attack you know 100 percent attack you still would not be able to revert that transaction and so that means that now okay the actual like impact that paying these miners less will have is greatly reduced even if we paid them nothing you know maybe maybe would work out who knows well these are probably probably good to pay the miners but who knows maybe transactions are enough and that's that's that's in the future so so basically the idea is before you have this like massive bounty in a way right if you successfully pull off an attack and not about an Indian because of that it made sense to pay them a lot because
that means a lot of infrastructure and then also the cost is very high but now with the fast finality got you shrinking this dramatically and so did the benefit of pulling off an attack is also shrunk dramatically so it doesn't make any sense anymore to have this like massive huge expensive infrastructure protests like this attack surface so you can exactly master okay explain to us the third piece like Sharda sure so sharding essentially right now.if theorem can only process you know quote-unquote 15 transactions per second but basically it doesn't do a lot of computation really quickly now what we want to do is we want to say okay we have this one blockchain and it's actually able to process transactions
like way more transactions and the way that we actually do this isn't is non-trivial the thing is okay one way to shard or to scale a blockchain is to just like pump up the the transactions per second and that that works to some extent right you can say okay let's just add you know quote unquote unquote bigger blocks or or you know more you know throughput that works to some extent however eventually you get to a point where normal laptops are no longer able to actually process the entire blockchain and so you you now limit who can actually run this you know consensus protocol and because we want to keep it decentralized we want to make sure that okay a laptop is able to validate the blockchain so the better way to to scale
and and really hit hit high scale is by sharding the blockchain and that means that we take we allow like different computers to validate different parts of the blockchain so every computer is only validating a small slice of the full you know transaction throughput but because of essentially like you know probabilistic guarantees and you know clever constructions that we're working on the actual sum effect is that the entirety of that you know large throughput is secured is available and you know we can we can support many more transactions per second so and you can download only the parts of the blockchain that you care about and
you're validating only sub sections of the full blockchain but as a whole it becomes this like really high throughput consensus mechanism so in in terms of dependence the sharding depend on the friendly finality gadget or can it be implemented independently of it so it can be implemented independently of it however there is a kind of the the full vision is that they they all come together and the the sharding and the Casper stuff is kind of merged into one however there are ways to implement it independently and so like that's what we're doing right now is we have parallel tracks for Casper and sharding where Casper is
being implemented kind of you know the test net that's going through these iterations to to eventually be released and then sharding we have like clients that are working on charting implementations in parallel so they're they're they're they're building their own infrastructure and then eventually you know we can merge them together later so so basically for for development purposes and and for simplicity we we kind of like solve each problem independently and then combine them later for akin to the unified etherium vision so the unified Helium vision now is sort of becoming that there's Casper or proof of stake which is increasing the quality of security of the blockchain itself right because one
of the things it does as I see it it does two things a it allows the punishment of validators where as miners cannot be punished so it improves the security of the game so to say and then it also allows it see them to have finality much better finality properties than what it currently has so that's one piece the second piece is sharding which is to use Casper and proof of stake to increase the transaction throughput through the etherium chain and then the third piece is plasma which is to allow the etherium system to lend its security
to some other blockchain that an entrepreneur created for their own purpose so for example diagnosis people they create their own chain which is specialized for prediction markets the main aetherium chain could lend its security which is very high because the market cap of ether is very high you could lend its security to diagnosis chain and therefore have a sort of a win-win situation between the etherium community and all of these other coin communities that are springing up and so all of these things would like kind of combine in order to make a highly secure and high throughput system that can presumably handle most of the
decentralized applications being built that's right awesome cool so let's let's now segue into plasma right now I think plasma as a concept came some time last year when metallic and Joseph poon released a paper and since then the division has undergone some iteration so could you get into the history of plasma and how this idea came to be and how it has evolved sure so yet just as you said Joseph's permanent vitalik came up with this concept of plasma and the the ability to use a secure route chain to
provide the like guarantees around like exits from the less secure chain so essentially guarantee assets of a less secure chain and through through this ex exit mechanism and so we we worked on that the white paper was released and people started getting interested and then we started holding these plasma implementers calls and there they're all on YouTube and we we you know talked with the community there are a lot of people who are excited about using this exit mechanism a a spec called plasma MVP was created which essentially is a kind of simple version of a like UT EXO based plasma chain with where where you
can scale up you know a thousand transactions per second probably around around there and then later on relatively recently plasma cash was was was or SPECT out and that took the original plasma idea and it simplified it in a lot of ways and it and it basically provided a very reasonable scaling solution for for plasma so instead in plasma MVP it was you know there were a couple problems there was like a really bad mass exit vulnerability scalability was limited to you know about a thousand transactions per second but then when plasma cash came around now the mass
exit vulnerability has with it was you know significantly mitigated and weak we can now scale up you know pretty high I there without I don't I don't see any upper limit that jumps out at me that I want to say but but it's it's very scalable so one thing that stood out to me is of course Joseph poon many you will be aware of was also the original author of the Lightning Network paper and you're we did an episode on epicenter with him in his co-author but many years ago there are a lot of similarities right between plasma and
lightning network is that connections very obvious but one if the big difference is that that lightning isn't actually a block chain all right so you you don't have anymore like it's a very different network topology and like we'll see how it works out but it's it's very radically different with plasma you still have basically a block chain that's just sort of inheriting the security do you have any idea why this shift and why didn't they try to build plasma also as it's not the blockchain but something more akin to lightening it or was that driven by the idea that okay lightning won't be able to do
computation properly so actually a blockchain structure will make more sense for that I can't say that I know exactly the the thought process for how this transformation happened I can say that the kind of concept of state channels more generally so both of these technologies are within the kind of bucket of state channels right you're you're you have some kind of off chains messages that are affecting the you know outcome of an on chain game and so this is this is kind of the the overarching you know design space and then III the the the like lightning Network approach made a lot of sense you're signing off
chain messages and you're transacting and you don't actually have to go on to the to the you know route chain all the time and then plasma allowed for it it actually does simplify a lot of things so I don't know oftentimes what happens with with creating these designs is you start off with one idea and then you kind of work with it and it makes a lot of sense and then you you kind of yuri conceptualize things and you you actually end up with a much simpler design and so that actually happened with casper FFG and that also happened with sharding and and we're we're always like iterating to find the kind of like what is the most you know the simplest and most elegant solution to this problem and so I think you know Joseph
poon I can't speak for him but I imagine that he was thinking about this he's like okay now I have the ability to use smart contracts and I can you know build on why don't I take make use of this smart contract platform instead of just this you know payment platform this you know with a simple scripting language in Bitcoin and so he probably was like okay now here's our slightly changed design space how can I make use of this as best as possible and so you know plasma comes around and it turns out plasma is super insanely simple yeah I think that's an interesting point cuz I agree with you that you know reading about plasma and you know we'll get more into this but it's actually it seems pretty pretty straightforward and easy understand but like your network I don't personally
feel I really understand what it will be like well you know these different hubs and lighting nodes and and what will this network look like what are the risks associated with like so many questions that for me at least are unclear so I agree it does seem much simpler so another question on this so you mentioned plasma MEP in the plaza MEP was utx or based and is that also true for plasma cash or and and why was that you did you take so paste if you know it here iam generally is not so every plasma chain can have its own custom logic and so that allows you to kind of get certain properties
that you know if you want to have certain things be really really fast to compute maybe you can have a plasma chain that is optimized for particular tasks and so it doesn't actually matter what the mechanism by which you're computing state transitions is like in you know you TX OS or account-based or whatever it is the the plasma chain can can use anything and you just code in that that mechanism into an etherium smart contract and now the etherium smart contract can you know run that those state transitions and commend mediate that chain so in other words those the this concerns are totally separate you don't have to use any consensus protocol that looks like a theorems consensus protocol or any EVM that you know the etherium enshrines so
so the plasma MVP and plasma cash they are just I don't know if it's super useful to talk about the UT EXO bit but the way that they kind of compute there the way that they structure their Merkel tree the way that they structure their the chain is just slightly different and in plasma cash it really lends itself to parallelization and being able to only compute or only keep track of coins that you care about I can go into the difference between plasma and plasma plasma MVP if you want okay sure so so essentially plasma MVP you're keeping track of every single coin and you're
validating that every single coin on the network is you know like the state transitions are happening properly and so you're you're you're pulling all the coins or all the transactions and you're saying okay I'm going to compute these locally and if there's any problem then I'm going to submit a transaction to the main chain and take my coins out now the the difference with plasma cash is that you now only have to care about the coins that you particularly hold so when you send coin to a plasma cash smart contract those coins will be given specific IDs and those IDs will correspond to branches in the Merkel tree in the like whole plasma cash Merkel tree and so your what your
job is is your job is okay every time there's a block that's created on to the root on the root chain you're going to validate the branches of the Merkel tree for that block that you care about and make sure that your coins have not been you know double spent or whatever so essentially what that means is client-side validation is now way cheaper because if you you know hold a hundred coins you're checking a hundred branches in the in the Merkel tree and this is kind of where you get this parallelization because the the the from a client's perspective you are you're you have you know you can use your laptop to validate the transactions and then from a block proposers perspective it doesn't really matter they can you
know it can block proposer can be in exchange and they can have really beefy hardware so you still get the the like you get the transaction throughput of a beefy exchange with the client-side validation and the security guarantees requiring only a laptop so this is like the this it's all about giving security to the users without limiting who can actually you know get that security and and you know keep it on a laptop anyway so let's zoom out a little and do some role-playing to sort of understand plasma so the way I understand plasma is let's say I don't know that Brian and I are users on a cerium and we have ISA
and we want to use this ISA to partake in some application right so the way this would work is if I want to and this child a plasma chain for that application right so when I want to take part in that application I have to deposit my ether into some smart contract on the ECM system and I'm gonna get some coins on this plasma chain so if I deposit 100 ISA here I might get 100 coins and then I could take part in that application and the same exists for Brian as a user so you deposit you get these coins and you partake in that
application now under the hood this plasma child chain is being validated or mined by a bunch of validators that are continuously creating blocks on the child chain now when I want the child chain my instinct is oh I need to now trust that these group of validators are going to validate correctly and they are not going to commit invalid blocks on this child chain because if they can commit invalid blocks then I could lose my hundred coins and these 100 coins 10400 ether so I stand to lose a lot of money but what plasma allows conceptually is for me to not need to trust these validators even though I am
on a chain and they're being validated by these let's say these 100 parties and ordinarily you might think that you would need to trust the collection of these hundred parties not to get an invalid block the way plasma is structured is you remove that assumption of trust between me the user and the validators even if they cheat I can exit my hundred coins from the plasma child chain and back into the etherium system no matter how strongly they cheat would you say that is correct yes that is absolutely correct and this this is the kind of the the beauty of that security is actually now before you you probably had 70 validators so that you know you
could like get better security around you know a decentralized consensus protocol like you get you get like stronger security properties and so that's why you had this more complicated consensus protocol however because you have this guarantee that even if you an invalid block there's no real problem for the plasma chain you like a lot of plasma designs don't even need a really complicated and secure consensus protocol they can actually just use a centralized service to do that for them and that centralized service is actually limited in the kind of bad impact they can have they can't actually steal anyone's coins so you can take any exchange today and you can turn it that exchange into a plasma chain and now
instead of having the problem where your exchange steals all your money you now have this guarantee that your money will never be stolen and you still get that high transaction throughput of the exchange thinking of this a little bit differently now when I open pop coin market gap right so there's Bitcoin there's atheneum and then there's 10,000 other coins right now today it might be the case that there might be some coin which is like I don't know 20 or 30 on coin market cap let's say I don't know steam or Zee cash and they this individual coin might provide very interesting utility to me but so when I
own ether and let's say I want to do private transactions I might need to go to Z cash which is number 27 or I might if I want to do steam like transactions I only to to steam which is number 31 these are much smaller than a cerium so when I switch from ether to like to the Z cash system what I am what I am really doing on the background is with when I was when I was holding ether I was in a chain that was more secure because the market cap is really large the chances of it the blockchain being messed around with or attacked is quite low but when I go from ether to Z cash I've suddenly
increased my risk to a chain reversion in a big way because Z cash is a much smaller blockchain so what a plasma world looks like is as e-cash like application could be a child chain and then I mini cerium I deposited my Easter - a smart contract and I went to the Z cash like child chain I can do these private transactions but I have the security of the second of ether which is second on the market cap I don't need to dial down on my security as a user but yet I get access to the application and I and that is also scalable so in theory what it
might mean is if this design succeeds then a lot of the coin market gap as we see it might end up being rearranged because a lot of the smaller chains can now bar over security from this larger chain pretty trivially yeah exactly and this is this is the it is a like full design space of you know the plasma is not a particular product or project plasma is a like design space which allows you to do exactly what you just said which is super exciting so that's why we have a bunch of people working on their own plasma implementations including people from multiple different blockchain implementations cosmos so
this is interesting so for me a question that came up before was that you know you talked about how you have a plasma chain and then somebody will have to kind of report this and chair some of this data and proofs about it on the main chain in case of an attack does that mean it won't be possible to have a plasma chain that's kind of a zero knowledge chain something like SC cache type thing so you can do zero knowledge proof on you can can you know check the validity of zero knowledge proofs on the main etherium it is currently quite expensive but this is where like the expanding the capabilities of the root chain is really critical and so having something like sharding where you now get higher transactions through
transaction throughput and lower gas cost you now will we'll be able to you know support the not only the it's of any kind of chain architecture but also the many many exits at the same time so the all of these like three kind of pieces fit together really nicely Caspar shouting in plasma this episode of epicenter is brought to you by kenosis venosus is an open platform for businesses to create their own prediction markets on the theory network prediction markets are powerful tools for aggregating information about the expected outcome of future events so this can be used for things like information gathering incentivizing
behaviors making governance decisions or even creating insurance products so in order to turn kenosis into the most powerful forecasting tool in the world they recently launched gnosis X it's a challenge that invites developers to build applications on top of the platform and the best applications per category will be rewarded up to $100,000 in GNO tokens so throughout the year kenosis will announce different categories for the challenge and the current challenge has categories for science in R&D token diligence and blockchain of project integration gnosis also provides the sdk which allows you to easily get started with everything you need to get coding and they also provide dedicated support channels throughout the challenge for teams and
solar builders are you up for the challenge get started now to learn more and to sign up go to epicenter TV slash canosa's x we like to thank gnosis for their support of epicenter and at the other point where we are wanting to to come back to you briefly so we talked about validators before and how you know you can have basically no reliance or no trust in indus valley this is required at least only a minimal one and you know you brought off the point that you can even have a central operator so is there any benefit to having you know let's say 50 diverse parties violating such a plasma chain versus coinbase or you know
marker police or you know particular party yeah for sure so so the first the first one is this like central operators many central operators running plasma chains now the the other option is you take one of those central operator and first you add some validators so you add a set a group of you know people who will essentially take the the blocks from the central operator and they'll validate that you know they're there the correct state transitions and that they're available and then those validator will sign and that will be posted to the main chain and now now you still have you you now have better security because you have these validators but you have a single block proposer so now what you do is you say okay let's replace that single block
proposer with anyone who wants to propose blocks for this plasma chain and so now you can like rotate or randomly sample the block proposers and those block proposals submit blocks to the validators the validators check them and it gets posted to the main chain and so you now have this ability for like a much larger plasma chain that is not controlled by a single you know exchange but that is a kind of a open decentralized platform that kind of more closely resembles what we see today and so that is definitely a alternative vision and that would mean there may be fewer plasma chains but each plasma chain is much larger and like its own ecosystem in some ways ok I didn't totally understand the benefit
here of having having multiple validators is so so what would what is the downside of having you know a particular operator is just running these chains could a free sample engage in censorship yes exactly so they can engage in censorship they can you know get shut down and they also if they do submit an invalid lock it's basically arguable but you can you can say that essentially there's less security that uh you know protects the central operator from from causing a mass exit although you can what you can do is you can actually add security deposits to your central operators so that if your central operator has you know does submit an invalid block they lose a
whole bunch of money right so yeah sure the invalid block thing it sounds like you can protect against but then the censorship thing that you probably you can't mm-hmm yeah okay thanks I mean you can always take your money from that plasma chain and put it on the root chain and so that's no there's no censorship there but it can still be censored within that plasma chain which is annoying yeah so as long as like we have validators that are in different jurisdiction so I think like we can say that there is like diminishing returns to the number of validators like if you have just one central operator adding a second well now now you need to shut down to in order to shut down this
plasma chain better you can add in 3 it still increases but then once you have I don't know 30 or 40 and they're in different nations maybe adding five more may not matter much so but in order to have 30 or 40 you do need a consensus algorithm and you know it starts looking like a traditional lock chain so give us a sense of what these consensus algorithms powering plasma chains would be like thus Kaspar work there the standard mint work there or do we need to invent something new so the actual consensus protocols can be super duper simple you just have a normally what you want to do is you want
to actually shard validation so the the cool thing about plasma cash is that you can you know have really huge blocks but if you have really huge blocks you're going to need to shard the actual validation of those blocks so you take one big block you split it into small subsections and you randomly sample a you know committee of you know a certain number of validator is to say okay I you guys sign off on the availability and validity of this subject subsection of the block and so if everyone signs off on the availability and validity of this block then that block gets you know posted to the main chain and so you can do this with like a BLS signature is similar to how Definity is structured you can do this with the crypto economic
threshold signature you can there there a number of different ways but essentially the the overall like strategy is you take one big block split it into small blocks you take a big set of validators you randomly sample this validators to validate the subsections of the block those validator sign off if enough sign off then it gets posted to the main chain and we continue you know as normal so it's it's a relatively simple consensus protocol and you can add slashing pretty trivially and that slashing you know you can slash validators for signing in off on in val blocks you can slash block proposers for creating invalid blocks and they're there a number of things and maybe something that I'll explain right
now which I actually meant to mention earlier is so you have this like 20-minute finality check pointing mechanism right but that doesn't mean that you aren't able to provide economic guarantees around transaction inclusion even earlier than 20 minutes so essentially what you can have is you can create slashing conditions for these block proposers that say okay if you're a block proposer and you sign this message saying I will include this transaction in my next block and you don't include that transaction in your next block then you can get slashed so essentially what you can get is you can send a transaction and get an instant confirmation where either this transaction will be included or the
block proposer will lose a million dollars or you know ten million dollars and so you're actually able to get the kind of a gradient different levels of economic finality you know at different periods of time and this is this is kind of a the way in which we have this like slow finality which is really really really secure and then per application or or you you can kind of get a much more rapid finality so you mentioned before the idea that the different plasma chains should be able to interoperate how would that be possible and would that be possible in the sense that like tokens can be used move between chains or that you have like full small contract calls or like
applications that are built spanning multiple plasma chains one second and look like so this is definitely an open design space one possibility is that in the plasma chain you have a special transaction which says okay I'm going to move this coin from this chain to this other chain and then in the other chain and a transaction is is included at that same like ID that says okay now I have this coin on this chain and you you know transact there so you don't actually have to touch the main chain it's just like you assume that the transaction gets included here and then it gets included in the in the other chain and then the the interesting part is when you want to exit you basically have to prove you actually like you supply the
the kind of path of chains that your coin went through and they just like quickly validate that all of those that that path is valid so you see this is a way to to support not just like atomic swaps cross chain but actual like coins that kind of teleport to different plasma chains but there are multiple different like solutions for how to do this and the actual design space of you know for instance smart contracts on plasma chains that is something that is an open research problem and you know please get involved so the plasma white paper mentions that the fundamental challenge that must be solved to have a
functioning plasma system is it is the problem of data availability give us an idea what this what this really is why is that availability a challenge data availability is the bane of block chains it's very it's the it's the hardest problem and it's really the it's the hardest problem that needs to be solved for plasma and it needs to be solved for sharding it is terrifying so here is the the the the general kind of what data availability means is that if you have a data that is available that means that anyone who is interested in that data is able to download it so a available data is like data that is being gossiped on
the gossip network and and anyone is able to pull that in now data availability is what is is incredibly difficult but in current blockchain architectures using like proof-of-work it's not actually a big problem and the reason why is because essentially you you fork away from from chains that are unavailable so if you cannot actually download a block then you just don't use that you know you don't follow that chain however this gets tricky when you start using like when you when you have some concept of finality and in particular when you have these chains that are being built up on a like on a root chain so if you have a smart
contract where and and in that smart contract you're posting headers block headers then if one of those block headers corresponds to an unavailable block there is no way to like fork around it unless you build in a forking mechanism in your smart contract so so either you like you have this forking which gets rid of your finality guarantees or you have finality which is a problem if the data is unavailable and so the the core the core issue here is if you have a chain and in that chain one of the links is missing the everything after that chain I mean after that missing link is essentially useless it doesn't actually do anything and so in in very practical terms the where
this comes into play in plasma is let's say we have the simple plasma architecture with a central operator that central operators committing block headers to the chain at a regular heartbeat one of those times they commit a block block header for a block which they then subsequently delete so they submit a block header but then they delete the actual block contents now from that moment on there is no way for a user to validate whether or not their transaction was double spent they have no information on what the actual state of the world is and so they're forced to exit the chain so you said delete but you mean just they don't reveal it or like what do you mean with delete they
either don't reveal it they reveal it to you know the their little coalition of you know sneaky people or they just or they even commit a block header which doesn't even correspond to any block at all maybe it's the zero hash that one's pretty clear it's pretty clear that your block if it caches to zero either you you know you know broke the hashing function or your block doesn't exist what more pragmatically so let's assume I build a central operator and I'm running it out of EWS my data data center is in Silicon Valley and hey like there's a big massive power outage in the West Coast and my service doesn't work for the next two hours but like
prior to publishing the block I had posted something on the etherium chain my server went offline and now the block date I cannot gossip gossip it to the world because it's down and I cannot actually access the Machine because the power is down so it could be malicious right like I'm not revealing data because I'm malicious as a central operator but it could also be I'm not revealing data because is Astra struck me absolutely what can happen in that scenario so what would happen in that scenario is your users would say okay now I can't download this block the operator is you know it's been a week and they still haven't given me the data that I need I'm gonna have to exit so
I'm going to send a transaction to the main aetherium Network and I'm going to pull my coins out of that plasma chain and the plasma chain operator is go it like assuming assuming no malicious activity that's just what will happen they'll pull coins out of the the plasma chain now in the kind of bad case where the plasma operator actually does have the information does have the data but has you know maybe they've withheld it and in with the withheld data they kind of committed a double spent and so there's actually invalid data but no one can prove the invalidity because they don't have access to that data now the operator they can try to exit coins that they don't own because there's this like
invalid spend however thankfully do not fear the actual rightful owner of that coin can say okay I'm going to challenge that exit and you know basically block it and they they're their challenge is pay for and they receive a kind of a bounty for for doing that so so where while so block withholding not only is it a problem because you have to exit but it's also a problem because it makes it so that you can't prove misbehave like bad behavior very easily and so these are like it is just such as such a tricky and annoying problem right so can you just reiterate that again so let's say we have a block composer they want to steal people's coins right so they
they publish a block header or the block hash on the main chain they don't reveal this block and then how do they try to exit coins that they don't actually own so let's say they publish one block with an invalid state transition then they publish the next block with a valid state transition so they say ok I'm going to in validly say I'm going to appropriate carl's coins and I'm going to give them to Alice and then the next the next block alice is going to send those coins to Bob now if the plasma operator is actually Bob and so the plasma operator submits an exit saying don't you see I want to exit these coins and the last time they were spent I own
them because you know Alice sent them to me but then the real the real kind of annoying thing is that it turns out that Alice stole them from Karl and so this the the from the point of view of the main chain the main chain isn't able to kind of like detect that problem however there is someone who can the person who can is the the person who anyone actually who knows about the prior history of that coin and knows that there was no spend to Alice and so they will challenge they'll say ok you know your block is unavailable you know you might have had an invalid block you might have you could have done anything I'm going to challenge that because I know that you won't be able to provide a full history of valid spins and so I'm
gonna provide the last valid spend of that coin and then your job is to provide the next you know where I spent it so you basically have to provide the the point where Alice got the coins from Karl and that court that that that kind of link is actually a broken link and so the challenge will will succeed and the operator will you know be slashed and you know pay the person who challenged him but Carl doesn't this start to need like a panopticon right like loads of people just watching like a hawk on whether the operators are cheating or not and who how do you incentivize this panopticon so it's just the main chain right so the main chain has this dispute period you submit transactions on the
main chain if you notice that one of those transactions is trying to withdraw a coin that you own then you or anyone else just submit a a challenge and the cool thing is that these challenges are actually funded by the person who is trying to withdraw coins so in other words there's always there is a bounty basically every time that you want to that that a you know some some invalid exit is is submitted so you know it kind of like is paid for by the person who's trying to exit there's a different kind of problem here as well which is so the case is like this right Brian and I like Brian and my head are users both of us put our money into the child chain the
plasma chain and calls the operator the malicious operator of the plasma chain and he sort of allocated bronze coins to me here did not publish that block and then and then in the next block he spent like may have spent his coins but he / the card published that block and then like Mary's trying to withdraw the coins the exprience coins essentially to the main chain is like and Carl is allowing that behavior to happen right that's the that's the essential nature of the problem now wouldn't this problem become majorly worse if Carl is actually the biggest mining pool on this helium
network as well as the operator right now if Carl is the biggest mining pool on this helium network if let's say so Brian is protesting in some way he's trying to prove that like Carl's been malicious he has not published his data and he's trying to play her play this game essentially but like if God if Carl is the biggest mining pool and garlic or just sensor blinds efforts to prove that on the main atheneum chain and that's game over for Brian so yes what you're talking about is like censoring the main chain so that these exits don't actually get included or the malicious exits get included with no challenge so there is thankfully some guarantees which proof-of-work provides
which are you know it is difficult it is costly to censor a chain for the you know a period of three weeks and make sure that there is not a single minor that includes a or a single block that includes the transaction which challenges that you know withdrawal and so basically what we rely on is we rely on the security properties of the root chain to provide security of these child chain so the child chain might be censorship full and and you know it may commit an invalid block but we have to make sure that our root chain is as resistant to censorship and as resistant to reversion as humanly possible and so
this the the that is like the entire design space of you know these consensus protocols Caspari proof of work and this is like part of the you know the three kind of fronts of research and we with and that's basically what what we're doing is making sure that it is very very very costly to the point where it's basically impossible to you know censor or revert the the main chain in in a way that hurts the the the network yeah I mean I think in the scenario may have described you'd actually need to have a 51% attack you need to have a majority of thrashing power and then you know even if let's say you have 80% to a
superpower somebody else gets a broken well you're gonna have to orphan that blah I mean it would be it completely obvious full-scale attack on a network so yeah of course if that happens all bets are off exactly all or a very popular issue is going on on the main chain for two weeks spamming the entire network complete like the status ICO spam the network for what a day so part of it is actually when you submit your your exit you are going to fund the gas price of the challenge right so if it's not a problem with you know censorship like actual 51% attack then it's just a problem where you don't you know have enough money to
like challenge because your gas price is too low you're actually okay in that circumstance because the the cost of the challenge the cost of that gas price is computed within the or is included in the the exit so like when you exit if gas price is you know 100 G way then maybe there'll be a security factor of ten or a hundred so you have you now have this like extra bond which pays for the gas so you'll you'll you'll be fine even in a congested network and you'd have to exit for each one of these coins so it just gets like impractical and we don't actually have this problem thankfully the coins are stuck that is the problem it's not that they can be
stolen they are just stuck and that is annoying but that's why we we have you know more secure consensus protocols or you know slashing of central operators that misbehave a separate related question though is let's say I'm a user and I'm on the child chain I am doing the transactions now do I start to need a bot that's always going to watch what the operator of this child chain is doing and be prepared like and have an automated script that as soon as my bot perceives this data availability problem withdraw and do this gas price management or is it the same like basically what I'm trying to ask is one of the criticisms of the
Lightning Network is the Lightning Network pushes a lot of responsibility on the user who we are expecting to be a an average Joe that doesn't understand any of it right so on the Lightning Network I always have to keep a full on node that's like watching the lightning transactions and to make sure I got the money that's fine for a power user but that wouldn't work for an average Joe is this plasma have a similar problem where if I'm a normal user I start to need these BOTS to keep watching on honesty of the operators so someone does need to challenge invalid transactions now the actual like extent of this problem I
would say is not so high at least in the case of plasma cash because number one a in valid transaction will essentially not be a problem until your particular coins are trying to be stolen right and when your coins are trying to are you know there's an attempt to steal your particular coins there is a bounty that anyone can win for blocking that transaction blocking that challenge so the only thing that would keep someone else from blocking you know and that that invalid exit and getting the bounty themselves is a you know is data
availability basically if if you are the only one who has information about your coin then you're the only one who can challenge your coin but in reality there going to be people who are probably going to store the information of other people's coins for probably not too much money I would imagine and then whenever there's an invalid exit or whenever there's an exit in general they just check against their database they say is this valid or is this not valid and if it's not valid then they submit a challenge and you know make a whole bunch of money so there is a kind of like inbuilt incentive for doing these invalid challenges and you know you could even do a mechanism similar towel like
true--but was explaining where you have like intentionally invalid exits so that people are incentivized to randomly store coin so you can like do fun things it's not a huge issue I don't see it as a huge issue and it should be a you know it's part of the network a kind of part name of the game in some ways for these state channels to have this challenge response thing so let's talk a little bit about where we're at and you know what the timeline and roadmap is so what are the main things that still need to be built for a plasma cash to you know go live and what are the biggest open questions or problems that need to be
solved yes so first plasma cash plasma all of these designs are just a design and anyone can implement them and currently I am NOT personally implementing a huge amount of it actually I and but there's a there a number of teams that are that are working on these things now in terms of like research problems that need to be solved there are definitely kind of open questions so there's one of those open questions is doing splits in plasma cash so essentially you have a particular coin and you want to make it you want to subdivide it into a smaller kind of unit of transaction anyway that's that's one kind of open question there isn't a lot of consensus around
the best way to do that another issue is there are actually ways to exit coins even if there's an invalid state transition in the history you can actually like still use that coin now this makes the exit process much more complicated but if there was some kind of magical wand that we could use to kind of like make the exit really simple while including an invalid transaction that'll be awesome so that's another open research question however none of these things are kind of games show stoppers for anyone who does want to implement plasma chain as it is right now we already get you know huge transaction throughput increase in the
with these plasma chains and they're not that hard to implement so I'm actually working on a course on crypto economics you know crypto economics that study check it out but that course will we'll go through building a you know centralized payment processor with like PayPal then turned it into a Bitcoin kind of chain with its own consensus protocol and then add to its security by turning that into a plasma chain and so throughout that actual course like I am going to be implementing a plasma plasma chain and you know you can implement it too as you know as you know we follow along and so this is actually and this
this course is not going to take you know years to create it will be it's it's it's coming it's it's on on its way and being worked on actively you know in the next few months and so this is plasma is coming soon and can be implemented today there are no blockers and so you should implement it it's it's an exciting research area do you think there's a business model to doing for a private company to implement plasma chains absolutely I mean any any kind of business model which you are you know any any protocol any application which like desires this higher level of security than a centralized service can
provide anything like that can fit very nicely into a plasma chain including projects that are run by private operators so so anyone who's doing a kind of like enterprise-e blockchain for instance might as well get the security of a public decentralized blockchain by you know adding this plasma chain linking and and you don't really get too many downsides it's actually not super hard to implement however you and you get this like massive upside where you the people who use your chain are now you know they can feel safe they can say okay no matter what happens to this central operator my assets are in fact safe and so it kind of just changes the name of the game changes the trust model
and provides good you know opportunities for for everybody so I understand that point when it comes to let's say you have a private chain that some sort of change custody thing right and you take assets from you know Bitcoin here you know that live on a blockchain or I guess cerium assets and you move to them onto that chain invite and then the plasma chain runs there and you can exit but I mean I guess many if not most enterprise or private blockchain use cases don't necessarily involve crypto assets or tokens so then is there still any point to this linking and because what does exiting meaning that's an area
that is a fantastic question so the actual like what does exiting mean for your application can mean different things so in plasma cash it's very clear what exiting means exiting means taking your token and putting it onto the route chain however in a you know a general like a plasma chain that uses smart contracts exiting might mean something different it may mean exiting some level some amount of state and putting that onto the route chain there may be other you know you you may not have a lot of things that you want to exit necessarily but you still want guarantees around ordering like block ordering that that can't be reverted so like there's there are this is the the kind of
unfortunately because the space is so young there are there there's you know buzzwords that people throw around and they say okay this is you know a plasma chain this is a state channel this is a lightning Network this is raining whatever and then people assume that those those those designs are like static and they exist in this kind of vacuum of possible you know applications that you can build when in fact there is an entire space you know crypto economics which has these fundamental building blocks which plasma was created out of which all these state channel solutions and even you know sharding and casper they are the fundamental building blocks are what you really need to understand to get the kind of decentralized security properties and
decentralized guarantees that that we're looking for and so so like you can take your you know you can take the kind of plasma design and you can alter it in some way that fits your application using this you know set of tools these crypto economic tools and then you know produce a you know private blockchain which provides the guarantees that your you're looking for your for your specific application and and as the space mature is the things that we're going to focus on are not the kind of buzz word design you know kind of spaces but instead just a fundamental understanding of how these systems get built and that's what I'm hoping that we can get to you know this year you have mentioned a couple of times during this
recording that plasma is relatively easy to and I get a sense that plasma is easy to implement because it is basically a set of smart contracts that are quite simple right they need to accept money and they need to accept block hashes and they need to implement this challenge-response game right so that's a smart contract and then once there's a plasma chain there's validators on the chain and they can use a consensus mechanism and lo and behold lots of different consensus mechanisms are being developed they stand a mint there's like Definity there's the polka dot school and then there's Casper so you could presumably really like borrow from a lot of work so it's basically like forking a consensus client and writing a smart
contract and having a profitable application so I'm curious what atheneum foundations approach here is going to be is your approach going to be hey you guys are going to really like thought-leaders here we let me make this Peck and let any commercial partner go and actually make the integration or is it gonna be that the cerium Foundation will dedicate some person from the goethe Liem team to actually implement the first working plasma chain so it will be the the first thing that you said so essentially we are kind of thinking about these designs and coming up with architectures that make sense and design patterns this whole like
space of crypto economics and then we publicize our results and the the then anyone in the community can pick up pick that stuff up and either contribute back to the research or they can implement it themselves and so like aetherium foundation and aetherium community is a very weird and decentralized you know a kind of group of people and that that basically just means there's some people who have good ideas and that doesn't mean that they're even from the etherion foundation you know Joseph poon is not an official aetherium foundation researcher and they come up with like good ideas publishes good ideas anyone who wants to picks those things up and runs with it and everyone kind of like lives together and is in a big happy community that's all brought together by
these crypto economic incentives so it's like this it's it's a it's this interesting process of basically idea propagation me propagation and then people pick up on those ideas pick up on those memes implemented themselves and you know you can make all your money and do all your you know fancy you know community building and and good stuff and and contribute back and and even the research process is open for anyone go on III search and you know write up a plasma spec and criticize our designs because they're not perfect so that's - as you will so so before we wrap up one important question I'm sure is on the mind of many listeners so when is the ico happening and how can people reach
out to you if they want to get in on the pre-sale know IC o---- clearly this is a design this is a space I SEOs are just one little thing you can do with this incredible consensus forming smart contract blockchain so you know it'll be a lot of fun we can you know not make a big deal about god make our little landing pages with our flashy buzzwords crypto economic security verification oh god geez let's calm down let's make the space in the world a better place okay cool well thanks so much for joining us today cause it sounds super exciting and I think this is a really
coherent and interesting vision for aetherium and I'm extremely excited to see when what if this is actually gonna you know get built and implemented and and be usable and it sounds like it's not far away so thanks so much for joining us today thank you so much and of course we will have links to a bunch of stuff like the plasma cash specification that Karl published or his crypt economics course and other things that people can check out if don't wanna learn more so yeah so we'll have that on the show notes and people gonna check that out yeah so thanks for once again tuning in so we're putting out in the episodes of epicenter every week you can get the audio on iTunes SoundCloud or
any other podcast application or you can get the videos on youtube.com slash EPS and a Bitcoin and that we also have this Gator community which have some a little bit of activities you can check that out that's at Epson or dot TV slash Gator and otherwise if you want to what the show you can leave us an attribute that helps new people find the show and you can let us know what you like and what we can still do better but thanks so much and we look forward to being back next week [Music] [Music]