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

Loading player…

"Rollups with Fuel Labs" - Nick Dodson

ETHGlobalSat, Oct 9, 2021, 12:00 AM

Nick Dodson of Fuel Labs discuss rollups and their utility to sustainably scale Ethereum.

Transcript

off the talk welcome Nick awesome can you guys hear me and see me loud and clear you're ready to share all right then I'll share my screen okay and this goes to full screen is this full screen or is this am I in semi full screen it's not a full screen yet but um if you uh if you do that we I'll just give you a i can get this to full screen okay uh you want to do is uh present instead of a full screen ah okay okay on the top right okay let's see here the button on the top right there we go yes awesome all right uh so my name is Nick and I am uh presenting for the fuel team and uh we're doing optimistic rollup scaling and I'll get into it because it seems like got a half hour so let's do it uh so yeah uh today we're just going to be going through our fuel optimistic rollup sort of what what it brings to the table um what uh utxo models can do in terms of scaling and throughput uh and and sort of our take and approach on where scaling is headed and where we think we can add value to the ecosystem in the space um so just to to Dive Right In so fuel is a permissionless trustless layer 2 protocol for ethereum uh for lowc cost high throughput value transfer and exchange um and uh our main uh uh technique that we use is highly optimized optimistic rollup design um and our Focus which takes top priority over everything is parallelism so our designs feature uh sort of a uh an approach where instead of Designing for specifically the language down we're designing for where we can get throughput up um and uh you know we think we can offer a lot of uh interesting benefits uh with minimal trade-offs using this technique and so far we've uh you know we've been doing pretty well uh so before we get into too many details we have one announcement we'd like to make from uh fuel team which is that currently with some of our most recent tests uh and thanks to the Hubble project and Barry White Hat uh we were able to get um 4,300 CPS for transfers and swaps uh so we think this is a significant uh increase and um it's definitely you know putting us at a uh at a high throughput advantage over a lot of different designs um and uh and the main thing to bring home here is that it scales on consumer Hardware so uh we even think we might be able to uh validate blocks uh even on mobile phones uh validating these large 4300 TPS blocks uh this is obviously um more fun than it is realistic but it's something to to be said and uh just given the way that our validation computation Works um so to get into what fuel can do because we I think there's going to be more presentations on optimistic rollups and more presentations on Layer Two and the trade-offs so we just thought we'd focus on um what fuel brings to the table and what it can do um so our current uh design features uh Native color coins so we treat uh eth ERC 20s and nfts as sort of first class citizens within the layer 2 itself um and uh this also falls into approach that we think layer one is still base settlement layer for all of these assets and base settlement for uh protocol design um but we think layer 2 is a good option to scale these assets and so our focus is to to bring you know uh a lot of throughput in scale to these assets and and provide a service that uh that can get you the most efficient scale um the second thing uh that that we'd like to focus on is multi-user transactions or partially signed transactions so with fuel we we allow for a trustless uh exchange between two or many parties within a single transaction um and you can think of this as offering a way to do non-custodial order book exchange or even other models that don't even feature an order book so it allows for a lot of offchain uh settlement and a lot of offchain uh um exchange that you know you wouldn't normally get if your transactions don't allow for multi-users and multi- tokens um so this is one really interesting aspect of using multi-token utxo model um so the next thing that we'd like to go over is uh a focus on the opper turn uh so like uh some protocols like Bitcoin we have an open opturn for data um and this allows for sort of arbitrary data blobs and uh and not only arbitrary in the sense that you can put any data there but also arbitrary in the sense that they can be accessed or validated through our optimistic rollup contract and deployment of ethereum uh which also means you can build other logic and realities around data posted on fuel um so one application you could imagine being used for arbitrary data is something like decentralized Twitter uh where you're getting a sort of signed payload uh you know around uh around data and then that's going onto a uh well eventually into an ethereum block somewhere and uh and what fuel's doing is sort of organizing publishing and making the process smooth and efficient to you know to produce this data so you could imagine a decentralized Twitter you could imagine decentralized social networking or just anywhere you're officiating data uh using uh you know ethereum and using um you know our particular technique um so this is one really cool uh sort of aspect of what we can get done with with fuel right now um the second thing which we think is incredibly important both to the the layer 2 ecosystem and to ethereum more broadly is Hash time lock contracts um so ethereum has actually been able to to do these since um you know since mainnet uh was launched and hash time lock contracts are a very simple mechanism uh to allow for cross-chain Atomic swaps uh to allow for uh immediate withdrawals out of um different D5 protocols or different um different layer tws uh and they allow for migrations as well so they're a great tool for migrating from one version to another of say your own rup um so to talk about this a little more you know the hash time lock design is quite simple it just allows for parties on both sides of a blockchain reality so say one party on layer one and one party on Layer Two to be able to exchange in a way that allows the party on say Layer Two to easily exit to layer one um and you're doing that with just a hash and release function so it's very simple very simple contracts it can be made relatively efficient and uh allows for bridging of these different protocols you could also Imagine bridging different layer ones so going between um you know say ethereum and going between Avalanche or going between ethereum and going between xdi hash time locks provide a really great way to do this and you can also Imagine going between different optimistic rollups so going between say Fuel and optimism or optimism and arbit them or arbit them and fuel so hash time lock contracts give us a lot of utility and they allow us to sort of jump chains uh where liquidity is available so we support those natively and we support them uh across every token that we have um so the next thing that fuel has a pretty big focus on is mass token air drops so fuel supports pre-sign transaction chains um and this allows us to actually form an interesting pattern using our eight input in eight output uh transaction formats so essentially you can start with a single input in say a deposit or a large um you know amount of liquidity from a single input or deposit and then effectively we can use that single deposit in a transaction chain um and sort of meriz that or it's like a Merkel tree and pre-sign uh trees for dispersal um such that you know users in the hundreds of thousands could be dispersed a transaction and uh and you would only need to pay for the transactions that are getting picked up so this allows for a unique pattern of dispersal and pickup uh for Mass token air drops so we saw something similar with the Unis swap airdrop which was really awesome um and this is sort of an extrapolation on that and um you know a more unique or efficient way to to do a similar thing um and per pickup you can imagine with a Merkel tree of several depths um a single pickup might cost three or four transactions but in the end everyone gets disperse their tokens and it's all relatively uh efficient um we've proved this out in our benchmarks which are available in our docs so you can you can check that out there um so going on to our next thing so pre-sign transaction chains once again um we also allow for an interesting pattern uh where pre-signed transaction chains can be used to do things like digital uh subscriptions and so effectively you can assign say 12 months of uh worth of transactions ahead of time using a single output and then only under certain pretenses or under certain circumstances um those transactions can be uh triggered uh on chain and then dispersed to uh whoever you're subscribing to uh so this use case was referred to the Reddit Challenge and it was also something you know we were able to uh to achieve quite easily with um pre-signed transactions um and so this is just another use case for having this kind of um this kind of uh Tech inside of our rollup uh as well one other uh interesting aspect to um having an eight input in a output transaction format uh is that with um if you want to approach something like a privacy mixer you can do all sorts of interesting mixing patterns and we already have a project that's researching and experimenting on this um largely because as well uh Bitcoin is just so damn limited uh that in order to experiment with the utxo model we sort of the next best thing for them um and so uh you know you can imagine scenarios where you want some level of privacy and obviously you're not going to guarantee full privacy you're not going to guarantee um you know something like a like a bulletproof kind of level privacy what you will guarantee is that you know you're making it much more difficult for say your friends or local businesses or other things around you to be able to see uh you know into your transaction history easily and I think this is um you know one great aspect of having this as your base transaction layer uh is that you can kind of get uh this sort of activity uh done so in terms of um our timeline uh and how much time do I have left do have 15 minutes left uh yes you do okay okay just uh check in on that um so in terms of our timeline right now for fuel and uh you know our optimistic role of releases right now we're targeting mid Q4 for a version one main net launch um and that includes all of the uh pre-signed transaction Tech um some really nice deposit and withdrawal Tech as well um lots of all the different features you saw today um and and basically we'll give um you know it'll open up the field a little bit for our type of execution model um and uh and sort of uh yeah add add more to the uh to the rooll of space so that's our current mainnet launch and it sits around 500 TPS in terms of throughput um which is still pretty good considering you're not using any new key formats um so it's just vanilla ethereum Keys um and it really uh it allow people to to get a taste of you know what fuel is about and why we're taking the approach we're taking um so that's our our current main net uh launch timeline is is around mid Q4 so it's coming up um our next uh major uh major drop will be the end of Q4 so this will feature our version 1.5 test net um so this is where we'll be able to really turn up the heat and kind of achieve uh our highest throughput that that we can think of right now which is 43 300 TPS um and so you'll see sort of our compressed transaction formats um the use of BLS um and once again like you know thanks to the the Hubble team and Barry for uh all the work they've been doing on BLS it's been fantastic and um you know I think we're looking to make sure we have some kind of Standards around that key format so that uh every optimistic rollup can benefit from the same kind of key format um and we can kind of get rid of those signatures um so that's going to be our end of Q4 and then um q1 2021 we'll have our specification lined up for um our virtual machine uh which I'll talk about in a second and then um and then lastly uh a test net for our version 2.0 release um so that'll feature uh hopefully we can hit all our targets um a new virtual machine specification for fuel um which should provide some nice abstractions over all the things we want to get done in the optimistic rollup context as well uh it'll also feature you know how we get it done uh in parallel with mass throughput um and in a sustainable way so hopefully we'll get to that test that release so long as we hit all our targets and don't have any huge major setbacks um so just a a small uh word on our version two um So currently our version 2.0 is focused on utxo based style smart contracts so um we're still finalizing our specification for a virtual machine here um but effectively it'll provide one of if not the most performance options um for doing parallel transaction verification um and particularly without Global state so uh We've constantly made an effort to avoid Global State um and Global State serialization and so this really gives us um you know a lot of opportunities for um you know really efficient really performant uh design patterns uh and you can look at John's uh work on strict access lists uh and utxo uh smart contracts it's the link below there if you want to read more about what we're what we're doing there um you know we really think given that the space has a lot of uh or will have a lot of evm oriented and account oriented options uh for people to uh you know attempt to scale their work and their their efforts um still using eum as as a base officiation layer that utxo based uh um utxo based transactions will provide you know a huge throughput benefit and and hopefully we'll be able to to Really demonstrate that with a full virtual machine basically without losing pretty much most of everything that every everyone loves about the evm and about ethereum but with also providing uh you know all the benefits of parallelism you know with minor tradeoffs so um just to talk about uh you know where to find us so our Twitter is uh F labore website fuel. GitHub and a Discord link there um so yeah we uh we purposefully left I think quite a bit of uh time for some questions and and to go back and forth I think we're we're pretty curious to see if uh you know what people want to ask in terms of questions and how we're doing things um and uh yeah we we can probably start that thanks Nick um awesome I think from our side given the the slight delay in the Stream being looked at our audience right we have uh delay coming in with a question so I'll urge all of our audience to uh send questions um as we are kind of talking um in the meantime I think what would be super helpful for us is that all kind started on just kind of comparing fuel to the other um rollup approaches kind of how do you think about uh what the trade-offs are and sort of what's good or bad about the the tradeoffs for each of the other Solutions out there and then we can just do that until we get more questions in yeah for sure so um you know from the beginning we uh decided to go the route of the optimistic Roll-Ups um you know our expertise is is more around uh fraud proofs and optimistic rollup design uh that's thanks to John's efforts on the team um and so that's the the first thing is you know we're an optimistic rollup not a a ZK rollup um I'd say the main thing we think about there is that um we like the properties of the fraud proofs and the onee delays uh and we like those trade-offs over um CK related trade-offs um and we think we can really achieve you know high throughput and block production um you know without really losing much uh for security and for um user experience and so um you know and thanks to the efforts of Barry and you know the foundation we get to you know benefit from aggregate signatures and aggregate signatures allow us to get rid of that Troublesome signature data which really is where you're going to get the maximum amount of savings um so for us yeah I think we're you know our main focus versus the ZK rollups is is that we focus on aggregate signatures and we don't mind the trade-offs of um fraud proes uh we do think they're as or more secure uh in that sense um and once again you can do block creation validation on easy consumer Hardware so it's really really accessible in democratized and then in comparison just to quickly touch on it from the other optimistic rollups I'd say our main focus is that um you know the other rollups right now are focused on servicing what ethereum currently is and I think that's awesome and we we need that kind of work um but for us we're taking sort of a different approach where um we think we can add a lot of benefit by showing people sort of another generation of what's possible and potentially trying to approach the problem from bottom up so approaching it from parallelism up versus you know um code and compiler down uh to to what's possible so that's that's more or less I think the differentiating factor for us um and uh you know it's kind of a it's a different kind of work and it's a different kind of approach but once again we're really happy with the way the ecosystems developing and and uh you know we're super excited for all the launches coming up I think the Space is really developing and we'll have lots of options awesome um so a couple more questions that have come in so I'll kind of just start asking them until we're at time next question is what other features besides uh TPS are are most important when designing a r service and and sort of what other things should should we be excited about so I think when designing these rollups I think you want to really focus on your use case and what we need from the user perspective down so you know if the user needs cheap transactions and they need to be non-custodial and you know they whatever the user needs we should aim to provide them with and I think you know we have a lot in the ecosystem uh especially if you think about stable coin access that we have um to me stable coins and lending Protocols are still uh the hugest value added we have in the space and I I love all the fruit coins and everything it's great but if we can really scale and provide a lot of throughput and exchangeability in various formats for users particularly of those stable coins I think that's like one of the greatest benefits we can add to the world um so for me I would just say with rollups you should design them around specific use cases and try to Target them specifically to what users need um and and and it's that simple and if we're if we're making making that process better than we're doing our jobs yeah no it's great um I think this kind of Sparks another question and really fits nicely into it is if you're imagining a a world where there are use case specific role of services um how do you going to think about Solutions um that help you do cross L to transfers and kind of anywhere from Frameworks to best practices or I should want think about that how do you imagine that world ping out yeah yeah so I think um I think that's going to be one of if not the most important questions uh over the next year or two is what the hell is going to happen with liquidity and where is it going to go uh and what is it going to do um so I think we should look at ethereum lir one as still base settlement layer for issuing assets and for creating your protocols I still think it gives you the maximum amount of options but in terms of having liquidity on different systems I think we should be open to once again you know really available hash time lock contract swap systems between these different systems so that we're not too locked into anything this goes for being locked into not only different rollups being locked into different versions so we will need easy ways to Transit between um different layer tws and layer ones um and so you know htlcs provide basically all we need and I think even State channels might even give us um uh even another level of of speed there if if we can do it right so I think hash time lock contracts are um just a they're they're a way to free us uh from these liquidity questions and we can just get on with experimenting with you know where development's going to go across the different layer twos and layer ones um because right now it's so early that if we lock up a lot of liquidity on anything I I I it'll either want to get off or it'll have to get off eventually so I think we'll just touch and go and we'll see what you know things like hash time lock contracts can bring to the table yeah got it and uh we have another one and uh if feel like if you don't have enough context I'll ask uh Samuel to uh expand but if you do I think it'll be great for the audience to get some context too and the question is what do you make of the capital efficiency argument that was put forth by starware and kind of what do you think about that and and for the audience like if you can also just tell us what that argument is five starware before answering that that'll be great as well yeah I I have to say I just ly skimmed that uh so I don't I don't know if I have a a huge depth yet um I just saw that today I'm currently off Twitter so um no worries getting off the the hype uh you don't have to directly answer that we'll follow up with a different question there and the question is how does delayed finality affect composability and how long would it take for fuel or any other layer to to kind of help solve this right so so not to drag again and I seem to keep talking about htlc unfortunately um but yeah with the optimistic rollups the trade-off is that you can do smart contracts you can aggregate the signatures and you can get all the throughput you want you can do it whatever way you want and you can spec you can do that on consumer Hardware generally and without needing ZK proofs in any way so you get a lot of benefits the trade-off is is that there's a week time delay to remove your assets if you don't have regular uh access to htlc liquidity but the thing is to exit These Chains if just you just need any party on ethereum or any party on any other layer one to be sitting with some liquidity and running a liquidity provider which they'll make fees for and that will be able to um you know basically solve that issue uh in my opinion I think it sort of optimistically solves it um but it's a fantastic solve and it sort of gets the job done from what we can see and we'll just have to see how it plays out yeah awesome well nick uh thank you so much for uh your amazing talk and answering all of our questions if you uh I'm sure there's a lot more questions

Automatic transcript — names and jargon may be misspelled.