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

Loading player…

Recipes for a Stateless Ethereum | Guillaume Ballet, Geth | ETHTaipei 2024

ETHTaipeiWed, Oct 9, 2024, 12:00 AM

Recipes for a Stateless Ethereum | Guillaume Ballet, Geth | ETHTaipei 2024

Transcript

[Applause] thank you um yeah so we did dankun uh was it last week already or two weeks ago time flies um and now I'm going to talk about stateless ethereum which is uh a key item on the road map and U that is hopefully coming soon um so I'll start I mean like many people have today uh like at this conference uh was reminding you how painful it can be to to run home homes like a solo sticker so sorry Marius uh it's um yeah it's a reality check um to be to be a home scker uh you need to have uh 30 to e of course but you will also never really know how bad your uh your internet connection is before you run your you run your own node um you don't know how bad your electric grid is before you run your own node typically I would uh run my my solo ster everything would be fine I go on holiday or to a conference or anything and that's when there's a power cut um so you need either a smart plug uh well if there's a power cut to be able to cycle your uh uh cycle your your uh your PC or your router because the router also tends to tends to free or a good neighbor a trusty neighbor that uh you give the the keys to your validat validator to I guess um but yeah generally you you need to love devops and you need to do to love devops any time of the day or night so for example last week uh I woke up to do I have uh yeah okay uh I woke up to to this uh Miss slots and I had to I had to fix this um so yeah steaking is hard uh it's uh if you compare it to food if you're a terrible uh cook like me you're still better off going to to the to the uh to the fast food uh fast food restaurant but the question is can we make it easier for for someone to to eat better food and so uh we coming up with a few ingredients to to this to this end uh one of them is veral trees this is uh this is what I'm working on uh there's also distributed validator technology uh proposers Builder separation so marus already covered this but I will I will also cover this a little bit and uh rainbow staking that was also mentioned by vitalic yesterday uh but let's start with veral trees so this is not going to be a very very technical talk uh but yeah there so to give you the tldr of of veral trees what you what veral trees allow for are smaller proofs uh and smaller like the tree is going itself is going to to become smaller as a result um and the idea is that the proof is so small the tree is so small that you can package a stateless view of the tree like a subset of the tree that is small enough that if uh that you can add it to the block and when you receive the block you can unpack this stateless view of the tree and you can it contains all the the information you need to execute the block and uh yes I my finger slipped but basically there's a lot of very uh useful uh uh advantages to this uh it slows down the state growth uh it reduces the the impact of IO which is which is a big performance killer currently on ethereum uh simply because most nodes will not even need to write data to dis everything will will fit in Ram and even uh for those who like the blog builders for example they need to write data to this but there's less data to to uh handle so it's it's an improvement uh in itself um because of that you because you you live daytoday block to block you don't really need to maintain all the history so it will give rise to stateless uh some dedicated stateless clients that only support the latest fork or maybe one fork and the next um and uh and so that will help help client diversity um it will also improve like client uh uh management because yeah you just receive a proof with the block so you don't have to trust anybody to promise to always give you the proof it's attached to the block um because we get rid of the io problem we can maybe I mean I don't want to make this kind of promise at a conference but we could maybe increase the the guest limit and uh yeah more than uh everything else we have a cute elephant mascot so that's um yeah that's that's a done deal really um the another aspect that is quite interesting is going to play nice is distributed validator technology so there are two companies that I I know of there's probably more uh that that are working on this uh one of them is obal and the other one is Diva if I'm not mistaken um the idea is to pull resources so it's uh you can instead of having one validator running uh at your place that you have to maintain wake up at 4:00 a.m. to to uh to to fix when there's a problem you can share your uh you can build a a distributed validator with some kind of middleware and every validator is going to run maybe a different client or at least uh uh help you uh perform uh I'm looking for the word all of a sudden um uh full tolerance so if your connection goes down your partners connection will still be up likely and so uh your validator up time will be will be more uh will be better um so you can also uh Implement uh what I call like line diversity which is something that has been proposed by Peter from gu back in Istanbul um even if you if gu Remains the super majority client at least before they push a block to the network they will be light clients to other uh Els and they can verify that there's agreement on what the block is and if they realize there there they have the minority uh share of um of the block proposed like they disagree on the on what block should be proposed uh they would refrain from doing this so it would solve some of the problems of client diversity um but uh yeah it's still it's still uh I mean it's still in work in progress um and there's also uh so I was talking about pulling machines but you could theoretically and obal has written a few smart contracts to this end uh you could also share uh like pull your East together to to come up to the to pass the 32 East threshold uh but for this to be perfectly secure and decentralized uh we need EIP 7 70002 uh which has been cied for PRI I think it's cied or is it uh right um okay there's also proposer Builder separation so you just saw a talk about uh this topic uh but yeah the idea is that most of the blocks are currently built by very centralized entities uh or at least unknown entities we don't really know what they are and uh there's maybe uh yeah less than 8% of the network that is uh that is doing it the the way it was meant to do to be done um so this is a real unfortunately oops sorry this is a reality we have to deal with it and if you can't beat them join them so maybe there's a way to to use this uh to to at least build a better ethereum um so um the fact is that if uh it's easier to maintain a node if it's uh simpler to to build a validator if more people have access to to the validation role um it will be it will create at least it will improve the balance of power uh and honestly just to counter any bad behavior what you need is one reliable source of block production that you can fall back to it doesn't even need to be performant it doesn't need to be uh perfect uh it can has a have a lot of bugs but it's just about keeping the the potential Bad actors in check and the last uh the last uh big component is Rainbow staking um so the idea is that currently a validator does is expected to do everything uh maybe we can differentiate or create some intermediate roles uh that would be available to uh to people with the or to actors with less uh with less Capital less technical abilities uh which are called light services in this uh in this article by barab Bing um so it it creates a place for for big heavy operators it creates a a place for the little guy um so that's a pretty interesting article I have the the link at the end um right so in his article barnab told me he mostly thinks about censorship resistance as a as a as a test that could be done uh and that's my feeling right not not what the article in itself says that you could extend it to other part of the protocol so you could do uh something that effectively um uh s committees do just uh that that could be a role that uh that could be done by a small a small solo Staker uh maybe serving proof serving history so there's there's a big design space here and then there's all the all the things you could do on top of that so uh use uh history expiry uh real realized that you could also interact with l2s account abstraction portal Network and inclusion lists so I want to give a few uh a few use cases uh they're by by no means exhaustive they're by no mean well defined is just to to give people an impression of what what could be done um so the the the first one is basically the DVT example a mini scking pool you find a group of users you all get together you you pull your e you pull your Technical Resources um and then this way we we can try to to reduce the dependence on the sticking pool because if it's easier to do uh to build your own Uh custom pool why would you go to the to the big actor so the re the question to the sorry the answer to the question I just gave is LST uh you could you you can do reaking you can do liquid staking um but it's um it could be done you could you could create your own token you could create a standard so that when you create such a pool you have a token that is uh that is standard that can be exchanged over uh over the I mean that can be liquid effectively um so the recipe is pretty simple you just get a a standard internet connection you have a low power machine you you have vendors that exist uh dep node etherum on arm I say conbase because I'm sure they'll get into in the business if it if it makes sense um you you don't buy a lot of e you create a contract a DVT contract with people you plug it you forget another use case is the syn server so that's also a pretty broad stroke um description but the idea is we want because we have stateless we are going to forget data and we don't want to forget it to forever we still want to be uh it to be available in some form but it doesn't have to be available on every single node so so it makes sense that some nodes could be holding the history and serving it upon request um this is not necessarily uh connected to Rainbow staking it doesn't have to be subsidized by the protocol or at least paid for by the protocol it can be be paid for by a fee but um yeah we we already have some aspects of this that are paid for by the protocol with sync committees it tells you where the head of the chain is which is some important part of the sync you could imagine doing the same thing with the rest of the thing like serving State giving proofs things like this um the main case I was describing of rainbow taking at least has it been described to me by barnab was sensorship resistance so you could have um light nodes that are in charge of creating inclusion lists assuming those inclusion lists are are mandatory so that would be the the stick part in in marius's presentation um and the the heavy sters so the what we currently think of a validator we would be expected to include them um so this would be a small capital investment uh low SL slashing risk but also a low reward obviously but still interesting um and I think this is the last the last use case is the L2 cross links um currently because veral offers smaller proofs uh currently you kind of have to go if you want to uh use resource from one L2 on another one you you have to uh go through the sorry from one L2 to another L2 you have to go through the L1 to to transfer those there are some companies I'm aware of one called lrange that uh that try to to uh create cross links between every L2 so skip skip L1 um this I mean the use case is an ens you want to prove on one L2 that you have register an ens on a different L2 um because you have smaller proofs uh you could you could do this and you could get some nodes that uh offer an RPC end point uh where you would say prove that I have this ens on this uh on this L2 and uh make me appr proof that is valid on this other L2 uh so this way that that could be uh that could be achieved and I think it would improve the usability so these are just basic example it's a really uh very handwavy um but where I'm getting at is uh to build to build this future uh um we need we need people people like you um there's there's a veral test net that's already available so it's got most of the most of the features um so yeah basically come and uh come and play and uh and build and build a better better ethereum um so that's pretty much it for my talk I uh left some links so the veral tree uh as well as the the veral tree information page as well as the test net the test net um some uh some docu sorry some papers from from Mike and barnab on on PBS and then the famous rainbow staking uh U article by barnab and yeah that's it thank you we do um we do have a little extra time if you want to take questions yeah if anyone has any questions um feel free to ask don't you can put your hands up we've got a question over here thank you thank you for the presentation um so you run your own noes do you make your transactions go through your own node as well um no I I mean I I haven't felt the the need but uh yeah it would be okay I assume that was personal a personal question um in theory uh yeah I could I could it's not a problem um but no I don't uh is there a followup no it was connected to the previous talk to avoid me Bots and and things like that and to but but that's more connected to the one before so that's that's what I was asking well this being said I don't run me boosts okay anymore I swear I stop thank you thank you for the question does anyone have another question if not our next panel we'll start at oh sorry I didn't see we've got one over there right um so how to make sure signal correctly store the data um sorry uh because you just mentioned that syn node when you want to do the stateless client yeah and then uh like someone some node have to store all the data right all the historical data right and they are called signal and I want to how to make sure signal store correctly the data oh uh well you you would be given a proof that um well okay the the data uh you want the latest data right so the because the block the latest block still has all the state you can prove that even though your data was last accessed a long time ago it's still um it's still present in that cryptographic uh commitment that um that it's uh yeah it's still present in the state that is rep that is committed to by this cryptographic commitment and so when you are given a proof you are given a proof of against the latest block or at least a recent block so when you when you are being served the data you can immediately check if the data is not only correct but current is it a commitment or is it like a ZK proof uh both in theory but currently it's a commitment it's a what we call a polinomial commitment or vector commitment more exactly um so yeah it's just it is a commitment that you that is uh that represents the whole tree that is stored in the in the block itself and um and then you open this commitment you prove that your value is indeed inside this big polinomial right thank you yeah was there one more over there or if not um thank you very much for your talk our next panel will start at 11: um so we'll just we'll start preparing for that um see you guys in in 10 minutes yeah thank you [Applause]

Automatic transcript — names and jargon may be misspelled.