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

Loading player…

zkEVM #01 - Devconnect AMS'22

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

A small, focused research gathering on pushing forward the state of ZK-EVM. Hosted at Devconnect Amsterdam, 2022 Visit the website: https://devconnect.org/ Or follow @EFDevconnect on Twitter

Transcript

[Music] thanks for coming everybody uh so today the plan is to do like this kind of like workshop about the sega vm we all know a lot about the ckavm we've been working on it for for for like years and like the idea today is to have like less presentations and more like talking and we want to put some structure around the talking but but but we don't want to stop people from exploring so the idea is that in the morning we're going to talk about our various different efforts we're going to have three presentations the zkvm community effort the hermes polygon effort and the consensus effort but we're and then we're going to break out into into like separate groups where you can like ask questions interrogate other people about their approach and like the idea here is to just have some time to sort of dig in into what other people are doing uh we're also open for other people to have these kind of breakout groups if you want to participate in such a breakout group you can just add your group to to this to this list so i was thinking in the morning we would focus on like just actual implementations and in the afternoon we were gonna dig in to more like specific primitives that we share and use cool okay so the first thing that the next thing that i need to do is is do the presentation but if anyone wants to edit these slides um or edit this uh document to put your working group feel free and at the end of the presentations i'll come back and we'll just go through the list and someone can can volunteer as the like the point person for that kind of working group cool okay okay that's so weird okay that's right what's that how do i do full screen slideshow oh okay ah thank you okay okay so so uh the this is this is our approach to zkvm uh we've it's very similar to other approaches and i think that this presentation is short because you all probably know a lot of of what we're doing i just want to give a like brief introduction and then other people can do theirs and then we can sort of dig a little bit deeper cool okay so so like it's a it's a team effort with with like a community of different people there's some people from the ethereum foundation working on this there's some people from scroll tech there's some people from loopring there's some people from from like other independent groups and other organizations that are participating that weren't able to make it here today uh we're happy to have more people involved we're we're happy to collaborate more with other people doing other implementations and like maybe that's one of the things that can come out of today's of today's meeting uh deeper descriptions and information is in the docs here um that you can you can see uh like our goal is to make uh 100 evm compatible uh zk roll up slash zk evm and i like we actually have two goals like zk roll up is one and the other one is we want to make a proof of validity for all of ethereum's history and the goal is that like this will help us with like clients this will help us with like with like uh finality with like subs people querying data like it would be really cool if we could have like a sub stack like when you go to the graph you get a zkp in response that says hey this is all the correct data and like we can do this with mpts and like proofs of mppts but that's a little bit less interesting because most of the stuff that you do on the graph is like check view functions and you actually need some execution in order to in order to calculate the correct thing to return that's one thing and like the other kind of big goal and like we're not sure if we're gonna do this or not but like one thing that we would consider doing is maybe moving the evm into like outside of the kind of core piece of execution infrastructure and have it more as like a a separate thing that's used for that that's that like uses the data availability of ethereum and is like less part of the core ethereum but it's more like a just like another l2 although this this this wouldn't be like an l2 that would compete with the l2s that you all are making this would be an l2 that's like very very limited it would it would maintain the same kind of gas block limits and state read write limits that we have today which are super conservative and the place to innovate would be like the stuff that you all are doing cool uh yeah so because we want to be 100 compatible this means that we do a lot of difficult stuff we do like the merca patricia tree and we're going to have a presentation for me about that later we also do create two we do catch up we do all of the difficult things that the dvm is doing cool we take like a modular approach so so like some of the some of the groups that were that are part of the zika evm community effort are working on like using a different tree instead of mpt or using a different hash function for storage and like our approach is that we we kind of break these pieces out so that you're able to switch them in and replace them so right now we're working on like just implementing a basic version and then from there we're going to consider like what is the thing that we need to optimize for there's a whole bunch of different things that we need to consider and like it's unclear exactly what we're going to want to do we want to optimize for for the gas cost and layer one do we want to optimize for the prover time do we want to optimize for implementation implementation complexity uh simplicity uh and there's a whole bunch of different things and like i feel like once we get to the point where we have like proverbs running and things we'll get a better sense of like do we really care about spending x amount on aws every week as opposed to like having a super complicated circuit that's hard to audit or having higher layer one gas costs cool so i'm gonna i'm gonna finish up really quickly now because i think it's close to the end um of my time so the we have a bunch of different uh different components and like the evm circuit states are good by code circuit tx circuit and like all of these different components kind of talk to each other oh sorry so so like why do we break them into the simple components and the reason for that is that it's like if we're when we break things into simpler components it's easier for us to to like separate it's easy for us to reorder operations like if we order operations in the evm proof by the program counter it's easier to do some stuff but if we order things in the state circuit by like the index of memory that's being read or written to read from or written to it's easier to do the state circuit so so like when we do that and kind of separate concerns things things get easier it's also yeah it's also we can make it a little bit more efficient so this how do the things talk to each other we have all of these lookup tables where like you look you you basically in the evm circuit you can look into the state circuit and then state circuit you can look into the catch x circuit and we end up having this like connection of all the different components uh and and this is how they sort of talk to each other in order to make the full proof also in the evm circuit we have this kind of uh um finite state machine that we use to like process tx's and like we just need to know what state we're in so that we're able to like continue the execution cool that's it [Music] you

Automatic transcript — names and jargon may be misspelled.