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

Loading player…

Fast Finality Optimistic Rollups | Nick Dodson - Fuel Labs

Ethereum DenverWed, Oct 9, 2024, 12:00 AM

The search for scalability is reaching its end stages. The rapid advancement of zero-knowledge technology, parallel execution and better virtual machine design solves the "execution" constraint, allowing massive amounts of computation to be compressed to a concise proof. Meanwhile, the data-availability sampling used by Danksharding & Celestia solve the data-availability bottleneck. This leaves us with one final constraint: state growth. Why is state growth so important? And why have other virtual machines not been able to solve this issue? APPLICATIONS FOR ETHDenver 2024: #YearOfTheSpork ARE OPEN APPLY NOW https://ethdenver.com/apply

Transcript

[Music] guys can hear me um all right I guess this will start um is the presentation fine or no yeah it's good okay um all right so for the crowd we have here I'm going to try to keep this um as entertaining and as fast as possible for you so this is like the best short random presentation you've seen in the whole conference okay we're going to I'm going to tear your head off with an idea and you know we'll see how everyone takes it but I was going to do a uh a presentation on um State growth uh as sort of the final boss for blockchains and where blockchains are going State growth is a horrible problem but instead I'm going to talk about something else uh something that uh we researched and discovered very recently uh which might allow us to to basically not need ZK rollups at all for quite a while so um effectively I'm going to present an idea um and uh for now I'm just calling this idea fast finality optimistic Roll-Ups so for those of you listening it's a novel idea we just released it um I've got a few people that have already looked it over so far no big red flags um and I'm really excited to present this today so fast finality why wait a week why wait a week for optimistic rollups anymore uh that is the question so for the agenda real quick going to start with just a quick overview what are optimistic rollups then we'll go into censorship uh we'll go into the prior art for reducing the optimistic finality window as well we're going to get into something a trick which is transacting on ethereum without transactions then we're going to go into a check-in model which is the idea uh we're going to talk about some downsides and some solutions and the conclusion and for all of you listening um my name is Nick Dodson I am the founder of fuel and fuel Labs um I built the first optimistic rollup to main at ethereum um I've been doing ethereum stuff for a very very long time almost since it started and um quite frankly I've aged significantly over the years uh way more than a human being should uh just to do what they want to do in their life so uh um all right so optimistic rollups so right now on the rollup chart for ethereum optimistic rollups are dominating uh they're doing really really well uh out of the top five layer 2os that are available for uh ethereum right now uh four of them are optimistic based or three of them are full optimistic Roll-Ups and one of them is a ZK rollup uh in which a lot of people can't sell their tokens yet so the they're high up on the list uh uh quite frankly but basically most of these projects are optimistic rollups which means that the technique for as long as we have it is pretty good A lot of people and the market are willing to use this technology and lock billions of dollars $30 billion dollar into these Technologies right now so doing pretty well so to get into what is an optimistic rollup maybe just for people who are you know just trying to build their knowledge and maybe they just need a definition again so an optimistic rollup is uh basic basically a trust minimized blockchain where um it can inherit the security of something like ethereum um and uses something like watchtowers to keep an eye on things but in general so long as people keep an eye on it they can use ethereum um they can work out when things go bad and effectively keep a blockchain um you know in a position where it's doing what we call State transitioning and it's doing that in a nice way uh and over time um you can have this really nice trust minimized block blockchain um and it inherits the security of ethereum but could be completely different it could have a completely different architecture it could be uh wasm it could be something else in our case it could be the fuel VM um so it's a very powerful idea I can build a rollup that's completely separate to ethereum but it'll inherit the security of ethereum and it'll bridge to ethereum all that liquidity all that security I can now get with my project so it's a very very nice idea the problem with Optimus Roll-Ups has typically been one really annoying thing which is you need to wait 7 days for it to finalize okay what does that mean well it just means that we consider the state of things finalized by a specific time and the reason why it needs to be seven days is because of what we call a challenge window so for optimistic Roll-Ups when someone tries to basically break the state transition or a healthy State transition um we get to step in and we go hey that is not the right state State transition uh given the rules of the system I'm going to submit a a fraud proof and I'm going to revert that state transition they're going to lose their their money and everything will continue as normal so the problem is is that we have this 7-Day challenge window and quite frankly this is the primary reason one of the central reasons why we're doing ZK in the first place because we don't want to have to wait 7 Days on any kind of blockchain to consider it finalized to consider the state transitions are final we've had enough time to think about it yes they're okay we're going to keep moving moving on so the thing is the challenge window needs to be long enough to basically weigh out what we'd call a censorship attack on ethereum now we'll get into censorship in just a second but the period needs to be long enough to wait out the censorship okay this is very very important for for for everyone listening so what is censorship well I Define it very broadly as the following thing definition broadly meaning the prevention of transactions from State transitioning a blockchain right so I'm trying to submit this transaction to say hey there's fraud there's something wrong uh and basically some attacker is just either buying out all of the block space on ethereum uh or uh they're basically they have a contract with uh you know what some of the these block builders on ethereum and the transaction just won't go through right so you're being completely censored so here you have a malicious actor they're censoring uh a validator an honest party from submitting this fraud proof right and so a solution with optimistic rollups has t typically been well if you wait seven days that means this malicious actor has to censor ethereum for like five to six to seven days which is incredibly expensive mean you're talking billions of dollars burned just to try to prevent one transaction from reverting a state transition position right so it's an enormous cost I'll reiterate and it's highly unlikely but it can happen right so unfortunately with optimistic rollups we've set that window long enough because we need to wait out a potential censorship attack um so that everything can transition normally now um you know getting into some prior art with reducing uh the finality window for optimistic rollups so of course this problem has been around for a while since we've come up with optimistic rollups as a community and we've thought about some ideas about how we can reduce this so uh Ed uh from uh arbitrum came up with a nice idea of trying to detect uh when ethereum has forks and basically say look Forks are kind of like a form of censorship uh detection and we can use forks to say hey you know what if we see some Forks there could be some sensorship there so maybe we need to extend the period but if we don't see Forks we just keep going um and that's a nice model that don't get me wrong it doesn't cover all forms of sensorship but it covers a good chunk of sensorship so that's really really important and then as well there's been some ideas around what we call a sliding window right so maybe instead of having seven days you have a shorter period of time and then it just sort of extends out it extends out over time when you need it to extend out so maybe the window extends out when the base fee is high when there's a lot of activity on ethereum so we say you know what there's a lot of activity I know if I can get my transaction in we're going to extend the window to be safe right and another one is to say what if we used a dow to sort of extend the window out you know so we we have a governance mechanism of some kind that basically extends the window out and this way you could have a shorter window maybe you could have one day as the window maybe you could have three days as the window it's probably a lot better than seven days right but you have this sort of sliding window that's happening here so these are the two kind of core ideas that you see and the sliding window has two papers so one from Patrick mccor and researchers I can't remember their names uh he's working with arbitrum as well and one with uh three sigma who's a Lisbon based uh auditor is very very good and they came up with a really interesting proposal so this is sort of the state of the art and quite frankly most of the community right now is very focused on ZK and don't get me wrong I love ZK fuel uses ZK and some of our provs and we're very hopeful for the future of ZK in the community but it's very very very expensive and when I say very expensive I mean very very very very expensive and don't let anyone else tell you otherwise it really really sucks to process CK right now it's going to get better but it's not great right now so this is the state-of-the-art right so here's the core assumption that we have to challenge okay so under a sophisticated censorship attack on ethereum right we must assume one key thing that no transactions can be made by anybody at that point so we just have to let that go we have to say ethereum is under a censorship attack I cannot make a transaction it just won't go through it doesn't matter if they're blocking the mempool they're blocking my connection they're spamming some address the block producer uh isn't letting it in they're all colluding against you something's going wrong right we have to assume we have no way to make a transaction now the real interesting idea and where all this leads is what if we could use that as a mechanism to reduce the chance that censorship can actually affect implementing some kind of mechanism for a sliding window so this is where the big idea comes in now what have we said okay well I can't make a transaction well let's use that property for something really really interesting which is I'm going to transact on ethereum without transacting at all and the idea here is quite simple it's just to say instead of using transactions to Signal fraud right right so I have to submit it to Signal the fraud What If instead we continually signal to ethereum that the state of things is actually correct what if we only signaled hey you know what I'm just going to keep signaling when things are correct oh the Signal's gone okay then we must be under a censorship attack and using this mechanism we can go okay now we're going to get a bunch of signals of correctness but if a censorship attack happens right uh say some kind of like warlord buys out you know2 billion dollar worth of funds and they pay off all the block producers and they go can you just censor ethereum for three days because if we do this long enough then maybe I can slip in this state transition I can take all the funds out of this optimistic rollup let's just assume the worst case right well with this mechanism that becomes really difficult because basically you're going to be signaling correctness and then when the Signal's gone someone's paying for the censorship well now there's nothing they can do we know we being censored so this mechanism is a reverse idea to submitting fraud proofs but it opens up a lot of interesting design uh potential so this is where we introduce a check-in model so what does this mean well I've got an optimistic rollup and I'm going to be checking in so all the validators on the rollup are going to be continually checking in okay now if any one of the validators doesn't check in okay something goes wrong they don't check in we just assume that there is censorship we assume we are being censored now what does this mean well it means a few things with optimistic rollups particularly we use what's called an honest minority assumption what does that mean it means that you only need one person on planet Earth to actually validate the chain to defend the entire chain right and this is a very amazing property of optimistic rollups and using this check-in model we can still retain this property of what we call an honest minority assumption there's one person the the minority that can defend the entire chain now all the validators are going to be submitt uh submitting signals of correctness and then when someone comes along and says hey I'm going to censor you I'm going to censor someone else the chain just goes whoa okay well we're being censored and what you can do with this is you can passively expand the window based upon the signaling of correctness so we can say that if all the validators check in we can assume that the state of things is final because all the check-ins are done and they're correct and that check-in can happen really really quickly how about one ethereum block all of these validators could theoretically check in and it would just take one ethereum block what does that mean it means Optimus the grups can retain a minority assumption and finalize within one ethereum block and if anyone tries to censor and if anyone tries to do anything there then it just takes one of these validators to not submit a check-in and the window passively expands and it can passively expand until 7 days until the censorship attack is over so in practice it sort of looks like this you have an honest validator you have a malicious actor the malicious actor has let's say a hundred billion dollars to burn on a censorship attack okay now given ethereum's Economic Security how expensive this would be Etc little hard to say but you have a regular check-in oh we're being censored okay the really rich guy is censoring ethereum so he censors it but then realizes well wait a second I'm running out of money really really quickly and effectively the honest validator just goes okay I don't submit anything and I'm being censored and then the honest validator comes in after once the censorship attack is over submits the fraud proof and then resumes the regular check-in and everything is passively okay okay so this is a very interesting mechanism because effectively under the greatest forms of censorship on ethereum we can still progress the state of things and finalize things but effectively not need um any more mechanisms than just continually checking in by validators so some interesting downsides to this so there is some grieving that can go on what does that mean it just means that basically a single party uh could hold up the system right they could say I'm just not going to check in and I'm going to make sure everything waits till seven days okay well what we can do is introduce a little bit of bonding and a little bit of slashing so if they wait the seven days and they don't submit fraud then you better have a nice mechanism to deal with this but effectively you could just say well if we are being censored you could probably prove that either socially or some other way uh and if they don't have fraud to submit then we know uh well it's either something we need to analyze maybe some social mechanism or uh you know you can just give them their bond back or you slash them depending on the situation but what's nice is is you can design a nice mechanism where it really accounts for a lot of different situations the second thing is accessibility so now validators have to check in more periodically this is a difference from the previous optimistic rollup model where you kind of only needed to make a transaction when things go wrong so it was a lot cheaper maybe to operate so this does raise some cost but this is where we can use things like ZK aggregation um and we can use nice incentive models to basically ensure that there's enough incentives and the correct bonding and everything else to ensure that everything works normally now we've got a lot of nice mechanism design um that can help with the minority grieving issue because tender has a very similar issue with inactivity um and so effectively there's a lot of nice things we can do there to make sure that this model works the incentives have structured correctly but remembering that the incentives at the very base of this idea don't really affect security the main thing that affects security is going to end up being can an honest minority extend the window when they're being censored or bring the window back when they're not being censored and the answer is yes and we didn't know that answer was yes before but now we do um and so when it comes to having many Roll-Ups and many check-ins it could get very expensive on ethereum so the big idea here is to say well all these rollups in the happy path case can take all their votes and they can compress them in a ZK Co processor and then we drop that into a smart contract and then all the rollups can use these check-ins now if everyone does check in and the incentives are right it means that the state of things is actually final even under the honest minority assumption which means that I can have an optimistic rollup that settles in one ethereum block that still retains the security properties roughly speaking of optimistic rollups now we can get into arguments about incentives and slashing and bonding and higher requirements but the point is is I know for a fact there's enough people that would do this kind of validation for arbitrum or optimism or all the other uh optimistic rollups out there and they would take rewards and they would take other things and you can basically do this uh for a very low cost in comparison to ZK proving and remembering here that we're only ZK proving the check-ins so the votes we're not ZK proving the entire rollup so it's a lot cheaper to ZK prove and you still get really great finality guarantee while having ethereum security and inheriting the base level security Now um so what are the conclusions from this presentation well what we've shown is that we can actually safely remove now the 7-Day window from optimistic rollups while still being censorship resistant and retaining only an honest minority assumption which is really really wild now if all validators check in and as well the you know you say the finality window is very small um you can also use this for cross rollup interoperability so one of the big pitches of using ZK is that well we know every ZK is going to be valid so effectively if they're all valid then I can aggregate all of this stuff again and then I can communicate between them but once the finality here is solved in the way that it is here all I need to do is look at for all the check-ins on the validator sets and then I can understand well yes everyone's checked in thus the state is valid and thus I can do atomic cross-chain interoperability with optimistic rollups not with ZK which is very fascinating the last thing is we can use these checking mechanisms potentially elsewhere in defi where you have like lending protocols and other things that need to close out certain cdps and other things like that potentially this mechanism is also useful there as well uh the mechanism of transacting without transactions so effectively that's the big idea uh and I am very excited to well carry this idea through we'll repost it on uh eth research soon um thank you for listening uh to my crazy idea uh we'll have the community vetted further we'll see what the situation is but uh but in general um yeah now uh why do we have to wait a week so thank you very much everyone

Automatic transcript — names and jargon may be misspelled.