Client-side proving and the future of World - dcbuilder.eth
EthPrague 2025 · May 2025 · 24:14
dcbuilder.eth argues that client-side proving, where proofs are generated on the user's own device, is a prerequisite for privacy. At EthPrague 2025 the talk walks through World's new client-side proving efforts and how they are shaping the project's identity roadmap in the immediate to mid term.
Speakers
Topics
From EthPrague 2025, hosted by ETHPrague.
Transcript
[Music] Thank you. And no one better to introduce me. We had an interview three years ago. How long we've come. It's my fourth ETH Prague. God damn. Anyway, so uh I am DC Builder or Dominic. I'm a research engineer. Um I'm Czech as well. I'm a research engineer at the World Foundation. Um, and today I'm going to be talking about client side proving, sort of what it means, introducing it to the project and contextualizing it, like framing it so that you understand what it means and what it unlocks and some of the things we've been working on lately.
So before we dive in into client side proving, uh, I also want to give you like a brief summary and recap what world world is all about and why we care about this in the first place. So world you may know like some of the things we have world app um, is sort of the main hub for it. You can download this app across iOS and Android. You can use it to create proofs of personhood and you can also um um like interact with all of our products there. U be that world ID or our wallet which is based on a safe smart account. Uh we have world ID which is the anonymous proof of personhood. Uh if you've seen the booth right out of out of the stage you have orbs. You can get your world ID or verified and then you can use your world ID through the
world app to create proofs that I'm a unique human. And you care about that because in the age of AI when you have like models generative models like from Google V3 you can generate images or videos or you can create text from like chat GPT etc. It's really hard to tell apart like what is generated by a human or not and so we're building a lot of toolings uh for creating like proofs of personhood and identity in the age of AI world chain isn't just an opt scalability solution for uh all of our products. So since we have 27 million plus users, all the transactions happen on WorldChain and Worldcoin is the token that we've used for incentives to sort of bootstrap the network. So we've gotten to where we are with all the users that we have around the world by
giving everyone a fair share of the network and we'll we'll keep doing that in perpetuity. So this is the orb uh at least the new version. The orbs you see outside are the sort of earlier versions of the orb from 3 two years ago. This is what it's made out of. If you have any questions, I'm happy to answer them post post talk. I just want to get to the client side proving part. So this is sort of what the app looks like. You can you can schedule to get verified. You can use the wallet uh do on-ramps, offramps, use tokens. Uh this is the identity um uh page where you can create currently you can create proofs of personhood and also proofs in um that you own a select um you own a passport in select countries that we're like beta testing at the moment. And just this
general theme that we want to like create is just that you can create a proof about an arbitrary part of your identity as long as there is some root of trust or some source for that information. So if you have like a passport, you can create a proof that you own a unique passport because that passport has a certificate authority chain of like signatures from the government to the issuing authority to like the end passport and you can verify all that information and create proofs in this case like zero knowledge proofs of the information that is stored there. This is mini apps um like allows you to build applications on top of world app distribute to our users and so in general like we had the talk from from or the talk between Joseph and and Tomish like the thing that I truly
believe is that um there's a lot of great projects like giving go to market to Ethereum and our values and technologies and so what what I personally believe is that world is real world Ethereum you actually give people the ability to interact with our technologies at scale and you distrib ute that technology to hundreds of millions and billions of users and you sort of expand the Ethereum community, its values, its technologies and actually give it to the hands of users. So some of the uh data points I update the slides like an hour ago. So we have about 12.6 million humans that are verified by the orb. Uh 27 million plus downloads across iOS and Android.
About 1.7 million daily transactions on WorldChain as a 7-day daily uh average. um and over 545 million WD that we've distributed to over 11 million plus users. Uh some data points uh some websites I can probably skip through this you can ask me uh later about statistics if you want. Um if you have any questions about like uh how it works and you want to learn more the white paper is a great resource. Uh also we have blogs for the latest updates. And one of the things that I wanted to double click on is that everything we do is open source from the orb hardware to its firmware, the cryptography libraries, um the protocol, everything that we do is fully open source. Um some of the things that we're
currently working on is accelerating growth. We're doing partnerships with companies like uh Match Group, which own Tinder and Hive and some other uh dating apps. We also did partnerships with Razer and we're expanding those sort of real world use cases for real applications that you and I use every day. Um working on new technologies such as credentials uh the thing that I'm going to be talking about uh for this talk which is client side zk proving uh and lots of lots of other integrations developer experience etc. So this was sort of the context for what I want to talk about in this uh in this presentation which is client side proving um what it is why do we care about it and so on so forth. So client side proving for for us the the thing
that it matters is like if you want to have privacy the proofs of your identity need to happen at the device you own either your phone or your mobile device or or your tablet your your your laptop something that you own where you can safely store your personal information in a trustworthy manner right like if I download an image I do not like let's say I have my passport I do not want my passport information to be on a remote server owned by Google for example or owned by Meta or like my personal information should be right in my own ownership. And if you want to create these proofs of your identity, those proofs need to happen at the user's device. And a lot of the problems that we see in the world is that since we have these 27 million plus users, all of
those have a phone obviously because they need to download the app. And the limits that you reach when you actually go into the real world is that a lot of these people don't have flagship iOS phones or flagship Samsung phones. They have like old phones from 8 years ago like an old CPU. They don't have multiple threads. It's like really really hard device to work with as an engineer. So if you want to do like computationally intense computations or like any any like math such as cryptography, uh you'll really run into like lots of hard limits really early on. And so client side proving and the improvement thereof allows you to do more um elaborate and bespoke use cases for cryptography but on edge devices or
just like users phones essentially. And so that's sort of like the main reason why we care about cryptography and why we care about client side proving is because if you have true client side proving you can have true privacy at world scale like worlds either as like lowerase or or or uppercase in our case. Um so the things that we've been building is there's this really really nice programming language built by the Aztec team which is building a privacy scaling solution on Ethereum which is called Noir. Noir is a is a great uh programming language to write these zero knowledge circuits as we call them in tech lingo. And these zero knowledge circuits allow you to define the statements or the proofs you want to
make. Let's say I want to create a proof that I'm over 18. So in no code that would be age greater than or equal to 18. You have like an age variable and then you can like constrain this variable to have a specific value. In this case we want to prove that you're an adult. So you constrain it to be over 18. And so in this uh programming language most of the current use cases around identity or privacy either financial or anything else are currently written in this language. And it has a great developer ecosystem. it has great developer experience and uh in general like there's lots of production apps built and libraries built for for this tool. The only problem we've been seeing in the ZK community is that a lot of people care about cryptography mostly
for scaling roll-ups. So you have cryptographic systems deployed on a big server to ZK proof Ethereum or to ZK proof at layer 2, right? So you have like ZK sync with their ZKVM, you have Scroll, you have Starknet with their CyroVM, you have so so many of these solutions and all of these solutions are running on like AWS instances with like maxed out cores, maxed out GPUs. A lot of them even have A6 nowadays um built by different manufacturers. And so this is not really private, right? like rollups currently are not really private beyond Aztec and some of the other solutions um because all of the state is public right like I can go to a full node for zk sync and I can download the entire state there's no private state so
if you truly want privacy and distribute and give privacy to everyone these proofs not only need to be proofs of correctness but they need to hide information about me and if I want to hide that information I cannot reveal it in the first place hence all of these proofs need to happen on the phone and So, Proofkit is uh a current like work in progress name for a library that we're building that allows you to create all of these proofs on device on a mobile phone. And in early benchmarks is roughly 20x faster, 20 times faster than the uh backend that was originally built for noir. Um for those who may know, it's called Burdenburg. And so this library allows anyone that's writing Noir programs to compile it to a format
that is mobile phone friendly and is performant on like edge devices. And so what does this enable? Well, this enables like the use cases I showed earlier, right? Like if you have all of these identity use cases, it finally allows you to create a lot of these proofs about your identity because a lot of those use cases um let me I think I have more of this. Yeah, a lot of those use cases that you care about are bottlenecked by the performance of crypto cryptography in these devices. Um, so if you think about for example passports, uh, I presume most of you have a passport if you've ever traveled anywhere. Um, and passports have NFC chips in them. These NFC chips encode the information that is actually v visible on the front page.
things like your name, surname, age, uh uh sex, uh date of birth, uh uh your your expiry date, whatever your image, uh everything is stored in that actual chip. And there's a decryption key on the front page in the in a zone called machine readable zone, MRZ. And so if you if you take the the decryption key and you tap on the uh NFC chip with your phone, you're able to read that information and decrypt it. And now you can create proofs of that. The problem with that is that the tools that they use are old hash functions or like nonzk friendly hash functions and signature schemes meaning that the cryptography that these uh existing identity providers have been using are is not this is not compatible with zk or at
least is not friendly to it. So a lot of the reasons why we need this client side proving to improve in the first place because um we need to sort of work with what we got. passports are widely distributed and it's really hard to change those standards and it's going to probably take 10 years for those things to change and so it's sort of like the reason why we care about this performance. So one of the things we already have rolled out in select countries like South Korea, the US is creating proofs that you own a unique passport. Uh, but now with this new library, something that we're going to be able to do in the next couple months is to create proofs that like I'm over 18 or that I'm from a specific nationality or that I'm from a nationality that is not in a sanctions
list like North Korea or something like that. Um, there's also other sources of information. You've used websites probably every day, right? Like I order from Door Dash or Uber Eats or whatever. Something you could do is let's say Door Dash has like a discount. I can prove to Door Dash that I am a I'm an Uber Eatats for example like power user. I've done more than 100 orders from Uber Eatats and therefore I can claim this Door Dash discount so that I try out like their new feature or something. You can do like sophisticated and bespoke targeting in a fully privacy preserving way because you can consume information and your identity from all sorts of different places. Another place you care about is the chain, right? Right? So if you've interacted with a D5 protocol like I don't know like morpho a spark uh
or anything else right like I've interacted with a video game onchain or anything else now I'll be able to create proofs that have interacting uh with those things I don't know why it's uh gone to those anyway um so you can create proofs of onchain data another thing that you can do is like proofs of email data as as long as you have some signature or root of trust of that identity you can create proofs of that and so for those who are technical uh um I will I will also like elaborate a little bit of what the stack is actually composed of and how it works.
Um so as I mentioned we use noir as the so-called front end the thing that the developer builds on top of. Uh they write noir programs just like anybody else. Uh so all of the noir programs that anybody has ever written they can compile and use our library no problem. There's nothing that changes from stack to stack. Then it goes to this uh as so-called intermediate representation called Acer. And here in ZK talk we do this thing called arithmetization where you convert these programs to polomials. Polomials are just mathematical representations you can work with um that actually allow you to like create these proofs these cryptographic proofs of zero knowledge. And we built our own implementation of a proof system called
Spartan with a commitment scheme called wear. Um and the reasons for this is that our constraints are that our users have like these low powered devices. You cannot download a lot of data. Uh current proving systems like require you to download lots of files so that you can even create a proof. Uh so-called trusted setups if you've heard them before. Um there's a lot of constraints around like download size. The proofs need to be small because people don't have a lot of storage on their devices. And so a lot of the choices that we made reflects all of the real world constraints. Something that I really like in real world Ethereum sort of companies and projects is that when you're faced with real world problems, you have to build solutions that work
around all of the limitations that you have that are actually present. Um something sometimes is great to like do research and development, but if you never build your product around real world uh limitations, you're never going to get distribution. The thing that we care about is bringing these things to like hundreds of millions and billions of users. Therefore, you need to work backwards from the user into the product as opposed to trying to impose some like arbitrary goals on the product when the users cannot run it on their phone. And so we chose uh these solutions and then in the end once this proof is created we have this Spartan proof that is created on the phone. Uh we recursively verified on a server once we have privacy into a system called GRS 16
and GRS 16 is verifiable in the EVM. Uh the reason for that is because there's pre-ompiles in the EVM that allow you to verify these uh elliptic curve operations uh to verify these gross 16 proofs and in the end we can verify those proofs on world chain or anywhere else any EVM network or if you've built your own verifier anywhere else and so this stack would allow anyone any any ZK developer and in the future like regular developers right like I can build noir applications with Chad GPT I can vibe code cryptography apps now like you care about private acy I want to create a proof of anything and I can build a mobile app with with chipt it will create the noir code it will do that it will do this of course make sure it's audited before you deploy to production
but nowadays these things are becoming much more available to everyone and so this is sort of the the main theme of what we're trying to get done this year on a technical front where now all of those things are feasible you can give uh proofs about anything for everything right like I can distribute identity and finance in a fully privacy preserving way to everyone because everyone has access to these primitives on their everyday devices. Uh hopefully in the future like you can verify proofs and create proofs on on anything like if I have an Apple Watch whatever I can talk to I can create proof about anything.
It's it's really awesome. Of course with the caveat that you need to have a signature of the data you're creating proofs about. So in the future, a lot of devices will have these things called secure enclaves and trusted execution environments. Essentially hardware components that allow you to sign data directly. So let's say if I take a picture with my iPhone, I will have a signature on that picture taken by the operating system and then I can prove to I don't know like a reporter or a journalist that I actually took a real picture and that they did not fake it. So when I'm reporting like an incident and I'm a witness of some incident, I know that it actually happened because there's some proof I'm creating about real data that has some root of trust.
There's always like security things coming along with that like someone can spoof my phone and other things. There's always like limitations to these things. But this is sort of like where we're trending towards if you actually want to have functioning identity primitives in the world of AI. Um so how can you make use of this? Um, one of the ecosystems um that I really believe strongly is in is like besides Ethereum is our own where we have 27 million as I mentioned users of world app. If you want to build an application on top of world app, you can build a so-called mini app where you build a um sort of like a web view into or an application that like you can distribute through world app on our app store. Users, our users can download your application and they'll be able to
use it. Um, and you know that all of the users that you have are actually unique and real. Um so those things are great and as we build out this set of like libraries for client side proving they'll also be part of the set of tools that we have which is mini kit. So if you're a developer you can download mini kit which is javascript library or typescript library and you have access to all the features of world app right it's distribution which is arguably its strongest uh feature. You can trigger push notifications to remind the user to do an action. You can use world chats to send messages back and forth. You can do payments. you have access to all the on-ramps and offramps directly embedded into World App. So, Apple Pay, Google Pay, uh, like Moon Pay, there's like so many like RAM network, so many on-ramps
and offrams we're integrating with and all of your users don't have to worry about that. You don't have to worry about centralized exchanges, anything. We abstract all of that and your users can onboard with whatever they want to your application on top of our platform, WorldChain, right? So you can build a smart contract deployed on world chain which is an EVM network and of course use world ID but world ID in the future will have all of these tools to prove anything about your identity. So you can create a proof of over 18 and gatekeep your application to make sure that they're over 18 or over 13 whatever you can create these proofs uh at your own uh leisure. And so yeah um this is sort of the main content of my talk. Um, if you have any questions or you want to like chat or discuss anything, I'll be
at our booth or around, uh, feel free to grab me. But yeah, thank you for listening and I hope you have a great ETH Prague. Awesome. Oh, yes. Perfect. Uh, I I I did a lot of talks about AI and it's always funny that I can't switch on the microphone. That's the That's the way it is. He's able to thank you. Do you guys have any questions? Not all at once, please.
No. Okay, fine. Yeah, I have a question. They can always get me at the the booth if they want. Oh, fair enough. All right. Well, I'll come. Do you have a question? Oh, you can ask me. Yeah. All right. Cool. Awesome. Um, actually, it's just a question because we've known each other for ages. This is like your uh fourth ETH prog. Fourth ETH prog. Yeah. What do you feel has changed in the way that the general public understands blockchain and specifically Ethereum? Like has there been a change in the mood? For me, the the things that I've seen at ETHROG is that things feel much more real. I mean, they always were real to me because I've used them, but it never felt real to other people. I feel like with things like stable coins and Bitcoin like reaching its heights, etc., like people actually understand what it
is about. Like um you have like DeFi primitives that are actually used in the real world. There's like institutions being onboarded everything. The talk we had with or the the interview between Joseph and Thomas was like really great, wonderful. I think it's never been a better time to be in the Ethereum ecosystem personally. And to be honest, it's just amazing to see so many newcomers, but also like faces that have been here forever. And there's it's the first time that I ever feel that there's true product market fit for the things that we're building in the wider scope of things. It's not just tools for the tool builders, but it's tools for everyone. And it's like applications that the average person can actually use and distribute at scale. And it's a really exciting time because it's like the things that we've been dreaming about for decades in the cypher punk
value sphere are actually becoming true and so so yeah it's just pleasant very pleasant to see. Thank you so much for that. And actually on that note remember yes oh I was going to say something motivational but the question is more important. Um do we have a microphone somewhere? If not for give you my own. Hello my friend. Hello. Thanks for your talk. I have a couple of questions but they're I mean I'll ask them. Um you mentioned product market fit and I I saw in some of your talks that many institutions wants to work with you. How do you manage institutions that ban the orb? Because uh I maybe I'm wrong but I think in France it's you cannot get an
orb. Uh I mean yeah there's like always like regulatory constraints as in like there's some entity that is doing like due diligence or there's some review happening. Uh there's of course like we manage like the relationships with hundreds of regulators around the world and so there's always like a bespoke process with them like you need to explain them how the orb works how multi-party computation works uh how cryptography works. It's it's just a long process. So it always we take our time and we always follow all the guidelines from everyone. So it's it's always a process like we do our best um and it's hard because you you are only one company but the governments are like hundreds of them right uh and you need to manage all those relationships but when it comes to product market fit uh there's there's companies and markets that see the need for these things and
overall with where AI is trending the pace of acceleration for developments of AI is insane and so the more pressure people feel the more of an incentive there is to adopt these technologies I feel like once people see the value that they're going get these regulatory bottlenecks are going to be unblocked because like personally I'm really confident in our privacy guarantees and it's always getting better. So it's it's always going to be a matter of education uh talking to these people uh elaborating on regulators doing policy work um those kinds of things like privacy education privacy work and then when the use case is important enough people will adopt it because it's actually pressing for them to adopt it because of AI or other things and I have a second question maybe it is silly has
there been any hurdle with regards to launching an app store on top of iOS and Android which have uh uh yeah I mean admittedly I don't know all the details details of that because I don't work on the app team. You can probably ask like Thiago, head of product or some other people. Um, but Apple lost a lawsuit also recently on that. So now you can do more things. So you can have like your own payment processors, other things without Apple being able to do a thing. And they lost that case in the US, not just in Europe. So So yeah, like it's going to get better overall. And I feel like it's hard to censor things that are unstoppable. And hopefully the next wave of platforms are going to be fully open.
Thanks. Thank you. [Music]