Zero Knowledge Proofs Made Easy: A Guide for Developers

ETHCC 6 · July 2023 · 17:38

Mikhail Komarov examines barriers to adopting zero-knowledge proofs, especially cost and developer complexity. The speaker discusses proof marketplaces, infrastructure improvements and reducing learning requirements as possible ways to broaden access.

Speakers

Topics

From ETHCC 6, hosted by Ethereum France.

Transcript

[Music] foreign [Music] so let's go forward so what the hell is no Foundation who the hell I am um well my name is Misha coming up from 500 Bill foundation so where the hell no Foundation is it's uh some kind of uh some kind of zika infrastructure some

kind of zika computations infrastructure for whatever was going on around ethereum so it's provable computations it's uh of whatever kind for like whatever GK approval competitions there are ZK Bridges gaming zkml stroll UPS Oracle success and historical ethereum data all kinds of use cases so we are the tool chain for that and uh I don't know maybe you even like heard of some projects which are which were black on top uh yeah so that's like I just listed all those use cases I but that's just all those use cases are just listed uh it's like quite quick it's like quite a shame to have like a ZK prefix to ever

use case of ours but anyway it's uh it's it's it was actually going on for each of you virtual use cases it's uh we have like something some some update regarding what's going on with it uh so that's what it is um yeah so with what are the problems we're solving and what's the well what what are the issues we're solving what are the issues those all of those projects solving right so um in general um well yeah this is like two problems right there's a third problem which is actually like I like much bigger and uh it's probably it's a problem about storing dating processing data in ethereum is expensive in general I mean like at all right so uh we need some

kind of compression we need to be able to compress the data we need to be able to impress the competition we need to be able to um willing to be able to um verify that computational needs of whatever kind basically so for this uh we need ZK proofs for different use cases Bridges like I don't know whatever ml anything anything and these proofs well they have their own problems all right it's like there's a problem with the proof generation there's a problem with uh you know embedding introducing ZK compression to the two theorem applications is kind of expensive as well Troublesome and so that's what we're trying to solve that's

what we're trying to make easier uh yeah basically what we'll learn like over our overall experience is that everything which is at least a little bit valuable is hard to be proven right so we had like a case when uh it's a lot of folks like toilet he was he was Keen to have salon's consensus proof verifiable on ethereum so that would make Salas that would make that would enable ZK bridge in between Solana and ethereum basically so that's quite a nice idea of his and it turned out to be hard to be proven ZK VMS like so many Roll-Ups uh guess what how to be proven how to be built even metallic was

complaining about the fact that a lot of folks have built like ZK VMS with a lot of custom circuits and now nobody knows what's inside and uh I don't know like it was several months ago and he continues to whine about this and that's you know that's like the actual problem it's like once upon a time we're gonna have once upon a time we all are going to lose a lot of money because of this because somebody screwed up with circuits and um well it's just hard to be built another case is like it was a ziki bridge uh like State proof State proofs for ZK Bridges and was like with Mina Fox and uh they wanted ZK Bridge into ethereum obviously so and that was like in the beginning of 2021 so that's as far as I remember that was like as far as I remember that's how ziki

bridges were born it's because of Justin Evan and and us just spent the year trying to do that so and it turned out to be hard to be proven as well it's like we have some stats about uh we have some stats about like progeneration costs improve generation timings about this and uh well it was I know like about five bucks per proof and it's I don't know the the generation time is like a couple of hours so hard to be proven so whatever is hard to be proven uh introduces basically two characteristics timings and costs right so timings and costs guess what it leads us to well commoditization of approving basically commoditizing the proof so what we've

done yes we decided to just make ZK proof a commodity so now you can just you know buy and sell it and whatever people are fighting buying and selling block space people are like fighting over gas tokens like speculating them so well voila well there is also a market perspective for garden ziki proofs apparently out there so that's what we did uh well yeah in general basically what hell is proof markets like we're kind of built up as a decentralized particle like you know not not that's that's cut out the details about it for now uh which coordinates proof producers and applications which need that uh it is uh deployed

um like on ethereum partially at least uh and uh since last week we introduced we specifically introduced the evm and the point for that so now it's composable with evm applications um they can just order proofs for competitions they need right from EDM uh well yeah that's like just the usual stuff I see in front of my eyes like for the last half a year you know it's like people speculating with proofs that's what's going on uh for ethereum applications so what the hell is so so why why the hell there is a market perspective there's why the hell there's a market dynamics to that is because I mean everybody's struggling with proof generation everybody's struggling with proof timings generation everybody's struggling with the complexity of it

everybody's struggling with costs people are introducing like very specific Hardware to to be to to cheapen it and uh it's uh I mean like doing extremely complicated things to cheapen that and that's the actual Market I mean like why not there's a market dynamics around that so I mean that's what we did we just introduced the market dynamics to that and that allowed us to introduce some kind of competitive plays for proof generators and for uh applications to compete for the best uh prejudination Services there are for different applications so that looks like something like you know who generators come in they compete like for whoever provides the best service the person it's like the best proof generator gets the order application gets the proof

uses it for I don't know like for ztml stuff for some ztml stuff or from some ziki version stuff or for some oracles I don't know so that's what it is uh yeah and um it's good that it's good good again Market competitive proof generation yeah that's all good um so what's the what's the what's like what are the problems well the problems is always with like with all marketplaces it has you know like supply and demand right so and if the like supply side is being solved by Hardware fellas by you know like people with large data centers mysterious Chinese fellas which were mining file coin I know like for five years ago or something Supply demand supply problem

is pretty much okay it can be solved right it's obvious how to solve it the demand problem is a different thing uh it it requires the it requires for circuits and for applications on top of it to be built for applications to not like to be built okay screw that for existing applications at least to integrate those circuits to integrate those provable computations they need and for this well celestein fellows need to Define circuits somehow and the finding circuits somehow is uh well there are several ways to do that right there are folks which introduce ZK VMS for that and they allow to use high level languages for the sake of this uh well we went the other way we went uh

before us and for like uh for our fellas it was important to reduce costs to like to introduce gas cost certification gas cost to the minimum possible so to avoid blowing up the verification gas costs and to avoid blowing up the cost of true generation we created the glvm we created a circuit compiler so what the hell is this it's basically lvm or everybody knows what llvm is it's uh basically just a compiler everything we have in our hands like fellas with laptops fellas with phones everything you have on there is compiled via lvm basically so that's like the backbone of everything we do and uh we took it and

we we patched it to make it to make it provable with um different assumptions but anyway we patched it to make it provable we patched it to make it to be able to generate circuits so that allowed us to minimize the circuit size to the to the that allowed us to not like minimize okay minimize the circuit size and to increase the density of a circuit uh to the well like like maximum theoretical maximum possible but we're going towards that all right that allows us to at least introduce the metric for maximizing the circuit density so um yeah basically uh one of the ones like the other thing which is uh notable about this about the compiler is that it

doesn't require you to do custom circuits and custom languages like I don't know circum guys do or something else you can just you know like write some rust or cdb or like today I've just learned that it might make sense to also for us to introduce solidative front-end for that for folks to be able to just you know write solidity code and then just prove it back to eth uh apparently so that's what you can do and um yeah well we are we obviously always brag about no overheads because there is no ZK VMS because it's like we always break the performance we've always back about efficiency um well yeah it's like in case you accidentally have compiled something I don't know it's like imagine you can

like prove or like execute anything written in CPP on ethereum all right obviously have an urge to execute or to prove something really big or something you you would you would have never tried to prove or like do anything before so in case you have done something like this and you like just cannot process the proof generation on your like local setup then it's uh we have it we got it integrated with the proof market so folks which have this Hardware could help you to generate it uh yeah and uh in case in case um it's in case even this is not enough we have recently got together with uh specific semiconductor uh with a specific semiconductor uh provider with uh fabric guys which have designed uh

the hardware to be like vertical agnostic and to be compatible with zklvm so whatever gets so from now on Whatever Gets built with zklvm gets Hardware acceleration out of the box so you will get why would you need it when we go through the use cases we gotta brag about so Bridges bridges are pretty obvious use cases and I talked about I spoke about them a lot like like kind of well the first DK Bridge ever created was ours mean SDK Bridge so I can talk about it I can talk about it like for three hours all right pretty obvious you need consensus proofs or just Bridges order that depending on which uh which between which protocols between which

like Roll-Ups or like different protocols the application has requested the transaction to be passed and uh well that's what it is we have recently also deployed the layer is your Oracle so that means so that means eventually whatever gets through layer 0 will be secured by by consensus proofs and state proofs from a proof market so that means eventually um we hope to achieve that point once uh whatever is going to happen with layer 0 it could be called ZK bridging so that's what it is um so yeah well obviously for this kind of obviously obviously all of these like

consensus proof and state proofs are kind of hard to be proven hard to be generated so it's kind of we found our applications of our stack in there the other thing is ZK oracles what the hell is DK Oracle see here also ZK oracles is basically about you know just providing various data to ethereum I mean you need some data in evm right and you need to provide it in there trustlessly so this can be anything accessing historical ethereum data accessing I don't know like some random data chain link alike stuff or something like this and for the use case of this we for the use case of this we kind of secured ourselves with ourselves and we secured the TV out we secured the emission of state ethereum so basically

now like those trust assumptions got even more secure that's basically that basically removes one of the pieces which where there were at least some trust assumptions within Lido so well now well state ethereum is not going to go anywhere that's like one of the use cases of ours also uh well fellas needed historical ethereum data so we just provided them with it like historical ethereum data with our tool chain next thing Roll-Ups well first of all this is like not direct integration but uh we have listed uh circuits of this particular protocols um this particular product calls other

proof market so validators of these Roll-Ups could just order them in case they don't have a particular Hardware to generate proofs fast enough to win the competition on the roll upside and get some rewards from them so basically we've listed those circuits for the sake of validators to be able to oh get the proofs for Roll-Ups from a proof marketing yeah several more things which are in progress from our side is uh you know fancy Doom guy or I like to I love to brag about them uh but let's start like with the thing which is more uh like you know widespread for now is zkml use cases [Music] um we have upcoming oynx front-end for zklvm so that would allow to basically

train any model uh export it to an oil NX then get this one the next model process it with ZK only I'm generate a circuit for it deployed on ethereum and basically verify whatever prediction this model gave you on ethereum no matter what this model is I mean it's like okay I'm obviously not going to talk about like a hot tub words all right but no matter what this what this model is about might be an awesome linguistic model I don't know like scoring model uh whatever generative art model whatever it doesn't matter so uh that's what's that's what's upcoming and uh another thing is is the thing I like to I love to brag about is ZK gaming it's something nobody really understands what the hell is this about and why this

exists but you know come on it's fun I mean do remember that do remember that 90s Flex when there was something like can you can you play Doom on something all right so so that's what it is can you play Doom on ethereum now yes you can it's a nice Flex so just run you it's also like run the Doom speed run it prove your speed run to ethereum brag about it to your friends I don't know issue an nft of this and we're hoping to get this out like by the end of August so it's like get your doom Speed Run nft that's what it is um well dtml stuff uh well I just I just I basically outlined how the typical dkml application works and this is this

is what it is I mean just schematic uh it's gaming gaming pretty much the same it's like you're playing the game you record your input you get this input to the Circuit you approve it or you deploy it in ethereum you brag about it to your friends right or I don't know you you use the fact that you have killed some mob within the game in I don't know some D5 particle whatever just whatever I don't know like wild use cases okay while stuff is happening on the other side I guess that's what it is uh yeah that's what it is [Applause] yeah we have another talk coming straight away so if you do have

questions please meet outside in the hallway thank you [Music] thank you [Music]