Introducing Self Protocol
Pragma Denver 2025 · 25 Feb 2025 · 15:50
Marek Olszewski launches Self Protocol, a mobile app and SDK that lets users prove facts from a biometric passport on chain without handing their data to a counterparty. The app scans the passport and reads its NFC chip, then generates a zero-knowledge proof that the passport's certificate chain is valid, so a DApp can learn that the holder is over 18, comes from certain countries, or is not on the OFAC list without seeing the document. Proving is accelerated by a trusted execution environment whose attestation, the speaker says, lets anyone verify it stores nothing, and Sybil protection means gas for submitting proofs can be sponsored.
Speakers
Topics
From Pragma Denver 2025, hosted by ETHGlobal.
Transcript
[Music] and for this I'd like to bring on Mark to tell you about self protocol so please give Mark a big round of applause thanks thank you cark um it's so wonderful to be here today uh today we are absolutely thrilled uh to be announcing something new so you guys are going to be among the very first people to hear about this uh today we're launching self uh protocol um and um yeah super super excited uh self. XYZ
just went live so you can check it out and um if you've seen any of my talks before uh you'll know that I like to try to make things interactive I try to make things fun uh and so today we're going to play a little game of guest to country while the talk is happening um and all of these countries are actually supported by self protocol today so if you see your home country then you'll know okay perfect I can use self today and there's many many more countries that we support so I'm just going to warm you guys up uh what is this country just yell it out easy right too easy maybe uh try to yell a little louder though let's make a competition here and these are going to get much harder so it's going to be a lot more fun if you start yelling what
about this one France over there only one person guessed it okay guys you gotta bring your game what about this one Canada okay this one's easy we also support the us but that one would be you know definitely too easy to show for you guys um but okay I think you guys get the gist uh so these little shapes are going to be embedded in the slides uh and then if you see one just yell it out again let's make this competitive okay so I wanted to start just by um you know reflecting a little bit um you know we're uh still a fairly young industry um all things considered and there's still a lot of unsolved
problems in crypto uh any guesses any big unsolved problems that you really would like to be solved but aren't solved yet anyone identity perfect anything else usability yeah permissionless chain aggregator very specific one uh any anyone else privacy yeah these are all really good ones um and I think the first one uh touches upon this identity uh problem that someone just mentioned right are you sibling I would argue that this uh is still unsolved today even though
obviously Bitcoin uh did solve this uh back in the the day but you know with the uh major downside of needing a lot of electricity uh proof of stake I think came later which does solve it but with a downside of um plutocracies uh and then worldcoin of course has been working on this but um worldcoin solution isn't available to everyone if they're not close physically close to one of these orbs that they've created so are you sibling I would argue is still something that we haven't solved uh the second one which we got a a pretty uh nasty reminder of Last Friday uh are you a bad actor our industry really struggles with this
especially when it comes to uh smart contract based applications right if you want to do something in a fully decentralized permissionless way uh we do not have a good solution uh for solving this question and so I would argue that this is also unsolved and as of recently with the rise of AI agents now have an additional problem that we have to think about about that is are you even a human um which is crazy five years ago who would have thought we'd have to think about this but you know here we are tons of Agents now Shilling their meme coins hopefully doing more useful stuff soon but in the meantime you know every time you come across one of these agents you have to think about are they
even a human uh and so I'm excited uh to be sharing self with you guys today uh which really is aimed to help you with these problems um so once again we're launching today uh this is a fully audited um release audited by ZK security uh and we're just really really excited to to share this with you today and at the heart of self uh is leveraging you know what I would argue is the most trusted meatspace attestation that you are a unique individual and that of course is a passport how many people here have a passport raise your hand yeah yeah all of you perfect so you can use self um the nice thing about passports is that
they are fairly difficult to obtain uh they are unique to individuals within the country that is issuing them um they're stored securely right you need them to travel so when you're at home you probably don't let them sit anywhere uh but you put them away somewhere safe uh and um how many people have noticed these little this little logo uh that's on the bottom of this example passport on the left this logo means that your passport is a biometric passport and these have been around for the last 20 years and these passports are machine readable uh which is pretty cool and so not only are they machine readable they use some pretty cool cryptography uh that basically makes it
hard to forge these passports and so similar to how TLS Works where you have this certificate Authority chain uh going up to kind of this um root certificate Authority uity passports have the same thing every country has uh one or two country signing certificate authorities and effectively these sign a chain of uh keys that eventually sign the information in your passport and these signatures are stored in your passports so that if you know the public keys of these uh country signing certificate authorities you can verify the authenticity of that passport using just cryptography and in fact when you're entering a new
country um the the Border agents uh if you see them scanning your passport or if you're using one of those automated Gates that scans your passport this is in fact what they're doing they're verifying that your passport isn't forged through cryptography and that's pretty cool right we like cryptography and crypto um and because this is U machine readable by phones we can actually leverage it into a really cool applic a uh that can verify your passport information and so that's exactly what uh self is doing uh but it's doing it critically without a counterparty who likes giving your personal information to third parties when you're signing up for an exchange
or for some airdrop who likees scanning their passport actually I don't like that um or uh and and sending it God knows what they do with it you know I've heard of lots of hacks where these kyc providers got hacked uh and then all of your information uh gets leaked nobody's raising their hand of course nobody likes this and so instead would you prefer if you could verify the authenticity of your passport on chain who likes that yes people are saying they like that but if you were to do that you'd probably be revealing your passport information to verify all those signatures so actually I would argue you probably don't want that and instead what you probably want is to verify the whole certificate Authority chain in ZK
so who wants that that's what I want and that's what we've delivered again and it's audited today it's live as of this morning and what's really cool about this is once you've gone through this flow once you've registered um using the self application and you verified that your passport is in fact valid then you can start doing cool things where you reveal information about yourself without revealing all of your information so for example if there's a third-party dap that wants to use self to ask whether or not you're above 18 you can disclose that information without revealing your age using the self protocol you can disclose what country
you're from you can disclose what countries you're not from and you can even disclose that you are not on the ofac list and so for B proving that you're not a bad actor we finally have a really cool solution that doesn't require account counterparty all it's doing is using mood maath to verify this information on chain again without a counterparty so pretty cool hearing any um folks yelling at countries did you guys see any this one's hard actually let's go back what about this one here Singapore Singapore is right uh this one over here turkey turkey is good
whoever guessed that over here this one this next one is harder any guesses they recently changed their not China they recently changed their name czechia is correct awesome whoever's over there is really okay so what does all of this look like together you might be wondering well it is a mobile experience uh hence all of the mobile screenshots um and so there is is a mobile app that you can install um I think that app is going to be released later today and with that app you can go through a fairly simple onboarding experience that starts like this the first thing you need to do is
scan the front of your passport um this contains some data that effectively encrypts the data that's available on that biometric chip then you use your NFC Reader on your phone to uh read the NFC chip data uh decrypt what's on there and then create a ZK proof that then you send onchain to register and so it's really that easy right this was pretty quick uh highly encourage you all to check it out and once you've done that you're registered and you can start interacting with daps that are asking for information about you uh like for example that you're not on the ofac list or something like that
and so what does that experience look like well you start on the home screen you press that button on the bottom and daps specify what they want you to prove using a QR code and so you scan the QR code it tells you what the DAP is asking you here it's asking that I'm over 820 that I'm not on the ofac list and a few other things uh and then you prove this fact submit it on chain you can also submit it directly to the DAP if the DAP doesn't need it on chain uh and then you're done so it's pretty pretty easy what do you guys think cool so how does this work anyone guess
this country I heard Poland over there that's right uh once again all these countries are supported um so how does all of this come together well you know we know it starts with the passport we have the mobile app that's available uh that will be available soon uh later today on IOS and Android uh with that mobile app you can scan these passports again using NFC using the flow that we just saw now to protect users uh from the governments of the um that are issuing these passports uh the mobile app will actually need to generate some Randomness um uh effectively um you know
random string um that we then back up to the cloud optionally if you like you can also just write down a seed phrase if you don't trust your cloud provider uh we do put it in uh the keychain store and in the app specific Google Drive store so that it is secure um but we do that again for your privacy and then to generate these proofs uh sadly the the proving mechanisms that exist today are not quite mobile friendly enough to do this on the phone for every country out there there's a few countries that have signature schemes that are very very difficult to do with low memory and low CPU uh and so we accelerate the generation of these proofs using uh a te
a trusted execution environment service all of this is open source and the te provides an attestation that it's running a certain uh image and so you can actually go and verify that this te is only accelerating the generation of these proofs it's not storing this passport information and it's not sending it to anyone and the mobile app uh communicates securely through an encryption Channel um with that te so again no one can see your passport data we can't see it uh and certainly uh it's not stored so even if there was some God forbid hack uh there wouldn't be any data there to steal and so then this te generates these proofs and then it can submit them
directly on chain for verification uh we write to the cell chain uh which in about a month is going to transition to become an L2 so in about a month's time all of these proofs will be verifiable effectively across all of ethereum which is pretty cool and another really cool feature is because we have civil protection built in directly into the protocol we don't actually need uh to have you pay for gas we can pay for the gas for submitting these proofs on chain because we know that you can't sible us uh which is pretty neat um and yeah and once the data is onchain then again third party daps can verify it uh and you can be Off to the Races it can be verified by smart
contracts so if you have a smart contract that needs to gate uh users maybe no ofac users uh then it can interface with this data that's on chain and um the other cool thing that we have is an SDK which we're also launching today um and so if you have a use case maybe you care about solving Cil attacks uh maybe you care uh about verifying that someone isn't in fact an AI agent um verifying that you're not on the ofac list um maybe you're a wallet provider and you want an extra factor for recovering uh a multisig wallet or you want to do something fun maybe all you want to do is create a mem coin that
rewards people uh every time it's their birthday uh or maybe you just want to reward people for being called Bob you can do it anything that's on a passport page you can effectively create a protocol uh that verifies this information on chain and you can create fun stuff you can create serious stuff um you know we're available again today fore you to start tinkering uh so go to self. XYZ and definitely check it out [Music]