Worldcoin 🛠️ Global Proof of Personhood in the Age of AI - Miguel Piedrafita
ETHGlobal·Mon, Oct 9, 2023, 12:00 AM
Join Miguel Piedrafita from Worldcoin for a workshop titled "Global Proof of Personhood in the Age of AI". Thank you to everyone who joined us for ETHGlobal Lisbon! After being away from Europe for almost a year, we've decided to bring the heat and excitement back to the stunning historic streets of Lisbon! All over the world, hundreds of thousands of developers, users, hobbyists, creators, artists, and market makers spend their days and nights thinking, building, talking about Ethereum because we are... excited. We're excited by the idea that Ethereum can change things. This May, we invited you to come learn what all the talk is about. We were joined by the leading teams in the ecosystem such as Polygon, Metamask, Aave, 1inch and Gnosis Chain who have a number of prizes up for grabs! This event is focused on building a new product/protocol, learning at the summits through talks and workshops, and giving opportunities to gain valuable feedback from ecosystem champions at the beautiful Convento do Beato. Find your future team at our Hacker Café and create even more meaningful connections while engaging with some of the most notable speakers in the industry at Pragma Lisbon. At ETHGlobal Lisbon you'll have the support of a huge community of experts, mentors, sponsors, developer advocates, and other community members who want to help you build something awesome. ----------------- Follow us: https://twitter.com/ETHGlobal Check us out: https://ethglobal.com Email us at: hello@ethglobal.com
Transcript
foreign [Music] from Walgreens and I'm here to talk about world ID why it's needed how you can be with it and how it's really released to integrate and you should definitely include in your projects so usually I will start this talk talking about like civil assistance and air drops and none of the minting all of those things but I feel like by now we all know why those are a problem and also like the Wally sensing really really fast we have all these AI stuff coming soon like if you look five months ago when we didn't have imagination we didn't have UTP for all these things the world has tinted massively even then and things that didn't really seem like an issue then like being able to tell who was a human and who was and outside of crypto an hour we are becoming a really big issue everywhere and so these problems of questions in you know like for projects for the wall for everything um how do you know what's real but also as we continue to build a system where these things slowly take over maybe hopefully not uh how do you continue building the system that you want to do how do you fairly distribute all the value that is generated by these things and these are the questions these are all these questions related to personal food the idea of who is a human and the goal of worldcoin is to build the largest network of real humans on iudity network and an economic work Network by giving away ownership for free to every human now when we started this project the first question that was really clear was okay how do you know what's a real unique person if you're if you want to give something away from free people are going to try to game that and if someone does they kind of like we're going to say for everyone so how can we ensure that you are a unique human and you haven't claimed whatever it is that we're giving away yet and what it became clear really quickly is that there were three requisites for whatever solution we picked which were that it was Private that we didn't get a database of everyone in the world's information that doesn't seem great that it was inclusive meaning that everyone in the world would have closer to an opportunity to sign up an example of something that's not inclusive would be maybe you know like asking for a driver's license for the US that this qualifies most of the world and that it was robust meaning that it would actually hold billions of humans in the system without breaking and making it easier to scale and we started looking out at each like maybe we can use email or phone this is not great because I mean I already have multiple phones and multiple emails and that's without trying to get in the system so it's not super robust maybe you can use kyc this is not great for the Privacy reasons because now you have everyone's information which is an ideal maybe you can use web of trust the idea of humans boating for performance this sort of maybe works but the issue is you need an initial set of humans that are trusted and you cannot start from zero which is what we're trying to do and then the last option is volumetrics something that every human has and in a way you can use to tell if they're human we started looking into things like fingerprint and the issue with most of these are mostly that like they don't contain enough information so something like face ID can unlock your phone Apple locks it out after like 30 inputs but according to their numbers one in I think 30 million people could unlock your phone so works if you're trying to unlock your phone and it looks after 30 inmates doesn't work if you try to onboard 8 billion people to assist them so fingerprint doesn't have enough info same for face same from Palm DNA kind of has it but it's also like really expensive and really slow and also kind of like people are already complaining about this being creepy mind if we're taking their DNA and so the thing that was left was irises and then we started to look at okay let's say that we go with Services how do we do that can we just have people take a picture of theirs in their phone and same issue as before there is not enough resolution if you even if you get really close the image does not have enough data enough pixels need to actually capture it you depend online and lighting and also not everyone has like an iPhone with an amazing camera some people have worse cameras in their phone or maybe even no camera we try with off-the-shelf uh sensors maybe the ones that they have on some airports where they can just like look at you and scan like that the main issue there is that organ quality what those systems are trying to do is check if the if your Biometrics match to what they already have in their list so it's not saying is this person in the list see like saying is this person equal to this person so that is much easier if you actually want to differentiate between humans this wasn't enough and so our solution was unfortunately it seems like we have to make custom hardware and no one wants to make custom Hardware because it takes a lot of money of time and everything but we did it we went through a bunch of prototypes and we ended up with this thing pure and the point of the orb is to first of all make sure that you're real make sure that you're not trying to trick it somehow that you're not shown in a screen with a picture of an eye or a dog or I don't know taking it to a kindergarten these are all things that people have tried uh then it will check that you have a unique Iris that you have not already been onboarded to all coin and we do this using an iris code which is a measure of the randomness of our of your iris which makes it so that we don't need to actually store a picture of your iris or Biometrics and you know you're more curious about that you can come find me later on aggress playing field works and then it verifies your wall ID is a name that became up with for this system that acts as an internet password it's an entity protocol and like any password it has a bunch of stamps so for example when you get verified with the orb you get the orb stamp meaning that this person has been verified by the orb we've also been working on having other stands for people that don't have access to the orb yet where maybe it's not the most secure thing ever like again one of the things that we support is phone number and people can register multiple phone numbers but the idea here is that if we have this passport full of uh to Identity signals to prove for example that someone is human you have different levels of how hard it is to get those stamps and for people that cannot access the orb it is better like they having a unique phone number still needs something because it means that if you want to I don't know like attack a system now you need a thousand for numbers or maybe Millions instead of nothing so the end goal is the goal but as we're building this protocol we want to make it so that us or anyone can add more stamps to this protocol to add more indications of whether a person might be human or not and our goals for this system was to make it privacy first maybe even Anonymous to make it decentralized using the tools that crypto give us and to make it open source because it feels like those are the requirements that like if I was working a project I would be comfortable with adding something like this and yeah we build a system called walidim and the system is very complex behind the scenes it uses a Serial Escape photography it does all the machine learning stuff from the orb but we worked really hard to simplify it so that when you are working on it there's just two things that you need to worry about and those two things are signing with wallcoin Anonymous actions signing with ballcoin is intended for web 2 applications for the original applications to use as a signing with Google replacement or any other sign-ins and makes it so that they can make sure the users are unique humans and also have a unique account without actually learning any information with them so as an example this is the open AI this is our version of the open AI chatibility signing page they haven't integrated that at least yet uh and the idea would be and similar to how they have continued with Google continue with Microsoft they could like continue with workcoin that brings them to this page where they just scan the QR code with their phone and then when they click approve sign in they're signed in in a completely animus way and the application only gets a random ID and then for anonymous actions we build something that works across every single type of this interest application and that gets validated on sane making it so that you can have Anonymous actions that cannot be tied to each other so an example here would be your building something like snapshot or a bowling platform you will be able to have a unique action for its governance proposal making it so that like you can steal on this proposal make sure that people are only voting once and they are not like attacking the boat somehow but at the same time not being able to trace people between boats so you get Anonymous vote here Anonymous boat here on different proposals and you have no way of telling if these boats are from the same person or not but when someone tries to go twice on the same proposal that's when you can identify them so in a way it's a fully Anonymous capture like system that lets you tell not only if someone is human but also happy than this specific action before which makes it really really powerful and the best thing about it is that it is really really really easy to integrate both on and off to so hopefully the thing I may have to really quickly turn the display because we didn't rehearse this before so that it mirrors there we go so I'm going to show a bunch of examples about this and maybe a little code um hopefully BC is big enough so that everyone can see it if not you can let me know and I'll make everything bigger the first one is the demo that I explained about satibility obviously like this is not actual sativity this is a demo that we made but we basically ability to show how the experience would be so you go to the page you click login you get taken to auth zero now this is really cool or Siri is a platform that lets people set up authentication without actually writing any code so this means that even if you don't are not taking I don't know how to code you can still take advantage of War coin but yes going in here clicking on the outside clicking a bunch of buttons and now you're a thing you have standing with work in your site so obviously for this hackathon we care about slightly more technical things on scene stuff but you can also use it without any knowledge of code so as I said before I get a QR code and then I just need to go to the wall app on my phone scan like your record with my phone and then it would show the do you want to verify signing with wallcoin here after I confirm it takes me home and in this case we just made an example of a hypothetical human mode that wouldn't be enabled if you sign in with ballcoin another example of this slightly more complex is we go to the wall lady Peters page which is a little page that we made so that people would be able to adopt um or little Cuts orbs so this is a page that allows people to maintain nft and then we give them the physical thing and implementing this in page is very very simple we have these packets called ID kit that has a already weak react component and in here you will just pass a bunch of settings like an app ID action all these things you can get all of these from our developer portal and I will later share a link to the documentation whatever all of this explained including story kids and all of that but the idea here is you just like initialize this way yet with a bunch of parameters then on success you get the proof you save it and then when it's time to actually do something like this like in this case actually mean the nft when you're calling the smart contract in this case I am calling it here because it allows people allow it the way that we build these apps specifically allows other people to pay for gas instead of the user but basically in here when I'm in is calling the contract aside from the address of the user and the name that they have chosen for their little mascot it also passes the three parameters of the proof in order for the contract to verify them now if I go to the contract which is over here this is a fork or four star kit so again most of the coding here you'll see commented out and explained somewhere else but there's this other function that as we saw before receives an address the name and in a bunch of parameters and the code here basically is going to check this nullifier has in a way is unique for this action but if for the same User it's always going to be the same number so the check is very simple we first take has this user already done this if it is we stop the execution after we call the wallet contract and delete please verify that this user does this proof actually is valid that the user is human and then when that succeeds we just like Mark it as this user has already done that and then afterwards is our custom code from the nft or whatever it is like I mentioned before if you go to our documentation or our GitHub page you will find enough uh far hot starter um fund restarted for the smart contracts and then also an often I think it's called obtain anyways the living side in the notion that I will give in a second and often starter kit for people that want to validate the proof you know without a smart contract through our API which is the excite same flow running stuff calling the smart contract you call an API or on saying and so let me go back to the slides there we go and so obviously this has a lot of use cases you can imagine for example air blocks which is why we initially built it but also governance building like italic has been charity and everyone like stopped doing the coin boarding it that doesn't really work but no one really listens and more it does mostly because we had no way of actually owning users that they were human before now we do there's also a big so the centralized social media movement lately with for lens for example that tries to figure out the next generation of social media and algorithms are very vulnerable to manipulation and especially if you have instead of accounts and caps as smart contracts that everyone is still including Bots can call so incorporating some incentive layer for boyfriend that you're a human also worse and there's a lot more stuff that you can play with basically there are reason for us being here is for you guys to get inspired and then see what you guys can do if you want to see more concrete examples on our documentation we have a use case space that goes more into detail on things that you may want to build with this what is possible Etc and we also have 20km prices for a bunch of categories these will all be need Global page and on the intro keynote in a few hours so I'm not going to go over them right now but basically you can play around with it and probably make something cool we have this SDK as I mentioned before developer portal and this is a QR code that gives you access to it where in early stage rolling this out basically this lets you skip the wait list if you don't manage to actually capture this right now don't worry come to our booth upstairs we still give you a QR code we have like below stacks of paper that have a bunch of QR codes that you always name gonna give you like five seconds to take that picture but again if you miss it it's fine and yeah as I mentioned before we have made this page welcome.org list 123 which is an ocean page full of resources it allows the prices the QR code that I that I just showed the documentation of the story kid so answer that there's basically everything that you will need this is the one that you need I probably should have a QR code to this as well but it's a pretty easy to remember URL and as I mentioned before downstairs are both with a big stack of papers with a bunch of QR codes and this is one of them so to summarize a little bit we are building wallaby which is a global entity protocol it's fully it's fully open source it's private is a centralized and it lets you check if people are unique humans right now it uses these signals of urban phone but we want to continue exploring also whatever things people might in the future maybe at some point instead of just being able to know whether someone is a human or not you can also use NOS proofs to prove other identity attributes we're again still exploring and we hope that you guys explore as well um that's it I think I have some time so if anyone has any questions that's the time yes or may I call it right so the question is if the wallaby gets saved to a wallet and the answer is it doesn't basically the way that quality Works within the seeds it's it is a sacred it's a it's a separate private key that your phone generates and the reason why it's separate from your wallet is because you want to be able to be to use this from any wallet at all thanks to admin Anonymous that means that if you have multiple wallets or you have multiple identities if you have an anon on Twitter you would be able to use your whole ID from for some things that they want to do like me volume proposals and then for some other things from your entity without being able to dock yourself uh so again the way that it works is it's a separate key you use that together with zero Edge proofs that is already handled for you from the app and integrate with idkit but it is not tied to any wallet and that makes it so that you can use it with any wallet yes right this terms as of right now are meant as one-time stamps we are not we may at some point as we are getting more data and as I mentioned the part of the Iris scanning process in both machine learning so as those algorithms improve we may be able to improve their accuracy and maybe reissue the stamp or like have a new one we're still figuring that out this the protocol is made so that stamps are a one-time thing but you could issue multiple ones in the future uh the way that the art Works basically you need to go to the other ones and then once you have the equivalent on your phone you don't need to go again but in the future as new stamps get added or as some stamps improve accuracy if it's meaningful you could think that they maybe make like a B2 stamp or something of that of the sorts yes right so the way that it works is first of all orb takes a picture of you and combines that with the public key that you that your phone generated that is shown to the Orbison QR code uh you have an option to explicitly opt-in to let us collect data like the photos in order to improve the algorithms but by default that is not the case so in the case where you don't consent to that the images get deleted immediately after they get converted into the iris code and they would never leave the orb uh for the case where you do consent they get encrypted and stored uh in a cloud so that we can use them for training and then the iris code and the public key goes unsane to a Smart contract and then they are stored also as a mapping because at some point we want to enable the idea of you being able to go back to an orb and we kind of like invalidate the identity and we and issue a new one in to make sure that like if people lose it they can still go back and recover it that is not in place yet but we still need to like tie the iris code to the public key in order to enable that in the future the really good news about that is since the public key is not tied to any of the usage and also the Aries code is there's not a way to recover that into like knowing who you are without you getting scammed again it's still fully private even though we are storing those two pieces of information yes so can you speak louder yes as I mentioned that is a QR code that lets you skip the waitlist if you scan this one you get like an invite that lets you skip it can if you don't capture this will be downstairs you'll be able to get the link there the waitlist is mostly as a way for us to work closely to the with developers and make sure that like we can give them all the attention that they need that we don't have like a thousand people suddenly trying this like thousands of people and we are just like being floated with ideas on how to improve it um but the protocol is ready it's just a way to make sure that the developer experience is very good by working closely with the developers that we are laying access to and participating in hackens like this so again this lets you skip it it's below that's I think it's all up as something that I want to mention before we all go is in previous hackathons we've had this thing where people will actually go through the flow and do almost everything right like uh it's like let's say the integrate the etiquette weird which is the preferred way to do this uh they would integrate that we get they would set everything up they will then get the proof and they will not validate it and this is not great because it means that anyone with some basic knowledge of like hacking or doing bad stuff can just give you an invalid proof and if you never check yet then did your like the whole purpose of this is good same thing for if you actually check it but you check it on your client on the front end then someone can use like interested that request and change it so unfortunately if you do that we will not be able to give you the price even if you really want to and you've built something really really cool so I feel like I'm saying this at every single conference and someone still forgets so I'm going to be saying it again uh once you get the proof even if if you do it through the API if you do it on chain make sure that that proof that you get you send it either to your backend or to a Smart contract and actually validate it there otherwise BS whole thing has a nice UI but doesn't really serve any purpose so please remember to do that and let's see if this hackathon we can get no one making this mistake yes sorry I'll be gone the court quality cam scan has to drop in the call to be there for not exactly yes or no these are two separate things we have the world app which is like the world that we get people there is the application where you through which you use wall ID but at the same time it also creates a wallet for you so the wallet is separate to wall ID for this is intended because the flow the way that we're embroidering people with blockchain is we are all over the world going to every single City that we can think of being high in Boots there in like the streets in shopping centers whatever and actually talking to people explain to them how crypto Works what Vulcan is what ethereum is what stable cons are all of those things and so for those people that are getting onboarded to crypto for the first time I don't have a wallet we also give them a wallet so when you actually download the Whirlwind app you will get a wallet now that wallet is separate from gravy and for example I already have my wallet that I've been using for years and so when I'm using wall ID what I do is I connect when application tells me to connect a wallet connect with like me my existing wallet and then I just use the wall app for wall ID so so these are separate things as of right now yes the wallets that we create when users query the app are nurses save Wallets on polygon that will be optimism soon but that is unrelated to wallet think I think we're off time so thank you all for um listening and if you have any other questions I'm pretty easy to find I'll probably be around the booth downstairs is very close to the entrance and yeah come find me Good Luck building with yv and I'm sure you'll make some really cool things
Automatic transcript — names and jargon may be misspelled.