# Plasma Implementers Call Live! by Karl Floersch (Devcon4)

- Speakers: [Karl Floersch](https://streameth.org/speakers/karl-floersch)
- Channel: [Devcon](https://streameth.org/devcon)
- Date: 2019-10-09
- Duration: 53:41
- Topics: blockchain, smart contracts, distributed ledger, Science & Technology
- Watch: https://streameth.org/watch/yt-fKs4IKkHpP4
- YouTube: https://www.youtube.com/watch?v=fKs4IKkHpP4

## Description

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/plasma-implementers-call-live

The Plasma Implementers Call is a biweekly call which discusses the cutting edge of Plasma research. We will be doing a LIVE session! This is a great group of 9 people: 
Joseph Poon, Karl Floersch, Kelvin Fichter, Dan Robinson, David Knott, Xuanji Li, George Konstantopoulos, Alex Vlasov, & (if I can convince him) Vitalik!
You can take a look at the YouTube channel here: https://www.youtube.com/channel/UCG2MeKuKDJRK4gFNk-dQuZQ 
Please subscribe! ;)

Speaker(s): Karl Floersch
Skill level: Intermediate
Track: Scalability
Keywords: research, applications, payments, exchange, gas

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

oh thank you all for attending yes oh maybe we start off with what you know what were introduction on what we're researching what were you know enthusiastic with plasma and then maybe we could do another round on like actually before that we can maybe like give a I think it would be fun actually to start off with maybe talking about what one thinks are good e applications of plasma and what it's good like what what it could be good for what it could maybe not be good for and what one is working on when it comes to specifically applications and that way there's some context mentioned there okay well I'll just first say what I think are good applications of plasma because I think that's sort of the interesting thing here obviously payments in exchange or like the plasma application at least right now it's sort of the the thing that's most you know useful or novel but and and kind of makes use of this blockchain as a value store slash exchange thing but it's other stuff that I'm really excited about is gaming in general it's it's one of these things that brings people in and it's simple it's not threatening you know I'm willing to put $10 into a video game and I don't really care if I never play that video game again and and you know I that $10 is just gone that's that's fine and so the same doesn't apply if we're talking about payments I expect that my bank app doesn't lose my money but I have different expectations on games and so I think I think games are actually quite feasible today with plasma as lume has just made very clear and I think that people should start looking at that right now I'm highly interested in getting a sort of plasma kind of like an SDK setup so that people can just build these games without really understanding what the underlying plasma does sure I'm David I feel like with plasma in its current state it's excellent for supporting applications that don't require an incredible amount of interaction with like the rest of the like the loop chain ecosystem just because of the way things are right now with the food chain having custody it's super great for modular modular systems and then also I would say I'm very excited about the potential for plasma chains to kind of work like down the road they can be more private than public chains and so excited to see that explored more especially with the plasma cash architecture where users don't actually have to know about the entire information on our Jane the only thing that I believe what makes me interested in plasma as a technique is the fact that you can settle many transactions whatever they may be whatever information it is without bloating the chain so you know like the casual let's say Bitcoin logic that you don't want to put any data more than what's necessary and I believe that's the general problem good apps that smart contracts they store too much whatever on chain so you know let's put just 32 bytes per whatever amount of time and it's better and yeah payments well it's difficult to get you every single said before I think you should at two parts first as the Z key based plasmas or other constructions like the metallic propose with post and also data on chain okay the Z key based plasmus is a plasmus whereas the state-transition is governed by snark or Stark or maybe other features you keep it Ziqi construction in principle it is mainly an ultimate goal you can make an invalid state transition but you still have the data availability an intermediate solution was introduced by vitalik in a recent post I think two weeks ago and his research where it says well post also data on chain and make it as a public input to your snark and here good well you blowed the transaction data you pay an extra guest cast but still you can aggregate a lot this is a great approach and six the ultimate plasma will still be somehow based on ZK piece another part is people forget and we had this discussion earlier before original plasma paper had a part about a MapReduce functionality there aware a limited sets of computation which are still viable this way for example what you can do right now is you can offload for example there's no qualification of change for examples a recent game which is governed by a state which the state is governed by a snark in the principle the only part you actually care as as the state transition as well it and you can applause a snark verification of change to some operator which you can easily monitor begets nor if you get snarky vacations to milliseconds so is the verification and it's stateless so this approach may work but we should maybe focus more on it after we solve the payments and exit problem yeah just to add to that I guess a lot of people ask me what's the difference between plasma and sidechains and that also plays into the use cases so in general the site owners if you have transactions on a side chain you basically just need to calculate the amount that you need to bribe the validator so proof-of-work operators with and you know how secure your transaction is the main difference I think the plasma is that on plasma you don't do that calculation the answer is you need to bribe the theorem proof of work so we kind of extend the security of the plasma of the main net onto the plasma chain that is not done with the side chains and I think that works specifically for exchanges and all apps and have high deposits so at the moment we're in exchange deposit size exceeds the stake size of the validators it rationally makes sense to steal and that is not true for plasma chains so that's where these use cases could live I'm super excited about plasma because of the at least for now the you know scalable payments and exchange type stuff because we are close and I think it's really important for just crypto as a whole to like one generate a lot more assets and to make sure that those assets are very easy to exchange and I think that that will like facilitate the generation of value in our kind of like weird economy and so yeah I'm hopefully plasma can can play a part in that story so I believe we should take a more structured format because we're just like talking about the vision let's set some like questions like between us yeah I think it'd be good to definitely get into that because we have a limited time I think as long as everyone like went through the introductions and they wanted to make okay for me like right now my principle area is that you know beyond what everyone said which I do agree with like 100 percent I think payments are important and like definitely a lot of advantages over you know at least the federated sidechain models another major thing that I think could be very helpful for at least this ecosystem is that you know you're seeing a lot of you know aetherium me toos and a lot of people that want a copy aetherium and what's interesting is that is that aetherium can end up being you know a central point between a lot of different you know block chains even even if you know let's say you want to build a top ecosystem inside ethereum I think you know obviously this is that is much more advantage advantageous because you do have you know people that you know the stock is there the community is there the developers are there but even with you know aetherium e2s they're probably going to have to cross through aetherium and etherium can end up being like a central trading point for that as well all right I have a question so with respect to Charlene it is considered a layer 1 solution like maybe mechanism because they actual the whole connection between the beacon chain and the short chain it is built in the protocol and there are no gas costs for doing that so I was I kind of play around with the idea of like for Kingo ethereum or parity and make it so that there is a basically all plasma operations free ok but in a way that it's not possible in the same way that how like the proof of stake as per design would work and so would that make plasma later on discuss doesn't make sense well first of all we all the possible implementers of different kind of flavors of plasma in a menu of those we have the bonds on exits first you should define what is the plasma operation which should be made free and in principle what you're proposing more like a polka dot if there are some special smart contracts which are free I think it's basic philosophy of the kiss system I mean you can make the block spam as an operator as a central party what maybe you can make some other fancy stuff which you name they make out right now but let's start with without this proposal at least yeah yeah it's kind of like the whole like shelling Fanta type thing where once you start making in protocol changes or like layer 1 protocol changes where do you draw the line I'd be really interested in seeing more like discussion about essentially coupling are like combining who trained block submission between plasma chains because that's a way to essentially reduce the cost of running plasma chains without making base layer protocol changes so I think some of my concerns about like enshrining anything plasma related in layer one is that like that's a new like liveness assumption to to aterial validators or people who hold value on the theorem like you have to like the protocol says you have to log in once every certain amount of time and like that's not there's no trade-off everyone wants to like some people are even unhappy about that like proof of steak that's a weak subjectivity kind of yeah yeah I definitely agree with Sean G right there I think when it comes to changes on layer one I mean this is a little bit tangential but gets to the point as well I think when it comes to layer one and how it can help plasma I think you know there's there's a dynamic where you know we're dealing with different layers there and communications between them is pretty important so you know that may require coordinating coordinating with you know a lot of the core atheneum research one topic that I do care about and I actually don't know if it's on the roadmap so maybe tell me if this is there isn't Karl is some type of calculation for basically the gas costs per block and I think some type of metric for that can be really helpful on the plasma side because it makes the you know more robust exiting games and reliability on that can be pretty helpful but is not necessary for plasma but you know you may you may see these dynamics where like you know whether it be contracts really are two type things you know can be helpful for layer one in the opposite perspective yeah that's actually a good point I mean the the whole gas market is actually going to get revamped with the the if they're named 2.0 and you can kind of like read about that in fatale --ax like he has a paper out there and so yeah I think it should be more viable it's definitely more consistent right just push it to stack like so yeah an opcode word like pushes let's say not even like all the blocks like not storing all the blocks like gas costs but maybe like maybe the previous ones with the current one why not that's very reasonable yeah what is the change basically you push on to stack maybe a some cop code where you push on to the stack the the maybe you have some very assign a variable basically some what the gas costs on that block was Oh like to see to to read what the guess oh yeah yeah sorry for context in the audience right now doing gas cost estimation in contracts on recent blocks is difficult um we have something like that where we assume that if there is more than one Operator they compete for the next block just think along this way and then you know when when the the header is submitted we can just do message gas and then we save that and take the average over the last exploits specifically an example where that definitely is a good idea but for exits this this this can be beneficial as well because that way you can you can have maybe relative bond sizes relative to the cost of exiting when you when you exit right you want to be able to pay for whoever is going to challenge you you want to be able to pay for the gas cost and so doing that is a little bit tricky and you probably have to overestimate and it would be helpful to have this kind of in protocol be nice uncommon I have to make about that is like the current gas the current gas market is not designed to be like resistant to manipulation if people are relying on on if people are relying on it for to have an accurate metric off this is how much you you have to pay in order to guarantee inclusion in the block it's very hard to predict gas prices in the future as one might imagine because we don't necessarily know like there was say we've thought a lot about like let's make it so that you can send a transaction that's guaranteed to be included in a block in the future but that gets so funky because then you're like okay what are the actual gas price like they're weird manipulations that you can do if you thought gas token was weird this just gets very confusing so I was about to say that that in my opinion I I'm considering implementing basically gas token so the gas token comes to action is it exploits a market inefficiency where you can just buy gas at the very low low price and you can reuse it at some later point and so I was thinking that maybe like you can have like a minor inside the plasma contract we just like it makes useless operations during the night or wherever like the gas price is low and so like if currently if I buy gas at like two QA like an estimate one block period like 15 seconds maybe it cost hundred thousand it sucks but if you bought at 0.1 UA which is totally feasible like with this inefficiency basically the cast cost is totally manageable however you're exploiting an inefficiency and the moment that people other people also start using it this inefficiency goes away so it is not it is totally hack that is temporarily that's only a temporary solution and to be clear these are all optimizations it's tough yeah but still up to any optimization or just anything which reduces the inefficiency of any market and the three-room is large so a huge market is still great because we do the same is not the area's and you need to do this it could be helpful for many other smart contracts is basically this dynamic regarding the free market gap so actually there is the market for gas for the bonds that you put up also like when you're making a exit so I'd like to initiate the discussion the incentives of miners front-running challenge transactions and like how would you approach it my current understanding is that you can do it with a commitment but still that commitment also leaks information there is a current effort on somewhere somewhere in sense that essentially you you make a commitment that is more stealthy yeah I would be interested if you have an opinion on that specifically the commitments for the question is how to avoid the challenge from running challenge front lining with regards to exiting on the main chain or for always the dimension okay I make an exit and somebody must challenge me I put the 0.1 ether boom somebody goes to challenge me they put up they go they make the transaction the miners is it they make the transaction before the Challenger okay and it that means that they sweep they get the bond right the miner get this is an implicit like this is a fee on top of this creates a secondary market which it complicates how like the miners can calculate their profits do you do how like you're no longer based on this like gas model and essentially it's based like it incentive to censor transactions so you lose fees but I don't layer one but you gain on fees that are on layer 2 how would you model this approach because basically what you mean I think correct me if I'm wrong so I can describe it to audience is this dynamic whereby a proof of invalidity or some type of proof basically doesn't have a signature attached to it necessarily whereby the solution about that I'm talking about the simple fact that the minor can simply or another user can monitor the change similar to the math to the bank or inefficiency if anybody else is familiar with that that essentially you front-run in transaction and if the penalty no no no no no no it's oh I make an exit on checking yeah okay I make I put up a bond it is an invalid exit we don't care about that we care about the economics regarding the challenger's and then the minor basically publishes the exit no no the exit has happened it's okay they okay and now somebody wants to challenge the exit they challenge they the challenge is a valid Channel yeah okay but somebody else comes in for trans challenge this means that if there is a way for people to front on your transactions yep you no longer are guaranteed to profit from the transaction is to stop challenging cast it the person that's going to front run most likely is the miner oh yeah point being that front running it directly impacts the security of the chain yeah very likely does because people will stop challenging if you get from drawn by the miners and then the miners are in the perfect position where they control both in layer two simply by playing this game where they simply bullied people lot of challenging yeah yeah that's definitely a risk with a lot of these things there's multiple there's multiple mitigations you can do basically I don't like this but you know a naive solution would be to you know do some commit reveal whereby basically you submit to a hash similar to a Fox coin construction you know Joe Bono and 2014 Road you know Fox when you do something like that where you commit to the hash of whatever it is that you're going to do namecoin does something similar the there are significant issues with this to be able in in terms of complexity with a smart contract code I think some type of model where you're splitting up the penalty or maybe pre committing where penalties go to is probably shorter in terms of lines of code so for example you can assign let's say 50% of the penalty as part of this specific output goes to these sets of people and those are the sets of people responsible for publishing but then you made you just made the challenge mechanism not trustless yeah yeah I'm just saying that is a possibility if you already have someone watching on your behalf I mean okay but they're after let's watch towers aren't real hardly what do you it depends what you mean by trustless watchtowers but basically yeah I mean basically you would have to do some type of commit reveal then as a consequence and that does extend out the challenge appeared it probably increases the exit code by like you know the Kelvin had and I had a point in a chant about the submarine commitments Kelvin can you explain it ensured I read the documents and well more or less just get and I have one question which will need to be answered later sure so the problem with just just standard commit reveal is that usually well the fact that I'm committing is leaking information about the fact that I am going to make an action I'm not telling you what the action is you confront transit commitment you can recommit right or if you cannot be allowed to reconvene that's I think the strongest attack is is not too far under commitment it's to notice that absolutely that's the point right so that I if I'm a minor the original problem is that if if I see a challenge I can just execute the challenge and boom I'll see that it's a valid challenge so I'll front and run it and I'll take the fee instead of the person who actually did the work to spot the error and and throw the challenge so the the first solution that you could do is make a commitment so somebody is is asked to commit to making a challenge before actually revealing the challenged information the problem with this is that it leaks the information that somebody is going to challenge later and so what they do is it doesn't look that somebody will turn it looks that somebody made an action at least that somebody somebody made an action and and because somebody is forced to make an action before challenging later right we've we've asked people to commit then reveal a minor can say ok I saw a commitment so now I'm going to check it and then I'm gonna front run and I'm gonna I'm gonna get my commitment in first and so the problem with this is that it's the same exact same exact issue the a minor they don't have to do any work until somebody else does the work then they can do it they can spot the problem front run it and take the fee and which kind of destroys the whole thing so so generally the idea of these submarine commitments is that you make a commitment in a way that you're not leaking the information that you have made a commitment right so you basically send a transaction to some random address and then you later prove that you made a transaction to that random address and nobody can tell that you made a commitment in advance and and so the benefit of this is that you're not leaking the information that you you make you might be planning to act later on and so you don't have this front-running problem but it is significantly more complex than then not having this right I think from my perspective is I think you know given given your worst case searches I actually don't think it's that bad you know like if it ends up being the minor just ends up collecting the fees that amounts to being burning the coins right from from an individual's perspective and I think that's acceptable because because there is no equilibrium in that situation because you challenges will stop even though there are invalid oh I think there's sufficient incentive to do challenges anyway yeah like I'm not I'm not totally concerned with that yeah I agree I mean the the cool thing about like plasma cash and plasma from these kinds of Merkle tree where you own a particular subtree the cool thing is that you have a very strong incentive to challenge no matter what even if you're not gonna even if you're gonna not make any money from this like your coins are at risk basically I think what we're talking about is what what I think the implication if we wanted to hone down and on your concern George's is that if you can get what you want in terms of your goals um bond sizes to decrease dramatically I think that's the end result because I think effectively if you're talking about your worst case it's possible that the bond size we'll get fairly large and maybe maybe you know large enough that you have to be fairly capitalized in order to do it and definitely it's a it's a research opportunity that I think will make a pretty big difference in terms of the end usability in terms of whether one outsources once exits in terms of the in sort of you know like trading the coins trading the the actual value so I think it is a really really important thing to do but given the worst case I think you know effectively the bond sizes if you increase it enough then the probability of you personally watching it should be sufficient so then the problem reduces to parameterizing probably and so I'm curious from the how would you properly parameterize both the bonds and the duration of a dispute period that's a really good question I thought and I would be interested in a good like market analysis of how that would be so the other thing is the there was sort of the scorched earth version of this which was if you can prove that an invalid exit went through you burn the entire contract down and so it creates like a massive negative incentive for you to not challenge right and so we have this problem in plasma maybe you wear this wouldn't happen in plasma cash you don't need this in plasma cash but impossible VP of this problem where you know if I make an invalid exit for five dollars or whatever you know points zero whatever eath then if it goes through the people who take the loss or the people at the end of the priority queue it's the people it's it's not necessarily me right so it could be you know it's just some random person and so you that that person would they're the only person who's going to experience the negative of impact of this and so we can make other people experience the negative impact of this if we basically say we will burn down the entire contract throw away all the money if you ever let this happen which is like you know probably not a great solution but I thought it was fun and it's a good thing I think it's great I think that there's like a general rule here where when you're designing these like economic crypto anomic mechanisms you don't socialize losses are generally scary because it's this kind of common goods problem right with this prisoner's dilemma we you know it's not really gonna affect me I'm gonna exit before them so why do I even care about this five dollars it's going to be stolen I can exist on a fractional reserve as long as I get out first right that's those kinds of weird incentives where you you share the burden of you know a you know challenging or whatever it is pretty bad the better incentives are when you are directly affected and only you are directly affected and so you have a the the person who is supposed to act in response to this is like very very clear and I think bond sizing is is a really important topic that I think even even us are not necessarily experts in I think it's something where you know it applies to a lot of smart contracts in this space you know state channels are another example of this where you know bond sizing in relation to gas fees are an important topic and you know it affects a whole host of contracts so if you're interested and/or have an economics background or interested in this topic it's something which you know everybody in the space would be very appreciative if you know you're interested in doing research in this yeah the Cohens the question I had is there is still indirect all leaking of information in a submarine case because it's unfortunately due to the technical perspective how its implemented reduce a transaction to some external smart contract address of which you know because you know some data which you need to publish so it will be cheap this address what the contract will be recalculated its guessed as a problem if your transaction to this contract is somewhere some fancy amount a very small for example it's leaking information if it's an average it basically just well Rick if it's if it's more or less like an ordering transaction especially in high season three years from transaction amount for example hi it most likely means you need to have the higher amount even starts a challenge and it's begins like another probability challenger should have at the worst case more suddenly it would be just necessary to just may be allowed to front run you and and just indirect kind of indirect loss and as a side comment I think you know the the reason why you know we do need a lot of people researching plasma and why you know a lot of people are making significant contributions is you need a lot of ice on this for example one thing like I just realized it's just now sitting here is you know attack vector because like when you're talking about game theory you need you need a lot of eyes on this to understand the game theory an attack vector on the submarine is construction that I was just thinking of and correct me if I'm wrong this is viable is you know I always if I'm an attacker I'm always going to publish a submarine proof yeah it would like you steal the submarine proofs as you attempt to steal the penalty by always publishing a submarine proof I don't reveal it but when someone else reveals it I also reveal my submarine proof the submarine proof has to commit to the challenge of yeah yeah yeah so I'm committing to my own my own my own invalid exit I mean you start an involute exit and yourself prevented yeah so basically like I I must publish an invalid exit I also publish a hash of the proof of the dispute that's useful because when someone else publishes a penalty I can claim that I did it before them the submarine proof it is it is very well linked to you I think yeah so so what I'm saying is that like anyone in the audience can come up with interesting constructions and disputes on whatever mechanism that we're all coming up with and it's something that's very very important to do and I'm not sure that this actually works but you know is an example of you know something which you know why why the community when it comes to smart contract development is really really important to you know get everyone involved and have a lot of ice look at this oh yeah QA would be fun Kunis our guys skill Beauty love hearing with thousand TPS how will it affect plasma negatively positively if layer one scales will it make layer two obsolete is the question so my understanding is that anytime that you gain committee placed data to the chain you do it if you can do it that's like pretty obvious so there is always the need for layer two yeah I think that they're going to be different properties of the main chain and of plasma chains plasma chains are just going to have like you know maybe it's tons of scalability and you know exchange kind of built in and maybe fast finality or something like this and something that I was thinking about it's like okay does does plasma work in a sharded context I was like oh well there's actually a really simple construction which allows you to say okay I'm going to take one plasma chain and I'm gonna hook it up to ten shard chains and then all ten shard chains will be able to deposit transit assets into the single massive plasma chain and so then everyone's able to do kind of like native atomic swaps across these different charts so like like how does it work it's very simple it's very simple I promise it's it sounds like dream but I'm not sure how one contract in each shard scene watches multiple shots boom I'm blamed for this it sounds I mean well first we need a 32-point oh yeah you know right well the thing is it's scary to research something and then be like oh this new technology is coming out does that just totally obsolete all of what I'm doing Jeff I'm so curious it doesn't matter so much about access to plasma from chars because for at least four fungible token flows because you can just instant swap in channels between a channel literally anywhere in the ecosystem and a channel and plasma anyways so the only thing you need the connection between plasma and the main chain for in terms of fungible tokens is managing net capital flows in arbitrage we should happen like just every once in a while it doesn't even matter like people people don't even care yes and a couple of something similar was that you can hook the plasma more to more than they're just issuing flavor and well with some problems which arise because you can commit different blocks different headers and everything that should be in time and available but this is quite similar so we can try this first and then we'll see how it goes maybe some fancy market between the chains we'll see maybe between this eggs dye chain with this Authority but stable coin inside of it's what you see inside the plasma let's make as a fan CDs I was under the assumption that they each dye chain is a trusted environment but to also extend your point from a different facet you know state channels are also relevant in relation to plasma and will continue to be if you want things like instant finality and can be it probably likely be the you know front-end interface at least for most people so I also have a completely unrelated question which is why are you guys spending time and on this piracy accumulator stuff when you should just verify your state transitions I totally agree with you there is conflicting with curls there's different perspectives on this so maybe we can I'm not aware that I'm being contentious like very finest verifying state transitions has like like you might get a low marginal cost eventually but usually you always pay the base cost but with something like last Mike hash you can get down to like 1s torpor like like 20,000 guests per per transaction without without any like kind of batching thing one advantage that you can't get with the problem with this DK based constructions they should encounter for more than just cast of postings of snark but well state transition or something like this any other construction it also boys out if you want like one proverb which should make your blocks you should have the mechanism in the case you don't publish the call data to the contract you publish the block separately you should have the mechanism to solve date availability if you have competing operators your cost increases because to calculate this knife is not easy it's not cheap and now you have to multiply by the number of competing operators who should get well for those it should be reasonable to get the profits from it so basically transaction cost increases this is also an area of research I'll sent as a researcher which didn't talk today we had a some discussion accreditor it's how you can make the stateless block validation which was the recent paper published I think a thank you for charges for link as a research ed works yeah you can make a block validator completely status you can write it on mobile devices you can have like almost absolute liveness hundred minutes of thousands of users no not the balanced one for now we take some other vector commits and we can discuss later was there not usable right now so there are various areas of research this stateless validation is great just because we want live news we want someone watching at least someone's the same way as for assuming to poundtown you want someone to run this fancy hardware with vdf you want someone to monitor the plasma just someone and then it will work otherwise well we need to work in user experience validation and everything so yeah more people can change the research is better as well in research may be difficult implementation is still great because you need to test so many things how is it work how it makes the user experience so just please join Evan if you don't want to research you won't just write a code yeah I think we you know we are always you know the space always needs better systems engineers and more systems engineers I think yeah in addition to your question I think you know having having a baseline using minimal fancy cryptography is good and then having fancy cryptography used to makes everything better easier faster I think it's a good rule of thumb in the space and you know that that makes them very strong measurable improvement maybe a personal story so I got into this plasma research as well and I was kind of like going strong on aetherium style contracts and I thought there's nothing wrong with them and then Kelvin wrote a bunch of interesting blog articles talking about how actually a ledger you know attracts assets it doesn't necessarily contracts should maybe not be first-class citizens on on assets on Ledger's and the whole plasma research has kind of led me to kind of rethink the architecture of a theorem and kind of find that there could be a way more efficient set up where in Bitcoin you kind of have fat blocks but a thin stage any theorem you have thin blocks of fat state but we could go with thin blocks and thin state I think it was low then I was still it says the trader was Kelvin was talking about until it's formalized well light client and light blocks like ideal scenario but still most like is there a trade offs maybe there is nothing like a external computation powers it should be made to make some blocks and one fun a theorem 2.0 note is that the first focus in the main focus is providing a massive stream of available ordered data that you can rely on and Trust right this is in fact the most primitive in my opinion because it is literally just information that we have consensus on and information can be interpreted in whatever way you want so if you want a different kind of aetherium you know EVM or if you want to you know put Bitcoin or Z cash directly on aetherium and use that kind of data stream that's super cool and in fact it needs to happen please do and we're gonna see all of these alternative execution engine constructions probably pop up very soon but we're like getting a theorem down to its essence which is very exciting so you're basically saying when the bay becomes cheap enough we can use plasma to absorb other chains no you can just make fancy constructions with plasma VM yeah something like this Justin needs a data stream and publish everything on the chain no data availability problem whatsoever actually actually I like I'm really excited about the data availability thing but like from a text on in front of you like like they've been called data layer to execution engines before and it's basically like a mechanism which relies on are at the root chain for for for data availability yeah so like we could call it plasma everyone but like it's it is it is used to do I think keep a distinction between things like plasma cache which which don't rely which don't rely on that and and things which do yeah yeah roll up would be an example of something that relies on the theorem for data availability all right so I want to start an argument Thanks so my question is you mentioned a little bit earlier about the original plasma paper and how you use the MapReduce mechanism and how that doesn't necessarily fit into most use case I'm kind of curious like what kind of use case will fit into it's still like necessary like for example we deal with time series data would that you know it's that kind of that a use case in a secondary question the original paper has like multiple layers and is that layering just for the mass exit mechanism is that is that layering even necessary anymore so basically right now we're not even at that stage the presumption is I think what we're realizing is the scalability benefits that you can get simply by having one plasma chain is probably going to be sufficient for the overwhelming use cases the the notion of nesting gives you the benefit of you know scalability within the context of you know perhaps you know you don't want a district engineering-wise it's a lot easier to have computation that can fit on one server right that's that's simply like if you ask any distributed systems engineer like once you have you know some state across multiple servers the engineering challenge just blows up and that's fine to do if you have no other choice and it's sort of a model of how you can do that for a lot of state across different you know uh that that goes beyond that right now the problem sets that we're dealing with probably can be done on one you know high powered server or a set of five powered servers or so specifically once a high power servers and you can eventually go into a set of high power servers by making nested commitments we're not writing another code for that right now simply because or doing any designs for that right now simply because it's not we're not even seeing a need for that necessarily the the context for the MapReduce construction within within that need is within that within that within that process is that essentially there's a problem in relation to a lot of you TXO like instructions whereby you txl like instructions don't do global state that well it's sort of like in terms of data structures if you can only do linked lists and you can't do maps or a race right like it's sort of like well what can you really do with this right when you're dealing with global State essentially you need to have some type of you know global agreement or consensus so it's a statement that you basically have the plasma chain be processing global consensus and that's basically what what we're doing right now yeah regarding the mapreduces i well maybe I shouldn't mention this construction how we can offload the snarky execution of chain but in principle as Kelvin mentions there should be either clear ownership of state which you can exit in in most of our cases for now the state is a value if you don't if you state is something abstract which you can live with having exiting like the previous state at some point and just saying well this is a previous one which is the last well it and I can just afloat all the computation I'm fine with exiting like the previous like the last valid state on chain and doing something with it in a worst-case scenario then you can put the computation inside so you can make it like offloading computation of change the same ways as everyone want to do with the snarks verify it on chain with starts verify it and chain you can do something similar it's the idea is not huge and you can just try to make it but very limited set of key patience which you can use and it's like maybe games can be done this way well games can be done or sorry at least sorry cool all right five second argument plasma naming scheme is bad and you should feel bad so so my you know we had this kind of meme naming scheme right where we went off Bitcoin Forks so we had plasma cash plasma XT what else did we have plasma gold plasma and G whatever right so and it's totally involved into this problem where in order to be I mean the idea is like capture this design that you've created with one name and refer to the design with that name and so now it's been this thing where like incremental benefits like tiny little improvements are allocated their own entire name which makes you know kind of no sense and and and then also like people have been taking this as I in order for my design to be taken seriously I need to assign it a name and so you have this massive bloat of the plasma and name space and it's super confusing I think it's just I get it makes it really hard for me to refer to what I'm actually talking about when there's like 18 different names so I think it's considered harmful I mean I I like the idea of naming things I think we should just be careful about you know unless it's something totally novel like I like plasma prime being named its own thing is it's just it's a ton of work that's been done over the last few months put into its thing and it really refers to a large improvement over plasma cash but like micro improvements right it just designs that aren't well fleshed out I feel like we should present the ideas and then it's only when it's really solidified into a package should it be assigned a name and I would my vote here is that we take that naming scheme apart but I am open arguments against this I think we're short on time let me bring the mic to this guy and while I bring the mic oh he got I just want to ask in your opinion first what was the best challenge time for the for the challenge period well that's the question is we actually don't know and that's why you know you know like I think we can take a lot of the work used for state channels as of late but that is something which is ultimately up to you know the user the plasma chain and you know what type of risk models if I may very quick you already said that the in European but the best solution is to put this plasma cash on one server and separate having like one super server so you have like one Operator right and in that point what's not necessarily the case it could be a set of validators you know like for example the most naive construction would be around robbing a validators for example so most likely peer-to-peer network yeah yeah will be done across you know some propagated peer-to-peer network you just want the entire state to be able to rep you represented on a single machine listen commotion the idea is sort of like on ethereum you know you know you don't you don't have one single server running aetherium everyone replicates it but it can be run on a single machine currently with sharding of course you know you have a more distributed model I like to just answer his question and uh like I it's like a slightly more technical thing but I I think the the biggest challenge like we haven't quite figure it out is like some people in disagree with me is like proof compression for plasma cash so like I think that who best candidates are like on the one hand using RSA accumulators and on the other hand like proof compression using using using stocks and like I think both have both after downsides like like RSA commuters are not quantum secure they're not they have like the engineering it is I think pretty complicated and whereas for for it as stock compression like Shari doesn't compress doesn't run very well in in a stark and like the stock friendly hash functions are a very expensive one watching that's mine it's my personal view but like I think if that is I think if that is solved like we get like the list of features is is pretty nice just a little bit emphasize what Joseph said I you can have any set of validators for a new plasma block but ideally two just to plainly reduce the cost you want your data to produce a block and the place where you take all the transactions from users you wanted as central as possible just to reduce the costs if you have competing producers just multiply by the number of producers the amount of fees you would want to expect from the block otherwise it's not profitable for them to run the hardware so it's again a trade-off but there are there are ways to well not ways to solve it you understand every strategy and most like we just need to stay to set of elevators and build a signature I think what about censorship resistance like if you have one Operator then it's not a feature okay is that and it also relates with fees in plasma I believe that you should consider that your transaction is by default censored and you should feel nice when it gets included and this is this is what allows you to like any kind of transaction fees they don't have to be in the protocol because I can literally go to Jonesy I can tell him you're my operator by default he's censoring me that is the default and like if if he takes have I because he paid me my five PayPal dollars this one yes I let the transaction go through yeah and it's totally like good for like the fig model because it's totally independent it's like you have a whatever service that you're providing because you're the operator you must be operating something you have some for profit and yeah I believe that the value that's the proper way to think if you want stronger guarantees change your route chain smart contract to be able to process it on the route chain as well tit would be reflected in the clasp yeah I think we're running a long time just this is just purely for redundancy purposes too I think like you all made a lot of good points and like all of us would love to go do more research on some of the points that you made but we never got through introductions so we only got half of your names to do for the research so can we just go back and get everybody's names so that we can go research some of the points that you all made on our own did some of you not on the walking up to the introduction we'll just we'll just do it really quick hi Calvin fish Sir Joseph own shrine see David not George's constant Ovilus it's longer riverkeeper Alex philosophy Alexander for a full name johann Barbie Karl flourish and and I think there's a bunch of you know I don't I don't want to discount all the all the other people working on plasma I think you know you know people like dan dan Robinson couldn't make it there's a lot of people writing excellent implementation a lot of people you know like people like you know or state walk they're not they're not represented up here but definitely have been doing a lot of excellent work a lot of other other other people projects and I think you know a lot of people making comments on III search and you know this is a very you know the the communities designed to be very inclusive I think you know it's called the plasma you know implementers group but it seems to be plasma smacking them some designers group and there's a lot of implementations as well and they definitely you know if you do want to contribute you know I think there's an opportunity to be making measurable differences and positive differences III search and learn plasma org but if I may say one thing like lately I noticed that in III search some posts like you open a new thread just ask a question then do that just post a reply on the existing threads because it's impossible to follow they there's that and secondly I believe that the actual contributions to this like not to sound hostile or anything it must be technical like try to search what has been answered already because like there are a few good resources and if they are not like we're compiling some which are pretty like all in one but generally like in the classic forum mentality like don't ask the same things maybe add issues to but like it is and I say I think you know the the the this is an open community as well but definitely keep it as technical as possible I would agree with that and but you know this is a you know inclusive community definitely you know look at e3 search going through the scientific process of learning how to you know do all this stuff thank you thank you
