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

Loading player…

Putting Eth2.0 To Work by Alex Stokes (Devcon5)

DevconFri, Oct 9, 2020, 12:00 AM

Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on IPFS and more. https://archive.devcon.org/archive/watch/5/putting-eth20-to-work There is much excitement around Ethereum 2.0 but given the fast pace of the project it can be hard to keep up. The relationship between today's Ethereum and the new system can be murky: does eth2.0 replace eth1.0? And where does eth1.x fit in?This talk answers these questions by sketching the lesser known ways eth2.0 can directly benefit Ethereum 1.x. The two systems in fact complement each other as each phase of eth2.0 paves the way for tangible benefits to the network we all know and love. With Phase 0, we can upgrade Ethereum with the finality gadget, leveraging the proof-of-stake consensus to provide better security for the existing chain. With Phase 1, the proof-of-work chain can use the data-only shards to enhance the scalability of L2 solutions like zk-rollup and Plasma. With Phase 2, we can bring existing dApps into the realm of highly scalable smart contracts on shards with an upgraded virtual machine.Participants will gain a better understanding of the many ways eth2.0 can help scalability in the near term and onward into the future. While the journey there may be dynamic and winding, it is clear that the future of Ethereum is bright. Speaker(s): Alex Stokes Skill level: Intermediate Track: Consensus layer Keywords: eth2, technical 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 5 was held in Osaka, Japan on Oct 8 - 11, 2019. 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

okay good morning everyone now everyone can definitely hear me let's see if I can okay here we go okay yeah so I know the gadget will be okay yeah so the finale gadgets and research we've been looking into to use the beacon chain from eath 2.0 to enhance the security of the thwa net chain so here I will explain what it is you might have heard of it in like a lot of different contexts so we'll just kind of go through it I'll try and show you why we want it hopefully there's like some fun reasons then we'll talk quickly about how we get it and yeah then we'll wrap up by seeing how you can help so yeah this is like super high level TLDR like like I said using the purpose take beacon chain from eighth to O to enhance the security of the pre-work chain we have today so you're like well what's going on there's now there's more block chains like how does this work here's this little picture so again because this is gonna like couple these two systems together there's like a lot going on so I try to be clear like there's this 100 block chain right so this is like the perfora chain we have there's a - a beacon chain and I'll explain a little bit more what that is exactly and then this will become clear later but essentially this this is like showing finality extending from the to go chain to the 100 chain will go into a lot more detail on that so I'm sure you've seen this like a thousand times by this point very briefly we'll break down each row there's a beacon chain it's a proof of stake blockchain completely new chain from the existing one and it's gonna build out this new shorter system that will have very soon the way we do that is we have this beacon chain which is like sort of the system chain it operates and manages validators in the system then from there we have all these chart chains which are these little circles let's say there's like a thousand of them that's where user level transactions will happen and ultimately we'll have phase two then we have like all fund apps we know and love on these chart chains hopefully with like much great much greater scalability so yeah then the question is always okay this is great you might have noticed I keep saying phase phase zero phase one phase two because the system so complicated we're like breaking this out in two phases so it's just easier to get right to have like discrete chunks we can kind of go and deploy one at a time then of course Sharon is like okay well when is this happening the short answer is like when it's ready we don't want to like rush anything and there's a lot to get right there's a lot to get wrong so in the meantime you can ask okay what about the chain we have today and we have this whole bundle of initiatives to the theorem called etherium 1x again you've also probably heard a lot about this over the past couple days it's so like bundle of features to improve the theorem we have today keep it going so like Alexa has been looking at state management and like state growth on the chain and like deploying some sort of state fees to help with the growth there updates to the VM so this for example would be like the point II wasn't free compiles to accelerate certain parts of computation on chain protocol economics you probably heard of a IP 1559 which is changing how transaction fee markets work so that they're less volatile and things and then finally another one is the finality gadget which will okay now okay quick diversion we're gonna talk about the final gadget the rest of the talk but I just want to take a moment to like communicate that we can actually get tangible value out of each phase of this eath to deployment with phase zero we can do the finale gadget which we'll look at soon with phase one we can actually think about using the shard chains is this like data layer for the existing chain and that lets us do cool things like plasmas UK roll-ups zk zk roll-ups which is an idea Vitalik had anyways all these like cool layer to scaling ideas that we can leverage these char data chains for once they're deployed then finally phase 2 again there are a lot of ideas around how to like move eath one into eath two and yeah the main point the main takeaway here is that you know it's it's not that this all the school stuff is like far many years away with each step of this deployment we can like get something really cool on the theorem two day okay so back to the finality gadget like I said we're gonna have the two a chain there's this process of the consensus on the beacon chain called Casper part of Casper is finality and finality are essentially the set of rules that say once validators in the system have made so many statements of a certain form basically you can't like fork the blockchain from will call a finalized block without burning like a ton of the validators bonds and that's how you keep the system secure so like in theory you could like make these bonds arbitrarily high so you get arbitrarily high security we then want to say okay let's use this security on the the perf working find out yet so like breaking it down there's like two key pieces or like mechanisms right so we'll call it the finality engine which is like how we get this finality in first place then hopefully I made it clear like these systems are like very uncoupled and so you know finality is happening here and unless this part learns about this part and there's no way to finalize this stuff it's like whatever is up here could be finalized and then it's just like kind of floating on space we need to that we need a way to learn about the youth one chain that's why I'm a bigger by eath one data so the first bit is the finality engine so we'll quickly goes to this finality thing again here's a blockchain doesn't really matter which one proves big blockchain you know blocks blocks have links to their previous block so the idea here is that these arrows are indicating that the previous dick validators in this system are like making these these messages these a statistician as test Asians is the term you may have heard they're like yeah I think like this is the next block in the chain and that's kind of one of their main duties in life as a validator is to like make these messages because as we'll see in a second we can kind of look at these messages and figure out if we hit our like security thresholds or not so the the next bit of finality is this process called justification and these are these thresholds I was just talking about so what we're gonna say is that you know let's say there's like you know a group of validators if two-thirds of them all make an attestation or this you know this claim that this next block is in the main chain and if two-thirds of them do that then we're going to say that it's justified and that's why I'm indicating here by those gold arrow you see down here this one's still blue so like maybe we're at the head of the chain and the others are working on it but not everyone has like made their attestation yet right so we're not quite there something also to note is that you can actually like you know skip box here so like this would actually suggest there are no messages made no matter stations and that's okay you can just keep going as you see now we get to the fun part finality there's like this very special rule that you just have to learn and basically it's the rule is if I justify on top of something justified then this first one is finalized and this is just the pattern that you have to like apply and I'll show you in a second how we get security out of this but essentially you know so we can say okay justification on top of this one this is finalized justification so thing is it's not justification sort of in sequence but like direct sequence meaning this this block is not finalized because there was not like a direct descendant of this that was justified then we see down here we like skip some blocks maybe there is like just somewhere to never claim to see right and then we keep going so then this block was justified from back here we justified directly on top of it so this one's actually finalized and then we have the situation where like we're trying to build finality on the head of the chain down here now we get to the bit where the security comes in you've probably heard of these slashing conditions and these are rules that basically enforce really this here what it's saying is that as long as some my conditions hold in terms of like these patterns of justifications and voting's you can't finalize two conflicting blocks so let's let's say there's a fork here right these blocks are at the same height you can't finalize two conflicting blocks without either well really without at least a third of the validators losing their sake so that's why I'm trying to show over here we like burned a third of the eath that was validating not good and we can actually prove this there have been met like mathematical proofs there's working sort of formal verification of these systems all this good stuff and really yeah just like sketch the intuition here like as long as we haven't had one of these attacks we haven't you know had one these events where all these validations are slash then we have sort of one single history and like here we see this is like what's supposed to happen even if there was a fork sort of broadcast on the network what still happens is that you know 2/3 majority of the validators went down this work they did not go down this work and so as long as you know who the validators are you can actually determine this based on the messages on the network and figure out the true chain and to give you some sense a healthy amount of eath that might be validating in each toe is say 10 million so then for when his attacks to be successful right that's a third of the youth has been burned 3.3 million based on numbers yesterday that's over 630 million dollars and this is sort of per attack so quite expensive okay that was a very compressed explanation of finality well now talk about how the beacon chain learns about eath one data and then we're gonna do is as we finalize the beacon chain which learns about this eighth one data will end up finalizing the one chain hopefully that's clear so how this works in practice is that will apply this beacon chain they'll also be what's called the deposit contract and with the deposit contract the idea is that anyone can then make a deposit of ether this smart contract on the eighth one chain the two chain is then essentially a light client of this contract and is watching this contract and that's how values enter the system so you know it's sort of trustless in this way you don't have to like go to three morgue and like sign up to be a validator anyone can sort of permissionless Li join the system yeah and there's a key part of this any validator in the new system then to for example make a valid beacon block has to include sort of their latest view of the eath one chain and that's how you get this light client functionality so here are some diagrams to that effect basically what I want to show is like there's a proportion right up here beacon changes up here the systems operational it's going and all this basically in some block we have some data right so like this block has a block hash there just like an address to this deposit contract there's a root of all said deposits that have been made to become a validator and then essentially to enter into the batter's set here you can make proofs against this right so I've already claimed that we're essentially a light client of this contract what that means then is that we know sort of this special route in the contract we can and usually make Markel proofs to figure out okay was this deposit included or not so what that says oh great so yeah so then really this ties it all together I'm just gonna kind of keep moving so we can ask questions at the end hopefully I realized this is a lot quickly but basically what we then have right is beacon chain learns about eath one blocks as we finalize the beacon chain we implicitly finalize these eath one blocks right so for example it's like you know by this block we said hey the head of the eath one chain was this block then as we finalize this beacon block because essentially you know this block hash is written here and it's finalized we know that via reference this is now finalized and then because of the chain nature anything before it is finalized so then we'll like keep increasing suffixes of this chain as we finalize more and more beacon blocks and then just a you know belabor the point but that then means is that you'd have to have one of these huge burnings of all this ability neath to actually have for example or a version on the 100 chain okay yeah why do we want it essentially again I'm trimming some argument for better security there's this quote I've usually heard attributed to Vlad which is like with the proof of stake attack it's as if you're a sick farm burned down with every attack and what this means is that you know let's say we're on the fork chain if I were to attack you I just have to get like a bunch of hardware right and I just like they're all let's hash borrow your chain and then suddenly there's like a competing fork the only way to really like stop you if I don't know where you are is to change our work right which we know can be tricky so with proof of stake you can actually because you have this like reference in the protocol like representation in the protocol of this like consensus object you can basically just say hey we're gonna like coordinate as a community to say delete this part that's attacking us and you can just keep doing this you know as you need I mean you're on time so I'm going to speed through some of this bit again security security security this is another when people early into is that we can actually reduce issuance right because with the security of the beacon chain leverage to the eath one chain we actually don't need to like we don't need as high of mining subsidy and yeah takeaway eath one loves eath two we can like do a lot of cool stuff wait before we have this like nice shiny awesome like future execution environment system and again a lot could go wrong it's coupling these two systems in like a very intimate way and so we definitely need a lot of like research into like what could go wrong and how before we like kind of move ahead so that's about where we are now we had like there's a working group we had like our first call some time ago there's this link here I'll show this on the internet later a current kind of open question is that a lot of the beacon chain like comment infrastructures kind of been delayed to phase one so that I made like defer when and how we can do stuff here again there's like active research into that at the moment here's link to the working group on teeth magicians there's a telegram group and I want to get to questions so I'll speed through this yeah this is me on any platform just our Alex Stokes and I have more writing on this stuff yeah we have maybe one minute for questions yep sorry guys best hey hey thanks Alex can you canoe walk us through what would happen if the eath one state is finalized on the eath to beacon node and then there's a really neat one if the so we finalized an eighth one block so that I'm certain certain each one block is finalized on the beacon chain but then all of a sudden in eighth one world that block is no right so yeah so I actually didn't make this clear but part of the the goal here is not just to like have the beacon chain do this thing and like for sort of finalize block caches but we'd actually want to go one step further and have the privilege it's actual consensus to respect the finality and so I'm gonna kind of register on time but that's where I like merging the systems like it's tricky cuz like you're actually changing the per for consensus to say okay if a block has been finalized we can't revert so then it's like four choices go to the finalize tie to the preferred chain then proof work from there right related to this so you talked about how like if you have the finality gadget you might be able to reduce the mining subsidy one thing I don't understand about that is it feels like the mining subsidy is like most useful for the most recent blocks because you don't have like really deep reorg and there will have to be like a delay from the beacon chain to finalize each one so can we actually reduce the my name subsidy significantly and and why is that secure last question so that's actually a good question I had this again this wasn't clear from my little diagrams but basically there's effectively effectively like a follow distance between what the beacon chain considers an eighth one block and the actual head of the eighth one chain and it's actually quite big right now the idea is like if we can deploy all this stuff and it all is happy it makes sense then we can actually shorten that a lot so the questions like yeah how how short can we make this follow distance it could go I mean theoretically just a few blocks behind the head and then it's much more clear like yeah we can probably lower the subsidy okay right of time thanks to everyone I know is early hopeful [Applause] you

Automatic transcript — names and jargon may be misspelled.