Chiquito and the Infinite Garden

EDCON 2023 · 21 May 2023 · 9:11

Leo Lara, a zero-knowledge research engineer at the Ethereum Foundation, introduces Chiquito as a higher-level abstraction for building proof circuits. He contrasts general-purpose execution approaches with better circuit development tools and explains why reaching ordinary programmers matters for expanding zero-knowledge applications.

Speakers

Topics

From EDCON 2023, hosted by EDCON.

Transcript

hello um I'm Leo Lara um I'm going to work I want to talk here about Chiquito that is uploaded uh we started building very recently just in March and uh well in February really and yeah that's uh this is a bit about me I mean after this amazing introduction I got I don't know we should talk more about yeah I've been in software engineering for 20 years I had many lives in software engineering embedded software distributed systems a startup founder and now I'm really loving to work in in ethereum and and in ckp and I'm currently working on the ckvm for the ethereum foundation

and and all come from that no I I'm kind of new to the space as a software engineer now I come to a space that is like cgp is a very like currently is still like a small bubble and I see like this is kind of the dynamic like there is like currently very bleeding age research being done in academics and some really genius programmer kind of uh great proof systems from that and there are like some even more genius people that are kind of from the proof system being able uh that are very raw uh being able to kind of build a ckp circuits and kind of the the average program my team everyone is super smart but for idiots

like me the average programmer we kind of uh are losing there you know like there is not like a bridge to work on that and this bridge is kind of like what I believe is going to help us to get like to the infinite Garden of ckp that is like we cannot imagine uh still kind of all the implications and all the doors that ckp is going to to open but to get to the infinite Garden we kind of have to reach to the to the to have the average programmer and how do we do this there is kind of two approaches no there is this approach uh about creating generalistic ckvm of kind of already known architectures kind of like I think in this style like the most uh known project perhaps risk zero no that is like Risk five kind of

processor with cgp so you can compile your program to risk five and then you kind of create like zero knowledge proofs of that program and this kind of creating better tools to directly create uh ckp um circuits and applications um so I'm going to talk about the second approach I think both I have to go exist because also for the first approach we are going to need this the the second approach and the do we will build in more and more complicated and more advanced uh uh zero knowledge things as it become possible of the performance of zero knowledge Advance more applications will become possible and and we will

need to go to the to the bleeding edge with this this uh applications and for that's a kind of proposing kind of like we need to provide the developers kind of a tool chain uh for the average developer to build uh zero knowledge programs um so uh from from my work on the ckvm like ckvm is is for the the ethereum foundation ckvms being built on a proof system called hello tool but as I say like that's like very raw for a program this size like cdvm is is one probably one of the biggest ckp circuits being built currently uh it's impossible to to to right away just

on top of of The Proven system build this this so huge circuits so when I arrived to the team I saw that it was like this treasure trough of abstractions that has been built at the hawk to be able to build what we want to build no there is this thing that they say like in the in the toilets of Berkeley someone wrote a rather greater program to write a program than write a program no so it's when you get to this level of complexity it's inevitable that you need to build this this these abstractions and what we are doing with sorry what we are doing chigito is kind of uh taking all this extraction and put it in a nice package so the average

developer can use it no so we already have like kind of a working prototype that actually can work on the ckvm it's the backend is hello too and and kind of the the front end is in in Rust no and can coordinate with other hello to uh circuits so I want to show here some some examples are there you can see um this is one uh one of the rules of in the in the Sikh evm among like like more than 6 000 rules okay and if you see at the top if you try to this just one rule try to write it in in pure Hollow 2 that's kind of like the code that you

get no and then with the tools that are already we we have built for building the city VM is is kind of the code that you can see here at the bottom I hope I'm not yeah so this is the code that you can see at the bottom is kind of like already with the abstraction we have is much more readable it's much less uh yeah confusing you know and now with Chiquito that we have built it's just like result in this few lines of code and it's it's just much better and it's going to enable to to the average parameter to use the tools that we are using for building the sick AVM so it has been architecture in different

phases the DSL and Abstract system tree and a compiler that compiles to immediate representation and then gets translated to hello to and this kind of enables us to do really really interesting stuff like kind of being able to add a python front-end so there are some people working on a python Frontier in Chiquito so you will be able to create this ckp uh programs in in Python and also we will be able to use different improving systems and we will be able to kind of connect this elements with debuggers optimizers profilers and the way kind of create like a real tool chain where like

a really real tool chain that is very powerful that that enables parameter to create like more bigger and bigger and more complex CK applications so yeah all these things that we can see uh here like the the red ability is really improved how it can like teaching ckb um it has been improved by Chiquito alternatively like we can see an example for example in in Chiang Mai recently we have this Hacker House with uh from antalfa hi guys now they are doing a hacker house here in in Montenegro and like people students that they weren't too new to ckp they could start building

like hash if proving hash functions in ckp with Chiquito like right away so this kind of enable enables us to get to the to the real infinite gardening on cgp like where ckp is not like this small bubble but actually uh there are like a whole industry with many many developers creating public good open source software so com sorry comparing with other kind of ckp languages we have been doing some research and and this uh we see that this is kind of like the most high level uh ckp language that exists nowadays not

like the the if you compare like kind of like these are more like like C these other Noir silicon are more like C and this is more like python it's going to be much easier to use all these high level abstractions for the for the average parameters so this kind of like division the General Vision of all this project is kind of like perhaps like Pi torch for ckp AI is exploding right now and one of the reasons like a few years ago they started to appear these these tools like pie torch that enable kind of much easier access for developers to start building AI tools and AI Technologies um thank you for your

for your attention and if you are interested in the project please join this telegram group and we will be doing some session here in in podgorica in the in the next day on the other day okay thank you very much [Applause]