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

Loading player…

Overview of ethereum light clients, light client summit

Ethereum DEV NLSun, Oct 9, 2022, 12:00 AM

A day for builders to explore the state of light clients in the Ethereum ecosystem. Speaker(s): Alex Stokes Hosted at Devconnect Amsterdam, 2022 Visit the website: https://devconnect.org/ Or follow @EFDevconnect on Twitter

Transcript

[Music] uh we'll go ahead and get started thank you all for coming uh this is the first light client summit here at devconnect i believe this is being live streamed right now there's a link at least on our twitter page and i think the telegram too yeah so i'll give a short little overview of kind of why we're here what we're trying to do today and yeah we'll get started uh so yeah first welcome uh there's a group of us we'll call ourselves ethereum like clients and we've been working on this summit uh if this goes well it's something we should probably keep doing a lot of the people here are very interested in this part of the space but sometimes it's hard to prioritize along with everything else going on so uh you know a lot of the point of today was to get us all in one place and talk about different topics research things like that um also yeah why not get together today in amsterdam so yeah i mean the structure of today should be some kind of summit for research and development we'll have a series of talks in the morning starting now there'll be like coffee breaks hopefully it feels like a fairly relaxed schedule shouldn't be too intense or anything um we'll we should have lunch catered sometime around 12 30 and i think we'll have one talk in the afternoon just with scheduling but then after that the point or the idea is to have uh more loosely structured working groups we could break up into like smaller things and hopefully from the talks in the morning you're like oh i want to talk to this person about that or you know brainstorm ideas on how to like move the state of these specs forward or you know this implementation technique uh and we'll have time later in the day to do things like that uh first time i say thanks a lot of people have been helping uh organize all this shout out to phil and terence in particular uh chainsafe the company's been supportive as well um of course all the speakers today and the volunteers thank you for helping with ticketing and stuff and of course the production team uh both you know people at the uf who've been helping with uh devconnect and then also the actual production team here on the ground so yeah what is a light client most of you probably know um and essentially it's you know a blockchain client right so it's the software that runs and like keeps track of the chain but it makes some trade-offs in between essentially security and how many resources it needs to operate so you know when you think of like running a node when people say that they usually mean running a full node um and these you know traditionally would validate the full chain and uh as you probably are all aware that can take a lot of resources um we are looking the past couple days that like for example death is a very common uh phone implementation and you know a freshly synced node is gonna take 500 gigabytes um which is a lot right especially if you want to think about use cases like running a client on your phone you might necessarily have that much storage just lying around right and again the point here is like to get blockchain clients into more places all sorts of environments you can think of phones browsers iot devices right so even like super low powered use cases like this even smart contracts so uh you know this this idea of a like client even goes all the way back to like the bitcoin white paper where they had spv i think it was like simplified payment verification but essentially you could get these like merkle proofs about if your utxo had been spent or not uh obviously this concept has gotten into other parts of the ecosystem for example ethereum right and historically we've had uh the las sub protocol so this is part of the ethereum networking stack and it facilitates this like light like client architecture um it generally has this like client server model i think you'll hear a bit more about it in the next talk the idea is essentially you can sync block headers and then their various commitments to the chain state and these headers right the state route uh receipt routes transaction routes all these things and again you can get these proofs about what happened at a certain block certain point in time and that can be authenticated in this protocol uh you know fast forward a little bit though and so now we have this move to proof of stake with the merge again i'm sure most of you are familiar with this and uh a sort of key design goal here was to design the new consensus protocol we have with proof of stake uh and have it be like client friendly so what that looks like in practice is that we now have validators on this proof of stake network validators are sampled to do different things on the network and one thing we can have them do is sample committees to basically sign over blocks and uh we sample a very small number and this is the number that then is used to produce these like like clients you'll probably hear sync committees throughout the day this is what we mean is a sampling a very small number of the broader validator set who signs over blocks and then like clients then can then sample these signatures from these committees to figure out what they claim the chain the chain is there's a cool thing where basically they rotate and the periods about once a day what this means is as a light client you can basically just like log on once a day get the latest updates and progress without doing much more and the point here is to have like a very efficient sync mechanism uh compared to say downloading like every header or something like this in previous like client designs so you can sync the chain right but then it's just like you have honestly a bunch of hashes and you're like cool what do i do with that um and the point now is to say okay i want to like learn things about the chain and now you say okay i have these commitments i like end up with these like uh these things i have some like crypto economic security around and then i can like request proofs around these things um the cool bit with beacon chain light clients that we're building is that uh they can leverage this ssc scheme that we have simple serialize and it provides serialization and merklization sort of out of the box um and so then you have ways to say okay i want to know about some aspect of the chain at this point in time and there's sort of a streamlined way to do that i believe you'll see a lot more of this later with various demos that you'll see uh yeah there's this concept of multi-proofs so basically rather than say hey i want to know uh you know who is the validator at this point in time you could ask for like mini validators and you could basically merge the request merge back the responses um yeah and efficiently clear the chain so you're like okay maybe this sounds interesting uh and that's cool but like why do we care and i think that's probably why we're all here is that uh i think it's you know i think we'd probably all agree that it's very core to like sort of the ethos for like the full vision here right that like we have more than just full nodes especially if we you know move to a world where full nodes become increasingly expensive to run it makes it harder and harder for end users to run them this is bad because if it's harder fewer people will do it and so you have fewer people actually sort of participate in the network and that makes the network less robust more fragile all these things the point for example with light clients is you now have a way to contribute in your own way and moreover you can say okay i will minimize my reliance on trusted intermediaries right and that gives you more control of your data your assets your whole view the network these things i love this link here if you guys know moxie marlin spike if you like use signal he's the guy who is involved with that and uh he basically had this article in january that was like he's like okay i'm gonna like check out this web 3 thing i'm like going to make some nfts and then he had this like whole article being like yeah this is like uh very silly he was not impressed and uh you know some of his critiques were more just around like ux and things that like i think we can improve some of their more fundamental where it's like okay yeah what i do is i'm trying to like interact with the chain and i go immediately to like to infuriate.com right or io whatever the website is and this is the place where it's like we can improve the state of things like clients where rather than have to like go through again these trusted intermediaries we can essentially interact with the chain on our own terms so if you want to join the discourse you can check that out and there's lots of cool applications right so like i think an exciting bit hopefully that will come out of today is like you'll get a sense of the fact that like uh this is a sort of different point of design space a lot is possible and like what's really cool is i keep hearing about even more applications that people are working on are building and like it just seems like there's just you know this whole whole world of new things that unlocks um some examples would be like mobile wallets right so like you can imagine rather than having to go to if you're something like this uh you have a light client on your phone interacting with the chain there's also things like smart contract bridges so you basically put a like client actually as a smart contract on chain and then you can do things like have trust minimize bridges um and that's a whole different topic but uh it's super cool stuff and another reason we care again is like ecosystem security so uh the the network is more resilient the more people are using it especially in different ways like you not only want many different like you don't want just quantity of nodes but also different types of nodes and you should imagine this like spectrum or like a zoo of different types of participants and actors and they all sort of add an aggregate to like a much more resilient network so what's on the horizon just to give you like uh a very high level overview into like some of the like research areas that i'm aware of perhaps we'll hear more later today um the first one is like how can we harden or improve the like client security model um i've again i think we'll see we'll go into much more detail later but essentially um the like client protocol we have for at least the beacon chain today relies on an honest majority of the sync committee i mentioned and so the question is like okay can we do better than honest majority um there's different ways to think about this you could have like slashing there's like a minimum use of slashing right now you could have like fraud proofs so like if one like client detects something silly they could like gossip this alert to like their peers there's a design space there uh data availability sampling and i'm sure there's more we can think of this next one i called like the gateway problem so essentially [Music] it's something we've seen empirically with lis deployments where you have like clients and especially if they have this client server architecture you need light servers uh historically what we've seen is not many people run light servers on the network and what that means is that if well first off it's just hard to find them so if i run a light client like if i run las it's like it's almost seems like it doesn't work because it's really hard to find people who can give me the data in the first place and then the nodes that do exist they are like overloaded with all the requests right so generally we want to think about how can we change that um and i think again at a high level the solution looks something like more sophisticated networking to essentially move the load rather than have like a client server model you could think of like a gossip more of a peer-to-peer model i think we'll hear more about that later today in some of the talks there's an open question of like incentivization so like this also kind of helps with this like question of load like you could imagine like clients perhaps paying per request per so many requests there again there's a whole whole design space here uh some other things is like okay so like clients can sink the chain but then they want to like interact with the chain and uh i think what we feel comfortable with is like this notion of like okay i want to ask about some chain state at a point in time i can get a proof that authenticates some data that i ask about but then the question is like okay what if i want to do more than just read the chain or what if i want to get some data maybe do like some small computation on it and then like do something with the results right so like for example i want to like i don't know maybe i want to like get like an lp position on you to swap and then like derive some information that helps me change you know my positioning in some something some unit swap pull um so you can imagine actually having like almost like a state channel where like clients then like you know not only are sort of asking for like telling me the answer to like this part of the chain but also say okay uh also run this computation and then we could use things like yeah state channels you know involving fraud proofs and things like this um to have this like authenticated computation game a really cool area zero knowledge proofs uh we actually tried to get someone to like talk about this today but it didn't work out unfortunately but if you're familiar with like cello they have their plumo ultralight client and basically what they do is um so i mentioned a second ago that with the spoof stick like client we have these like groups of validators on these committees and they rotate so uh what you can do at least what what plumo does is instead of needing the like client to sync every rotation they basically just have a snark that goes over i think it's a fixed number but many many many rotations and you end up where rather than sinking even once a day you can sink large amount of history uh you know really really simply and obviously this could like uh apply to the ethereum protocol as well so cool stuff there if you like zero knowledge proof ck snarks things like this i'd encourage you to look further into it and like finally adoption so like obviously we want people to use this stuff like the whole point again is to like put more power into more users hands i think hopefully we all agree or you will by the end of the day that like like clients are away to do that uh one like high level directive i would give all of you today is like think about how can we you know replace infira at least reduce our reliance on them and yeah just to zoom back into today uh you can you'll learn hopefully from the builders in this space there should be like a fun set of talks in the next couple hours there should be some fun demos and yeah learn about the latest research and development in the afternoon we'll have the working groups i mentioned and that should be that yup that's all i have [Music] you

Automatic transcript — names and jargon may be misspelled.