The future of digital identity
EthPrague 2024 · 31 May 2024 · 22:44
dcbuilder looks at how recent advances in programmable cryptography, including zero-knowledge proofs, fully homomorphic encryption, multi-party computation and trusted execution environments, open new design space for digital identity. The talk at EthPrague 2024 surveys the current state of the art where these techniques meet identity systems.
Speakers
Topics
From EthPrague 2024, hosted by ETHPrague.
Transcript
thank you very [Music] [Applause] much right uh thank you very much for having me um today I'm going to be talking about the future of digital identity okay there we go awesome so sorry all right so today I'll be talking about the future of do identity um I'm I go by DC Builder on X and other social media I'm a research engineer at the world C Foundation where we mostly work on building the future of privacy preserving proof of personhood and proof of personhood is a core integral part of digital identity um and I spend most of
my day just thinking about these things and talking to people in The Wider ethereum ecosystem uh building these sorts of Primitives and I sort of want to introduce like uh the topic to you and sort of where we are right now and where I see the things uh going in the digital identity space so U um I have a bunch of memes so uh this is a really good one um I want to introduce sort of like where we are at right now right like the status quo of digital identity the status quo of digital identity um essentially is that we are working with servers uh right like usually all of our data is owned by companies like Google Amazon meta uh which essentially we interact with every
day and they leverage our data to sell their services to us and that's how how they're able to provide uh free sort of services right and this is like sort of core part of our digital identity like what we do what we interact with how we're represented in social media Etc So currently all of our data is owned by these companies we sell it to them for free uh and then they're able to monetize it and provide the services for free uh so all of our data is on these SQL databases owned by servers they're permissioned right so if Google tomorrow bans me from my YouTube account I lose all of my subscribers I lose my livelihood potentially I can get banned for saying a specific thing on social media right so like if I voice a specific political opinion on X um that
is like controversial then I might get booted off the platform uh there's all sorts of things that can happen right uh all of these systems are also not interoperable right like if I'm on Google it's Google my my Google account is not interoperable with my Facebook account or with my whatever like the data is just siloed in these specific systems it's also privacy invasive right like they have access to of our personal information phone number names addresses you name it um and we've also seen recently that things like um kyc or know your customer or know your business don't really work well right we've seen that uh for example the okx uh exchange uh kyc check was passed by a generative AI model uh essentially where you're able to fake um the actual check for
humanness by verifying a kyc document by just like some AI generating some image of a passport or digital identity it's centralized and most important all most important of all um users don't have sovereignty I don't own my own data I'm not able to make decisions about my own data and if I want to be even like a productive user of modern society of modern Services I really need to give up all of my privacy and power within my control of my digital identity so uh in recent years we've had a whole new world of cryptographic Primitives essentially a lot of new cryptographic techniques that have enabled lots of uh new potential for for building digital identity systems and
more um so the ones that I name here are Zer knowledge cryptography um whom whom of you have already heard of ZK please raise your hand really quickly okay that's actually most of the room okay that's a pleasant surprise so uh ZK essentially a technology or a type of cryptography that allows you to make a proof about specific data or about structured computation so for example in the case of rollups or scalability we're able to prove that the evm executed some transactions correctly and then nodes on a network don't have to reexecute those transactions they can just verify as your knowledge proof in the context of digital identity we can make proofs about our digital identity right I can prove to you that I'm over 18 without
revealing to you that I'm for example 22 I can prove to you that I'm a Czech citizen without revealing to you my passport or whatever my name or anything else I can make selective statements uh without disclosing anything else that I don't want to uh fully homomorphic encryption or FH is the second one uh which essenti essentially allows us to do private computation uh what it allows you to do is that I can encrypt some data uh some input x uh and I can perform computations on the encrypted data and when I decrypt that that specific result I I it's as if I performed the operation on the original input so essentially allows us to operate on top of Cipher text which is something that you're not able to do on regular like encryption right like if
you encrypt something it's random information you don't you have no structure so you cannot really compute over that so now like FHA allows us to do private compute pretty much uh multi party computation um actually many people and and the in the audience uh are very familiar with NPC um multiparty computation is a way to do essentially shared computation across multiple participants in a network or in some form of program and you're able to C collaboratively compute some uh pro pro program or some process in a way where the participants don't learn the intermediate values or the original values that you're Computing on top of but they're also not able to sort of uh course the system into doing something it's not meant to uh so essentially have this verifiable compute shared across
multiple parties in an encrypted fashion and the last one is trusted execution environments or tees which essentially are these like Hardware chips that allow us to have some form of verifiable compute and give us sort of attestations that some compute happened correctly uh inside of a piece of hardware and this in this case like a CPU or a GPU like there's a trust execution can attest to some computations or some programs running on these chips so thanks to all of these uh fundamental Technologies and some more on top of those uh we've had a new sort of wave of applications and protocols uh come come up with these things and I list some of them here uh don't worry I won't go into the details of all of
these specific mechanisms but it's sort of like a good introduction into all of the different mechanisms that have emerged in the last couple years that are useful for building all sorts of digital identity Primitives and protocols so uh s of give you a a brief notion uh you can see like ZK email ZK login TLS notary proof personed the these elements essentially give you some notion of where data comes from I am now able to prove to you that my data comes from my digital identity from like issued by my right I can prove to you that on my ID my name is whatever and you can actually verify signatures from the issuing entity of that data I can prove to you that uh my follower count on X is whatever number because I can
verify that it comes from some API and I can verify signatures from TLS like you're now some some sort of like have a notion of where data came from and you have cryptographic trails and you can verify these cryptographic trails and make proofs about that data and then you can compose it and you can make computation with it so this is sort of like what hints into the next step which is like the pipeline for digital identity right uh how do you actually create a digital identity system that has the properties that we're sort of used in the cipher Punk um sort of types of values that we have in ethereum right so you have this notion of data and where it comes from or Providence proofs you put those uh that data uh into some general programmable environment we've
seen things like co-processors right I co-processors in the in the right uh essentially there's things like Risk zero um sp1 from SE synct or just general zero knowledge virtual machines like Cairo from Stark net or or starkware uh or any other like ZK VM from scroll or ZK sync or polygon essentially like these programmable environments allows us to make computations that are provable uh by default and then we can just sort of use other Technologies to make it more seamless uh that's like the the second part like the second half of them like proof aggregators allow you to compress multiple proofs into one and verify at once uh proof marketplaces allow you to connect sort of people who post uh or
who want to create proofs and people who want to verify them and people who have hardware for the proofing Etc intents um how many of you have heard of intents or what it means more or less okay cool um so intents are this sort of notion of declarative programming where the user instead of having to do all of these actions on their own the user can just declare the end goal and some solver or some third party can solve this sort of task for them um and provable inference or Z knowledge machine learning so recently with the Advent of modern AI specifically generative AI um some models are able to sort of deduct information about your your data and you're able to be for example classified or judged fairly so let's say that I have some personal information of my
onchain credit history so let's say I use defi right so I have some onchain Financial history and that information can be somehow like classified to and classify me as a trustworthy or not trustworthy lender based on some machine learning model that can be provable so everyone can be judged fairly for example um this in general like the these sorts of Technologies allows us to build the the new future right like the future of that that we we envision usually when we when we're in the when we're talking about the ethereum ecosystem right we want our data to be essentially owned by us we want all of our services for us to have control over them right like we're not owned by the products we use we are self- sovereign individuals with our own rights with our
own privacy with our own right to privacy and we can access siize it and this is sort of like what these Technologies enable you to do right something that is decentralized running on top of blockchain rails uh something that is self- Sovereign all the data is owned by me and I can make client side proofs with my own Hardware like with my own phone or with my own uh computer and my private information never leaves my own custody uh similar to private keys right like we've done that the same thing with Bitcoin or ethereum and other blockchains where now money is owned by us because we custody our own Keys uh therefore we are able to be dignified users of the services we have for monitary use cases but in in terms of data we're not there yet all of our data still lives on some Silo server and they
can sell it and they can auction it off and now they can like have very like privacy various privacy leaks and different dangers and abusive behavior from companies of of their users uh it's also more scalable uh but this also comes at a cost of overhead and complexity uh it's more scalable because they're inable right like these systems are now like if I have data that on my own I can use that data or my so decentralized social network um with any other system that exists because these zero knowledge proofs are very composable um also it's much easier to incentive align participants uh the reason why systems are the way they are right now is because our payments processors don't really support granularity or some form of incentive
alignment between our data and how that hand gets handled right it's much easier for companies to just um have a terms of service you just say yes and then they're able to do whatever it's much harder to sort of figure out the way that they can incentivize us fairly for their for us our data when it comes to content we've seen like monetization schemes like YouTube which Mak sense or Tik Tok or ad Revenue that we share with our sort of users um but it still capitalizes on the user in a sort of unfair way because they can at any any point just deplatform them and just get like just completely just take away all of their livelihood or their social media friendships or uh your in-game assets or whatever it may be all of
these things are part of your digital identity but we currently don't owe them own them so essentially I want to move to a future or I want us to collectively move to a future that is open source collaborative uh built by the community where incentives are aligned between each participant where it runs on crypto rails because now we have smart contracts that enforce the rules and we're like preserving our own privacy because we own our own data um this is actually the the gist of the presentation I I have a long form article I wrote last year on this so if you want to scan the code and actually read more in detail like what my thoughts are I really recommend that I usually whenever I give this talk I I prefer to have questions from the audience so that's why I intentionally keep it short and a little bit brief
just to like give you the my thoughts on where I think where I think things should go right uh essentially like what I want is this right uh sorry for those we scan in the QR code um but yeah if you have any questions or if you want to follow more about what I'm doing what I'm thinking about feel free to follow me uh on Twitter or an X DC build 3r or feel free to send me a message on telegram same handle and yeah thank you for listening to my talk and I'm happy to answer any questions [Applause] cool does anyone want to ask anything sure we have mics that go
around I think thank you uh thanks a lot it was interesting speech I would just like to know that it's a nice idea about you owning you know your data and you cannot be theplatform from centralized platforms like X or Facebook or Etc but what would you do about hate speech right like what you do if someone is being racist anti-semitic of all the kind of stuff and you can't kind of stop that going because then I don't think it's so realistic as you would get a lot of backlash from the government and regulators and all these kind of people because at the moment if you start
posting this content on the centralized platforms they get removed but like this you don't have the option if it's completely decentralized that's a really good question um the way that I usually think about these things is that you can censor on the client side right you can always have front ends that have some form of recommendation algorithms that just filter hate speech and the good thing about Zer knowledge cryptography is that you can prove which filter the client is using the client can tell you hey I'm using a filter that censors hate speech homophobia or whatever you want like any form of uh sort of uh content filtering rules that you want want to have like let's say that you want to have like muted words or whatever you can yourself set your own rule sets that
you want to filter for and the general front ends that are going to be the most used ones so let's say that X instead of X being like its own back end it runs on like I don't know like lens or forecaster as a protocol and it's just the front end is just called x uh X itself can filter whatever but at least they can provide you a Zer knowledge proof that they're using some form of filtering algorithm and you know that they're committed and you at least see the rule set right now you've seen that X open sourced for example their filtering algorithm but you don't know which weights it's using they you cannot know which weights they're using because then people can sort of like take that and sort of game the system so that their content just gets pushed more uh to the top but this is sort of like how
I think about censorship right like you at least can not censor on the protocol level anyone can say whatever but you can filter on the client side and you can always prevent people from seeing bad things and you can have some form of reputational system and C resistance that if many people or like one person says a lot of bad things their reputation goes down or people can say that this person is just saying lots of bad things so other people can see that right and it's in general it's going to be demoted and all these things can be verifiable and trustless as opposed to just some centralized entity saying that it can be agreed upon by people and everything can be verifiably like trusted like people can just see where it comes from where the reputation comes from and you don't have Bots because you
have some form of Si resistance as well right so people cannot just create a new account and say the same bad things again yeah thank you hey uh I have a project that I was trying it was related to intense that you said like uh Landing based on the documents using AI agents and verifying if those are legit or not so I built a POC which was uh using multiple a agents uh like CH GPT Gemini and uh there was another one but the issue was still even if I was using tlsn
to verify the bank documents were actual and the the banks and balance are legit even though the balance was low the agents were still able to giving loan because people were able to game it like I was able to game it my cousin or brother when they were playing it was very easy to game it so do you have some experience or experiment that you have done with it and how you were able to solve it uh um to solve what exactly so to not be able to game the agents like it's still very much possible to game the agents with the the LM agents in some context like game them how like you mean inputs to get them to say something bad or yeah like basically in my basic PC the issue was
even though the user was not supposed to get a loan they were able to get the loan uh to get the what get a loan like loan oh right uh I mean like the the way that currently we do these sort of like uh um like lending trustworthiness things are not necessarily generative agents um they're more like numerics based things where you have some form of like decision tree or like random forests or whatever like uh they're mostly like XG boost like very simple models for making these sort of decisions uh when it comes to generative agents making like decisions on Real Time information or like some form of symbolic execution we're still like far away from that um but yeah like right now it's more numerical models that
you're proving you can still consider the machine learning but it's not necessarily like a Transformer or some form of other things at least from what I've seen like there's companies like NOA AI that have been doing this uh uran is experimenting these things there's a bunch of companies that work with zkl companies like uh Giza modulus or Ezekiel um that work with them and they're trying to do this like provable ml but the provable ml usually is not like generative AI it's just numerical models so I don't know but like to prevent gaming I don't know yet I I don't have that much knowledge about that problem space in the I domain so sorry not able to answer that hey thanks for the talk um we have
all these uh new technologies and they kind of work but how do we get to the adoption point from here like everyone is used to selling their soul to Facebook so how do we go on yeah uh so that's a good question actually let me go back to the slides uh right um so a lot of these tools what they allow you to do is to co-opt existing systems and Port information to the new system the good thing about that is that with things like ZK email I can make a proof about my email information right so essentially what what you're able to do is like build these like web 2.5 type systems and now you're able to do things like hey uh let's say my wallet like my safe smart account is now recoverable by my email or by my Google
account by my YouTube account ever you're able to Port the existing systems to new rails and you're able to migrate them over with similar user experience in the beginning and over time as these systems just become naturally better and the use cases are naturally better like that's where you get to mass adoption when it comes to adoption like also like you need to just make the systems just so robust and so performant and scalable that you're actually able to support a billion people let's say that's my problem at worldcoin for example right like we have 5.5 million users that have been verified at the orb and 12 million users for the world app but even then like optimism main net the blockchain we're running on right now we're already like at half capacity right like we we saturate like half of the optimism block space pretty much more or less is owned
by or consumed by worldcoin so even if we want to scale to let's say 10 million users there's already not enough block space so essentially we need to scale the existing systems so they're able to support more users in the first place and then when it comes to adoption you need to build use cases that you actually want to use uh for us the initial incentive is just the distribution of world coin token grants and it's sort of like an initial incentive but over time as World ID has enough of a critical user base applications that would want to leverage World ID have more of an incentive because the user base is already large enough that they can Target them and they can have sub resistance so that's for example how we think about things when it comes to all of these other Technologies you have to have also some
form of goto Market strategy where you have some because like users are never going to care about the technology you have to have some use case some actual product they want to use that is powered by these things and it allows them to do something they weren't able to do with the traditional rails that's the only way that you're actually going to get to mass adoption so it's like multifold you need to build products better technology better infrastructure and then you actually need to convince thousands of people and thousands of businesses to actually move over or like you have to sell them this technology actually for it to be better and you have to for create some form of movement or some form of awareness around these things the same with crypto like how did ethereum get adopted just Word of Mouth conviction uh people building use cases
like defi nfts Etc that actually made these Technologies useful and it takes a lot of time but it's the only thing that actually changes the world in a meaningful way over time cool anyone else okay I think that's it okay thank you very much take care [Music]
you