Worldcoin 🛠Global Proof of Personhood in the Age of AI
ETHGlobal·Mon, Oct 9, 2023, 12:00 AM
Join Flywill and Miguel Piedrafita from Worldcoin for a workshop titled "Global Proof of Personhood in the Age of AI". Thank you to everyone who joined our first in-person appearance in 2023! We are incredibly grateful for the support and contributions of all the hackers, tech mentors, judges, partners, and volunteers who made the ETHGlobal Tokyo event such a huge success. Without your dedication and expertise, this event would not have been possible. We would also like to extend a special thank you to the attendees who traveled from over 59 countries to participate in the event. Your presence and involvement made it a truly international weekend, and we are thrilled to have had such a diverse group of participants. With over 1070 hackers it was a pleasure walking into Toranomon Hills and seeing such a talented pool of individuals. With over 22 workshops, 9 talks, and over $375,000 USD in prizes we hope you enjoyed the weekend full of hacking, meeting all our incredible partners and learning from enthusiasts of the space. We are proud to have welcomed over 35% of attendees who were new to Web3. We hope this event sparked your interest in the world of blockchain and provided you with valuable insights and knowledge. We cannot express enough gratitude to everyone who contributed to the success of ETHGlobal Tokyo. We are already looking forward to the next event and hope to see you all there! 🎉🚀 ----------------- Follow us: https://twitter.com/ETHGlobal​ Check us out: https://ethglobal.co​m Email us at: hello@ethglobal.com
Transcript
foreign [Music] GM I'm flywheel this is Miguel and we're gonna talk about world coin today um so in case you haven't heard about us World coin the shiny orb uh and World ID the identity protocol that we're building um we're gonna start with a little bit of the story um so obviously uh the world is changing very fast uh we now have uh some amazing stuff coming in uh AI robotics uh you name it right uh and it's becoming a little bit more of a problem of what is actually human and what I actually Bots online right uh we're starting to see how intelligence is really no longer a discriminator online um and these sort of problems start to come up right um particularly um in the exciting world of AI and with all of this advancements um it's getting really hard to know what's real out there uh how do we make sure that um value is fairly distributed uh and that we're prioritizing humans right um so all of this comes to personhood why the person who go away but first thing about I don't know I'm sorry about that animation uh all right it's not a demo if something doesn't fail right uh but personhood um so this is what it's all about um world ID uh well we're gonna talk about you today is about personhood and distinguishing real humans in the digital space um so World coin uh this is the Dollar World coin the largest network of real humans and we're doing this by giving away the ownership so um we are launching the world coin token uh which will be distributed uh to every human on the planet just for uh being humans and we're doing this because uh we can do personhood verification and ensure that a single person can only claim their share ones um and of course you run into the issue very quickly how do you know who is a real and unique person right uh we've all seen this before civil attacks uh quite easy to um replicate yourself and make it look like you're a hundred people um and kind of like game the system so we this is uh the problem we started to solve and that we're now um offering uh in an open protocol for anyone to be able to Leverage um for worldcoin we want to do this in a fully private inclusive and uh robust way so what does this mean is we want everyone to be able to have access to this uh we want uh all data to be uh private super serving and kept uh in the ownership of users and we wanted to scale Beyond a billion people so we explored a lot of options um all of this uh turn out to be invisible I mean email or phone I think we can all create right now a thousand of them very quickly um IDs is a lot of uh people turns out don't have IDs uh you'll run into a lot of issues with um uh the different types of IDs uh four juries all of this uh web of trust is actually a great solution once you have a trusted seed of um uh humans but then how how do you bootstrap this um and then that leaves biometrics So within the realm of Biometrics of course there's several options right um and these are just uh uh some of the options that we explored um but again we ran into different issues you know fingerprints uh it's easy to spoof uh remember here we're trying to demonstrate that you're a unique person uh not that you are you so when you're for instance using your fingerprint to get into your office you are just demonstrating that your fingerprint Belongs to You whereas here you know I could very easily like make a little cut in my finger and now I'm a different person um face is doesn't have enough entropy to recognize uh Beyond like uh billions of humans uh DNA is um very intrusive very logistically complicated uh not a good option so that's uh that leaves Iris and that is how the orb operates uh through the entropy of the eye virus um then next problem is all right we know that we can use Iris to recognize a billion humans um how do we get the entropy of the iris uh and then again we have we we went through different options and I mean the tldr here is phone uh sensors are very um very varied and most of them don't have the the resolution that's needed to to extract the entropy to distinguish a billion people and even then you get into issues with uh trusted Hardware right like how do we make sure that you're not um using a rooted phone that's feeding false data and that's why we ended up building custom Hardware which is the ORF um yeah this this was a little bit of a long time to build um but here here's the album um this little guy here um as you can see we we went through quite a few prototypes uh all the way to this is where we are today and a little bit of a sneak peek uh just for you guys of where we're gonna be tomorrow um this is already uh we are uh in test phases for this uh this newer version uh the the whole idea is uh this um these ores are um uh produced to be in untrusted environments and very easy to operate so that you know anyone can uh command to the verification and walk away with their verified World ID um the ORF those these three things you make sure you're a real alive person uh make sure that you're not doing anything fraudulent like for instance that uh it's not like two people standing uh close together uh Prosthetics uh you're not wearing glasses or things like that that would um interfere with the entropy of your iris it checks that you're unique and it verifies your world ID and this is your world ID um so World ID you can think of it as a digital passport uh that leaves in your phone is completely self-custodial uh World ID is based out of uh uh key pair that is created on your phone only lives there and uh it's very uh the public key is what um gets inserted on chain once your identity is verified um so beyond personhood uh because your world ID already recognizes you as a unique human more more credentials can eventually be attached and issued uh within within your world ID protocol right so today we are supporting the ORF verification um and we are launching a beta for phone verification so kind of like the two ends of the proof of personhood Spectrum but the protocol is completely um decentralized and agnostic so we we ambition very soon other credentials will start to show up and and you should buy different um different different parties um the world ID protocol so these are these are the guiding principles for the world ID protocol first and foremost is privacy first it's not like uh privacy is an afterthought is if we start with privacy and we'll talk about a little bit more uh about privacy in a second it's completely decentralized the source of Truth is on chain it's a smart contract and that's it um permissionless and all of it is all of it is open source um the um the hardware of the orb is already open source as well ah you can already check it online uh and we'll continue to open source uh the software and everything else because um that's what it's all about uh um so how can you use World ID there's two way there's two ways to use World ID you can use it as a signing mechanism signing with worldcoin very easy or we have an advanced version that lets you do what we call Anonymous actions so sign in very simple you know you add a button in your in your app in your website sign in with worldcoin uh and the user authenticates using their word lady the the benefits that you get is you get this credential on How likely the person authenticating is to be a human because they've either verified on the North or they have phone verification right so um as more signals get added then this this can become a continuous spectrum and let you verify the different levels so if you're building I just heard an idea about a dispatcher uh that that prevents civil attacks and Bots yeah you could do something like well if you're verified will give you a hundred transactions an hour but if you only have phone will give you five if you have nothing we'll give you zero right uh it's kind of like uh it can be thought more of a spectrum as uh more than binary uh Anonymous actions is for a little bit more um enhanced privacy use cases uh for signing with worldcoin the the person verifying will always give the app the same identifier to make sure that you know you're the same person uh authenticating for anonymous actions you can actually uh generate different identifiers for each of the actions that the user is executing so a good example of this is boarding right so say you're building a voting platform you want each proposal to be voted only once per person but you don't want to be able to link boats of the same person across proposals so if I vote Yes to proposal a and no to proposal B you we never want to be able to link those votes together so what we can do is each of these proposals can be separate actions and therefore like privacy preserved across all of this is accomplished because whenever you're using World ID you do so with serial knowledge proofs and the serial knowledge cryptography is what um is one of the biggest privacy components of the entire protocol you cannot use uh the the world ID credentials without going through the serial knowledge uh proofs which make it impossible to track uh users across applications or to um kind of like break the Privacy there um yep you're good I'll leave you with Miguel to show you a cool demo yes so first of all I'm just going to speed through this because this is basically the fallback if the internet breaks but we're hoping that you'll will be able to actually demo this in real time but as Paul was saying um the really cool thing about wallaby is that it works on same and it can also work um often if you need to we have an API it still goes insane either way but the really cool thing about this is that if you're completely new to web3 which I think some people here might be or also developers that are not really that into crypto you can still get the full privacy guarantees that Vulcan provides without any of that and it's also really really is to integrate I'm going to show you that now so first of all I'm going to go really fast here because we're a little short on time but everything that I'm saying here if you go to docs.walker.org we have an excellent documentation that you can look into it will explain how to do everything I will like jump across it right now but yeah basically anything that you miss it's going to be in there and there'll be a link at the Indian representation as well on a QR code and everything so the demo that we have the screenshot here is 30 PT I feel like at this point anyone knows it this is not the official sativity it's a clone that we made just to Showcase how easy it is to integrate along with local so in this case we are using uh auth0 which is a platform that allows you to provide authentication services and it's actually the same one that open AI chooses and the really cool thing about all of these is that it took zero lines of code to get this to integrate with Vulcan because signing with welcome uses the same standard that signing with Google signing with Twitter signing with apple uses meaning that if you have any kind of packets or library that supports any of those like passport uh Super Bass alt zero any kind of code that connects with those you can probably really easily make it work with working as well and so the way that this works is the user will click continue with welcome and then that loads up a QR code and then on the user's phone they would go to the wallcoin app here and then they just click the little cure at the top and scan the QR code um now you don't need to actually get scanned to download the app you can use the phone signal that Paulo mentioned if you don't want to get scanned for any reason and if you cannot get a hold of us also for like the stadium environment kind of like the test net you don't need any of these at all you can just go right ahead but I will get this pop-up on my phone um and as I click verify it will generate the serial it's proofing my phone send it over to the computer and then uh I will be oh um logged in and in this demo basically we just like add a little human mode as a joke again this is not a real sativity but again signing with Vulcan zero Lanes of code to implement you can obviously do it with code but you don't need to which is the really cool thing for a slightly more complex example and basically um we have Anonymous actions and as Paula mentioned Anonymous actions are more usually for unseen use case or use cases where you don't really want to persist I know who this user is and more one to let them do well Anonymous actions so for example let's say you're making something like I don't know curious cat or any of these platforms allow you to like ask questions anonymously or both on a propose anonymously you still want to prevent spam or prevent people voting twice but you don't want to kind of like break the Anonymous thing you still want to be able to like have these people ask questions or both without revealing who they are and so if you did sign in with worldcoin sure you would not know you would not know who the expression is but you would know oh this person who I don't know who that is just like did these five things and as they do more and more things you would maybe be able to start learning some things about them like who their friends are or what kind of proposals interest them Anonymous actions cannot let you reduce the unlimited pool to a single action and what that means is if I have a voting platform I could make Anonymous action for its proposal and So within a single proposal when someone is submitted about Icahn on sale or often figure out has this person bought it here yet which is kind of what you want um but when you are doing something like a different proposal if you're running a different proposal someone votes and you have no way of knowing these two votes from different proposals come to the same person it's Anonymous so there's no way of knowing um as an example of uh how this might look like we have this less integration that we made a while ago that basically lets you mark your lens profile as belonging to a human and ideally this would help reduce spam or maybe be taken into account when they do machine learning and if we go to the uh repository for that and the smart contract and I'll try to keep this very simple so people that are not into solidity don't get scared um basically the way that this works is we have a function here verify and this will get the profile ID and this is like the arbitrary argument that I am pass in let me make this a little bigger uh the arbitrary argument that I'm passing and then these three arguments that walking yes gives you and again this is some documentation we have a starter kit which with everything that you need to get server here and so basically the first thing we're doing is we're calling the verified proof metal insane and this will just say is this proof that the user has given me valid if it's not the transaction reverts nothing has happened your code doesn't execute so you don't need to worry any of that after that works here's where you would usually say like okay has the user done this before in this case we don't want to make it so that you can only do these once what we want to make sure is you have only verified your profile once so if you have already verify a different profile we will first um unverify it and then verify the new one in this case we're using the this ID in this Anonymous ID that you get from the anonymous action instead of just like by taking true or false has done it before more to um store the idea that they have refiled and reverted so it's more of like an advanced use case um on the website side um we have this Library called um idkit and it's basically it's a JavaScript library we add react components but if you're using view spelled something else you can still integrate with it and basically just gives you a component here where you can pass an app ID that you get from our developer portal we give you a QR for that in a second and an action which is just like a text description or whatever action like building in proposal whatever or claim nft Tokyo and then just an awesome sex unsuccess callback and basically what this will do is we'll open a model with a QR like you saw me do before and then when the user completes that you will get your serialized proof on this result part and this is the part that you need to send to your backend or use my contract for verification whatever you are and again I'm going to retreat this because or on previous hackathon some people usually just like console.log the proof and get it done you actually do need to verify this like someone who just like inspect element saying some stuff and actually gets your proof that is not valid so you do need to verify it ideally not on the front end so again if you have a smart contract that's the place to do it if you don't have a server an API somewhere verify it there very important otherwise it's not civil assistance uh and yeah basically you as I said as I mentioned before have all of the things that you might need here if you have any questions you can go find us in the booth we also have a little like utp4 power chatbot here that you can use uh so if I were like how do I verify proofs on sane it will give you the answer and the correct basis so if you just like have a short question you could do that or if you have a DVD as everyone does these days and you have the plugins beta you could also use that to ask the same thing and you will have access to your logs so again trust humans more we have a Discord Channel we have a on these Global a Discord and that will actually answer all the questions there we have a booth over there it has like a nice purple shade so you can find it really easily you can also come find me really easily I feel like but yeah you get you get the idea yeah before my computer dies and so as I said uh before this actually has a lot of really cool use cases the main ones that we have highlighted are both in our table systems you know but for airdrop which is original idea unquarters Landing uh nfps in general consumer incentives I mean this is you probably have a lot of ideas but you can use it for almost anything and yeah we as I said before the logs that have everything also have a list of suggested use cases that you may want to use for inspiration uh we have uh 20K in prices I'm not going to read through that you guys know how to read and it was on the website and on the key on the starting kickoff that we're going to do later but basically choose whatever suits you best and yeah uh as I mentioned before we have a developer portal that you can use uh that's the QR code if you don't manage to get it here come to the booth later we'll give it to you it's fine um but yeah this is like this unlocks the developer portal that you need to use to in order to integrate it to have like a nice image so next to your demo in the app all of the cool things I'm going to wait for like now the second for everyone to take a photo um yeah otherwise again come to our booth we'll give you the QR code and yeah all of the resources that I mentioned and even more that I didn't mentioned like starter kits more ideas all example products that we have code for front even backend are at workwind.org East toky23 so really easy to remember URL go there you have another an ocean page with everything you will ever need again any other questions that you may have come to us on our booth ask AI whatever you want and also it's like a little thing if you want to see a demo of the anonymous actions you can just like come by your booth and ask us about uh worldly and we'll just like give you the page to claim a nice NFD using learning those actions so you you do need to like get on board with the orb in order to do this again we're like demoing the thing but if you want to get a nice nft and try out the experience feel free to do it yeah that's that's about it this is wallady it solves the whole civil system issue that we've been worrying about for so long that is becoming more important even now with AI also a really nice Anonymous identity solution for anything that you may want regarding privacy um yeah it's here and feel free to use it now I hope you have a good time yeah so anyone have any questions hey guys well thanks so much just a quick question okay now it works um what's the typical proof generation time and proof verification time just of Interest so proof verification time on the Fontaine is whatever it takes to minor block because that's what our transactions take on ethereum well this is polygon but well transactions taking polygons so I would say like a few seconds I don't know the average block time but like I don't think it's more than two seconds uh proof generation it's usually not the uh issue at all the issue especially in hackathons is how much does it take to send it over because Wi-Fi uh but like definitely less than five seconds usually less than two it's pretty fast it also depends slightly on the phone that you use you have like a very very old uh Android phone specifically they can take like maybe five seconds or so but like we've seen that in general like the blocker is more simulated over more than you know in the proof because you just like doing math on your phone so I only need to verify myself once either with the orb or the mobile and then it will be with you forever yeah basically the way that it works is you verify yourself once then you have the key forever um if you have the phone verification and you want to get your you have to go to the orb uh the phone is more of like uh what we call weak civil assistance because I mean it's not that hard to have multiple phone numbers I have two but it's like harder to get like a hundred or a thousand or like multiple thousands so this this is why uh on apps recommend to like add like tears and kind of like give less access to the phone and more to the or because you're easier is to prevent spam well I mean spammers can get phone numbers but they can probably not get large quantities of them so it's more of like uh this orb is not everyone in the world yet like there's one in my city there may not be one on yours so it's more like a temporary thing where it still gets you integrated with wallcoin makes it really easy to support both and then ideally at some point as we have more signals you have like a more complete picture of like how human this person is or like how human do we know this person is ideally every person is is human but yeah you get it uh but yeah basically you verify yourself once either with the orb or the phone number you have the proofs on the key forever if you want to kind of like update your verification as in like you have phone and you want to like go to an orb you can do that but you don't need to like have an urban home and scan yourself every day basically sorry just ask questions so everything of my personhood will be on chain as my work ID what's the likelihood of I mean what's the worst case that someone had how easy it is right the your person who is not really insane what is happening with the orb or the phone number is your phone you know it's a private key which is like separate from your wallet private key and this key will be used to kind of like sign these proofs of personhood so basically uh on saying there is just like kind of like the equivalent of the public key of this property that you have uh so in really there's like nothing on saying of like your personal cleaning away same for the phone numbers the phone numbers are hashed and likes um and you just like store the public key the phone numbers are not given to the apps or put on same and so basically the way that we've done it the worst case that could really happen is if you somehow manage to like export your private key and give it to people um which is not supporting the app yet but at some point maybe we'll let you export your wallet private Keys then at that point that person could like generate proofs and then by that point we will have a way to for you to go back to an orb invalidate that key engine with a new one but basically there's no risk of like you even even doxing yourself so it is pretty secure yep thank you so much hope you have fun
Automatic transcript — names and jargon may be misspelled.