How to Anonymously Identify 9 Billion Humans

ETHBarcelona 2022 · July 2022 · 22:25

Miguel Piedrafita explains how proof of personhood could identify every human without revealing who they are. The talk covers anonymous credentials and zero-knowledge proofs for unique-human verification. It poses the challenge of proving uniqueness at global scale without a central registry. Presented at ETHBarcelona.

Speakers

Topics

From ETHBarcelona 2022, hosted by ETH Barcelona.

Transcript

thank you so much [Music] yeah everyone i'm here to talk about crypto being awesome which i don't think i really have to justify or explain why that is the case if you're here you've seen the amazing vibe the illustrations you probably agree with the term at least but it has an issue which is that we always talk about being early and we are early in a way around like two percent of the world has interacted or used the script on the daily and when it comes to just like bringing that out to the rest of the world we are kind of like hoarding all the value all the other people that go to

early on bitcoin on ethereum there's less of that for everyone else and so at walcrew we had a question like what if bitcoin has started by giving one bitcoin to every human on earth um we all agree that there's a lot of really cool stuff that you can do with crypto with um decentralization and bike and all those stuff so what if we brought that to everyone and so we said let's do that let's make a token let's call it the wall coin and let's give it to everyone but there's there's an issue there which is the part of like how exactly do we give it to everyone how do we make sure that each person that we want to give it to only claims once if we have a way that someone can just get a thousand of them then first of all that's not fair anymore and also it

throws a whole scheme under the water and we are are probably familiar with civil attacks the idea of someone pretending to be multiple people and then up the whole system whether it is with nfts d5 or whatever so we needed a way to solve this and we wanted something that was both private but also inclusive that everyone that was not early everyone could get in and also scalable if we want this to go to the whole world and so we started thinking what can we use for this maybe we can get the emails which some people don't but for our purpose would anyone can create unlimited emails pretty much so it doesn't really work then we thought let's try with kyc let's give ask them for the passport of the iv the issue with that is

i mean there's parts of the world where they don't have an idea or a passport or there's no database to check it against and also aside from that it's like pretty privacy invasive to have all that data so we thought maybe we can use weber trust this idea of people authenticating other people and that works great and we think we may be able to extend wall coin after the initial phase with this but the issue with that is you need like an initial trust a big set of users that you actually trust and starting from scratch that doesn't work as well and you have the problem with being early again and so we thought about biometrics and that seems that like it works every human has them they're pretty hard to fake so we started looking into

biometrics and we looked into fingerprints we don't have enough entropy and they don't have enough detail to actually tell eight billion humans apart and also they are pretty easy to fake chains you could make a cut on your um finger that's an entirely different fingerprint then we look at the face like face id that has its own set of issues and it's still not enough data it turns out even with a video of someone speaking to you with voice and data recorded by like their iphone or anything or even a high-speed camera there's no way there's not enough data there to tell eight billion humans apart both from like an ai or even humans doing manual review so we looked at other things maybe you can use the whole pump the issue there again is it's pretty easy to change your pump you can

just like make a cat and that's a new one we look at dna aside from being way creepier than the iris thing it's also pretty expensive to compute and the technology is not yet there so we ended up with the iris and at that point we were like okay so we're doing the areas how can we capture that maybe we can use iphones it turns out again resolution is a big issue and we cannot maybe we can use off-the-shelf hardware like the thing that clear uses and aside from those things being prepared for a one-to-one match you just like verifying who you are instead of checking against the database of 8 billion humans it's still not enough there's still no resolution so we were like okay so we we

we have to do custom power there's no way around it and we're like that's a everyone avoids doing the hardware for their own thing and so that took a big while uh but after almost two years of research and implementing we got we did that guy i mean the orb which is this little device here and what it does is it has a bunch of anti-fraud devices it will make sure that you're not showing a picture of an eye to it or a dog or a baby or a dead human it will check for all of those things then it will scan your iris and it will convert into an iris code which is a way to extract the data and make it so that no one can get the information from there so no one can just like get a

picture of your eye from that in order to preserve privacy and then register you and so this works great because there's no images no name no contact infor and no kyc but it's still not enough because after that what we could do for example is say like this wallet is authorized the issue then is someone may not be able to track that between the real world and the members but they can still track who you are by just like looking at different uses of the protocol they can see like oh well i don't know who he is but he leave this and keep with that and keep that similar to how you can go to um to ethan's can and check the activity for our wallet right now and that's still not great for something that should trans transcend the idea of

wallets and just take care of humanity we want something that even unknowns or people with twitter alls could use without doxing themselves and so we went and looked at what could do with that and we achieved um zero edge proof we realized we can make it in a way where people can prove that they are human without rebuilding which human they are which is kind of what we're looking for and the system it's quite complex in a way but it works which is the cool thing so we went with that we took that into the wall and we said like okay we've made this it kind of works let's take it to the real world and over the past few years in various beta tests we've been in 25 countries around the world we've onboarded more than 600k participants with only 25 orbs because we are making in the lab

and it's we're open-sourcing the thing because the protocol is there hardware will be soon everything is great um we want to build in public we want to decentralize so that's all great the thing is we kept getting this question over and over like civil resistance is really really cool and it enables a bunch of really awesome things so like this whole mess that you created with the hardware with the orb with the irises with everything how can i reuse that for my app and so we went we looked at it and we realized actually this thing is like really extensible there's a lot of really cool things that you can do with it and so we figured out a way to extend that to everyone not only wall coin and actually use that system ourselves to future

proof it and we call that wall id and wall id is a protocol to anonymously verify without really learning anything about them at all that someone not only is a real person but also is performing an action only once so for example initially we were saying okay so someone is a real person and has never claimed welcome and after that if they're a real person but they have already claimed qualcoin that's it we don't care about that so now what you can do is okay so this person is a real human that has never bought it in this governance proposal or mean to this nft or within this error or even web 2 actions like join this discord and still without learning anything at all with this person they could be using a different wallet each time even like

multiple wallets one at a time and without doxing and without revealing anything about themselves we can prove this the system is quite complex the good news is we've taken all of that and we've made it super easy to use we've made sure that this is all the code that you need to get something like this in your application it literally takes five minutes so what this will do is it will show one of those captchas like i'm a unique human where they will just add that they scan with the wallcoin app and then afterwards the app generates a proof on device sends it to the website the website can verify it on saying or through an api that we provide which

also runs insane but it's for people that don't want to worry about that and you basically just like solve civil resistance in minutes with the caveat of obviously every of the users that you have been on board with vulcan which is what we're working on now so how that would look is you have a website like this this is a fake airdrop that we made as an example and you just have the captcha there and so people would click there it will show up in the app and the app would say whatever app wants to verify that you haven't done this before and you just click verify and that's it it's really really simple the user goes well id using the orb developer integrates user approves everything works and it's also super flexible there's we've been talking for a while

about all of the amazing things that civil systems can enable better governing models also um better funding models with quadratic funding air drops where you don't get dumped five minutes before the end just because someone got a sheet of tokens and selling them a bunch of really really cool things and all of this is live today by the way you can use it and the really really cool thing about this is everyone in crypto is always talking about you know getting the next billion users into crypto the reality is i don't even think we have a billion users in crypto and it seems like everyone is fighting against the same people to get users like there's a limited number of people

in the ecosystem which grows but most people are just like getting the same users side to side and so the really cool thing about wall coin is that we've launched in as i said 25 countries third world countries first world countries pretty much everywhere we were in the us for the first time two weeks ago and most of these people that are in the system these 600k users are not crypto power users they are like regular people that went through a mall in lisbon for example we have a bunch of orbs there someone explained to them the idea obviously we make sure that everyone actually understands what they're signing up for and then they just like onboard it we have a product similar to coinbase aaron the whole learn to earn system where they can learn about crypto get started in the journey and they can

get some tokens as a reward for that but these are users that have never really used crypto that much before and that now they can um get started with that so we are really excited to bring in all of these people into the ecosystem we also want to give a huge shout out to a bunch of open source projects that we that have allowed for all of these things to work obviously the orb is already enough engineering as it is so we wanted to make sure that we have didn't reinvent the wheel in a while so we're using semaphore which is an open source project from the applied pseudonymous proof team um that is used to validate and manage the zero knowledge proofs on sale and we use hubble which is a rollup that was

originally created by the ethereum foundation now even it's maintained by the community that basically is a roll-up where you don't have smart contracts only tokens and so what that is is obviously you cannot have anything complex there because there's no smart contracts but what you have is really really really cheap uh token transfers even cheaper than polygon or either any of the other systems and so since again most of our users are actually like real world users not crypto power people they are going to be wanting to send tokens along especially the qualcomm token once it's launched uh hopefully later in the year and so we made it we made we're using hubble and we've been contributing back to hubble uh in order to enable those people to

send token back and forth without pretty much any gas fits and also everyone here knows wallet connect that's what powers the really magical sdk that i showed that's a really cool thing and we have a lot of really exciting things in the roadmap from just like making it way way easier for developers to integrate to multi-chain support right now we're only live on polygon maintenance and test net um making it way more way less expensive to verify the signal description chain we're doing a lot of research there more signals more everything but yeah basically the the idea of this was crypto crypto is amazing so let's let's bring crypto to everyone and crypto has this issue of like early

adopters so how can we make sure how can we push forward a system where we know everyone will have an equal chance and so this is the idea of what if bitcoin has started by just like giving one to everyone and then went from there instead of just like a bunch of people mining a huge percent of the supply and then now people buying it buying fractions for seconds or just like apping into alternative coins because they think they make it early again and so we went and we did the device we made the orb this is the special purple version for obvious reasons which first make sure that you're real make sure that you cannot show it an image or plug it into a screen or even use it with dead people

these are all things that we obviously have to like think about because these things don't run in a trusted environment we just send them over the whole world and other people operate them in a model similar to uber drivers in a way so we have to make sure that no one can trick them nor the operators not the users and then what he will do is he will look at your face look at your iris extract the features from there bundle that into an iris code which is a way to just like not lick your iris around because that's still not a good idea knives code is in a way similar to a hash so even i know so a lot of people talk about what if wall coin gets uh the government's ass walking for all the data that we have or what if i know we

have a lot of data we have a lot of iris codes and the key there is that those are just like long random numbers similar to hashes like the obviously biometrics are really sensible piece of data and our solution to that is just like put in a format that can not be reversed so that no one can get that from us or that even if we get we have um we're working on a better system of um encrypting these things i mean hashing more than encrypting and once we have that we even want to put them on chain for more transparency but for now they're not but yeah basically ideas like we have no data that anyone could want for us so in that case both the system are the system is fully private but also all of the

data every layer of the system is completely private the only link that there will be is from your public key that you get for creating these proofs to your iris code in order to enable in recovery when you where you can come into the europe again and then get a new a a new key for the proofs and then invalidate the old one which is also really handy for onboarding real people that can actually lose or even get hacked and if you get hacked you can just come back rebook the other one get a new one no pro i mean it's better than private keys and then after that we have wall id which is this protocol that we use for giving out walking to airdrop this token

to the whole world and that also enables anyone else to reach all of those users and add civil resistance to their app in minutes and it's private it's completely private anonymous event it's self-custodial you get a key that is stored in your phone and that you can revoke you can get again and it's also open source there's i shared the article uh before it's wallcoin.org slash open sourcing welcome anything it's on the website uh but yeah it's fully open source you can go into the repo read all the smart contracts read everything and it works for every app it works for on-site apps where you can verify the smart contract it also works with opt-in apps or even things that

have nothing to do with crypt at all one of the things that we've been building as a proof of concept is a discord bot or i mean this core already has captchas but they're not super effective in keeping other people down like you can maybe not automate it but you can still get a thousand people to create a thousand accounts so the advantage of a captcha that you can only use once which doesn't exist in any even in once in web 2 today is that you can prevent you can make sure every single human in this discord server is actually a real human it's not like someone managing 10 accounts and so in the whole nft and crypto space where we have a lot of bought in and wisely white list mining whatever that means this is

aims to be a fix for that and yeah i'm i have a few minutes left so if anyone has any questions i don't know if we're super we are prepared today questions uh yeah you can raise your hand maybe someone will come to your rescue otherwise you can just like come find me later no okay so yeah thank you everyone i'm this is this is the plan this is the orb as i said we want to get creeped into the hands of everyone and that goes through actually coming where people are real people i mean to the streets to the malls to everywhere um getting them scanned and then afterwards

hi so great talk thank you and um so my question is simple so my understanding is that you we use our haris to just get some kind of hash information and then it's processed by orbus right and this credential is somehow signed is verified by the device and you get a word id yeah so basically how it works a little bit more in detail is you are going to look at the orb the orb will take a bunch of pictures then it uses an in-device machine learning pipeline to transform those pictures into the iris code that i was talking about and that iris code basically gets tied with a public key that is generated on your

phone and you just like show it as a qr code and then it will just like tie those things together send them over and that's what actually that goes to a sequencer that puts the thing on saying and that is what authorized that public key that you are giving it to to giving to the orb as like this actually belongs to a verified human in a way this is by the way different to like wallet private keys it's a completely different key and that's for a reason we wallets are really complex as it is this is a key that is only supposed to be able to generate the proofs and that way we can make we can enable recovery options where we can just evaluate the other one without throwing your wallet away and it's also supposed to be usable from any wallet like i mentioned this is

the way that we can enable people with anons or alt accounts or even alternative identities to use the system where i could vote my governance proposal from my identity miguel and then both on another from an alt and there's no way for anyone to just like take these two actions of body and say like these are the same person because of all id if i use different wallets um the only thing that i could not do is just like both on both of them at with the same identity that would just like throw an error yeah yeah indeed this so my real question is about the security of it so how you can be sure that um i mean this credential was processed in a valid way so my question if if there is a single

point for example if we tamper with the software or we have a custom hardware because in fact you just have some data that enters a process flow which comes from your haris you don't know why it's just a black box okay then it tends to somewhere and you somehow authenticate this information through a public key so my question is can i tamper it or there is one entity one single entity some private key that you can use to actually produce multiple multiple signature multiple word ids so yeah i mean the the idea here is that your thing only gets included if your the iris is actually unique so um the i think what you were asking as well is

the combination of the is code and the public key get also signed by the device and that is storing up a security enclave and if you try to disassemble it it will not let you and i will not elaborate on that at least for now it will be open source eventually but basically ava is like all of the attestations are signed with with the orb you can also figure out which orb and eventually the community could just like decide this orb acted maliciously according to public information we just like invalidate these sign-ups up to this time and then someone can just like they can go to a different orb and sign up again so in that way we have enabled it in a way where we could people could watch similar to optimistic relapse in a way

with maybe a little bit less data but we can put the information from the synapse and anonymize up there and someone could say this always activatedly they just like signed up a thousand people in a minute which is humanly impossible and so we'll just like invalidate all those synapses and kind of like mark the orb as malicious and someone can just like ghost and go register with a different orb so we are of course thinking about everything that we can to make this as sample resistance as possible again this will all be open source eventually and we want to work with the community both in a governance sense almost in a code sense in order to make it more resilient but i still think it's better than anything

that we have right now and so this is what we're lancing with yeah i think i'm out of time so any other questions my twitter is there and also you can just like come find me i have purple hair it's pretty easy to find yeah thank you you