Adding Verifiable Credentials to your crypto wallet

ETHCC 6 · July 2023 · 17:38

Silvia Aran explains how wallet providers can combine verifiable credentials and zero-knowledge technology for identity management. The speaker examines privacy in users' onchain interactions.

Speakers

Topics

From ETHCC 6, hosted by Ethereum France.

Transcript

that's right I'm ready good so hi good afternoon everyone my name is silvieran I am the technical sales director at polygon ID and today we're gonna talk about adding verified credentials to your crypto wallet so after leaving this room today I hope that you you will know perfectly how to manage identities in your wallet right so how to offer identity management features in your wallet and on how to improve the user's privacy in their own chain interactions by leveraging a combination of verifiable credentials and zero knowledge proof Technologies right so first of all why identities are so hot to be nowadays well simply

because web3 is being regulated right so and our privacy is being in the on the chopping block so as you probably know online age verification is coming and also kyc and EML checks are coming with implementation of mica and also with the travel routes regulations that recently or in the near future are going to request to give AC and AML the users that are transacting with amounts above thousand Euros or the equivalent in crypto and this is for the centralized Finance but probably in the decentralized China will come and that's simply because one reason because

nowadays when you interact in the internet no one knows who you are right no one knows who you're interacting with and that's the memory that you see in here so and then we need to to be able to start building reputation with identities and this identities need to be better protected more private and Sovereign right so and then what's what's the state of the art of the digital identities in the web3 space I would say in the decentralized space let me some of you maybe are already familiar with the digital identity concept but for the ones that are not just let me briefly guide you through the evolution of digital identities so we started in in the initial days of

Internet with the typical account based identities so yeah you just have a user and a password right that evolved into the Federated identities like your Google accounts that could be used with multiple with multiple applications right the only handicap of them is that well you don't know you don't own your data you don't own your identity and well that's not what we want in the web 3 space right you would like to have decentralized identities on and controlled by the users and that's actually what we deliver with decentralized sales Sovereign identities as I said in that in in these Solutions the SSI is created owned and managed by the user

the user's data Prime personal information is stored in the mobile phone in the mobile wallet owned by that user right and then in that manner also this data is secured with cryptographic keys and then you can keep that data private or minimize the amount of information you share in your interactions and another important aspect is that this data is reusable and portable so you don't depend on a third party now to to start using that data with whomever you want because it's in your wallet well now um and then how do we implement it right well a digital identity is nothing else

than a combination of an identifier with a bunch of identity attributes that are actually defining this identity could be your age your name your your education all these attributes are attached to the identity and to the identifier sorry and the ways and depending how this is being implemented you will find a lot of different solutions and how how to deliver this SSI solution so you will see in this table that you can't have identifiers that could be for instance ethereum addresses and then the attributes being represented by nfts on svts and this combination is giving you the possibility to to work with Unchained verification which is

wonderful however privacy is being compromised right later on there are other Solutions where you have the identifiers ethereum address too but then the identity attributes are based on verifiable credentials there we have some aspects of privacy given but the Unseen verification is missing and then the other solution which is quite similar it's using as an identifier the the ads so this analyzed identifyers and also verifiable credentials and in here we see privacy but well use the Unseen verification I was talking to you in the very beginning no I said we will tell you how to offer or how to improve private on chain interactions for your

users and that's where we come with polyone ID is going to give you the possibility to allow the users integrating or using a wallet that has integrated our technology to do on-chain interactions in a private manner so let me say that what we actually are allowing the users is to have trustless private interactions on chain and how would how do we achieve that so actually the verifier doesn't need to track to trust the identity holder I assume all of you of all of you are familiar with this triangle of trust right so actually the verifier is trusting on a third

party that we call an issue that is the one that is really interacting with the identity holder knowing something about that identity holder like the date of birth and issuing this verifiable credential this identity attribute about you that you will be storing in your wallet right and with that credential about your age you will be able to interact with a decentralized application let's say a gaming application that really really wants to know and needs to know that you are older than 18 and then you will be able to generate a zero knowledge proof with that credential proving that you are older without even sharing your age whether you are 20 or 40 never mind nor your date of birth that's wonderful so

yeah I'm I'm interacting in a trustless manner with that decentralized application and also in a private manner right well um what we have realized is that there are certain use cases that also need a certain disclosure information so our our solution is also allowing and supporting that this interact in this interaction the user is also allowing or accepting a certain selective disclosure is what we name it and a question that is very often asked to us is additional knowledge proofs stored unseen because actually maybe that's information I don't want to live

on chain I know the answer is no right no but the important thing here is the uh sorry the ZK proofs are verified on chain so this CK proof that I'm sharing from my wallet with the decentralized application can be programmatically verified uh interacting with a smart contract on the verifier side can be also verified of chain right or on chain and and that's I would say the beauty of it so so far just a quick check a quick wake up so I said I'm gonna tell you how how to be

able to leverage our identity features and manage identity in your crypto wallets and also allow your users to to be able to interact in a private manner on chain right so far I think I have explained the second part how you interact on a private management but how you do that and how you can offer that to your users well that's when it comes on how do I build it and what we are doing in polygon we are we are offering a set of tools right that are allowing you to integrate those tools or sdks in order to offer the different functionalities depending on the role you are playing in this triangle of trust so we will focus today in the in the

area of the sdks for the mobile applications right but of course for on the insurance side are an on the way Fireside we are also providing a bunch of tooling to allow the issuers to really create a credential Define it firstly open it later on if necessary revoke it using also zero knowledge Technologies right another important aspect we do with our Xenoverse Technologies to allow users to to rotate keys and even create a different profiles you can even have a private and a public profile right these these functionalities given to the user by the mobile application um I already integrated somehow in this

SD case and the only thing that the the crypto wallet provider needs to do is to just integrate this sdks and automatically get all the functionality available and on the verifier side then we have also certain sdks that are allowing the verifiers to um to validate either often or chain designs received by the by the user so here you have a bunch of tutorials and information available so you see for each and every party role playing that is being played in this in this triangle of trust these are bunch of information already available in our website later on I will give you a QR code that you

can scan right and what I haven't mentioned yet because it's super recent in the last release we have made available also what we call the schema Builder that is for the user so I use your sorry an issuer that wants to create a new verifiable credential can firstly Define with this schema Builder how this camera needs to look like and with that later on issue it in a much easier format for Manner and on the verify your site we are also making available with what we call the query Builder right so the verifier is gonna make use of this query builder in order to be able to query to the user what and that user needs to really

um prove to them right in that query that maybe is asking the user please prove that you are all the older than 18 and that you are not operating from a specific country good I'm going to move to the area of the wallet SDK because today the main topic was for wallets right as you've seen here we have a bunch of tooling already made available on I have also mentioned that we have our own wallet mobile app developed and that's that's at the moment a reference implementation just to see that our protocol is is working right but for the ones that really want to integrate all this

functionality in their wallet we have for instance this polygon ID flatters Decay which allows to integrate The Entity wallet core functionalities into your app and then this this functionalities are nothing else than allowing the user with that app to manage the keys related to the identity to be able to manage the credentials so the verifiable credentials we were mentioning before and also to be able to generate the profile out of your wallet right um this is already available nowadays and is a cross-platform close platform tool so that means available for IOS and Android

we have also the wrappers we have the work in processes with with the wrappers for and for iOS sorry so it will enable the integration with wallets that have been written in in Swift the same we have for the for the Android so we have a wrapper for Android for all the wallets that have been written in kotlin and the last but not the least we have what we call the JS SDK so the JavaScript is the case that provides the possibility to have a browser and an extension based wallet to work with polygon ID and in this case the jsdk is super interesting because it's not only having the functionalities of a wallet

but with that SDK you can even be an issuer and also do certain verification functions are having solved some verification functionalities it's a kind of a toolbox right which is super interesting so we recently had have had a project integrating this JS sdks and and being able to set up the the issuer node what we call the issue super fast well um before I I finalized I just want to let you know I just need to check the time I'm going on time I just want to let you know that we are not just shipping our product right we are creating an ecosystem and this is the

example of one of the parties that are joining this ecosystem that's a world provided called Alma that has already integrated our sdks and in here you can see how it looks like no so in there you have the cards area that are your verifiable credentials you have an area in the wallet where you can manage your crypto your nfts and in those cards you will see for instance what is the credential being issued one example with two Twitter followers so in that card you can see how many followers um are following me nowadays or the day that the credential position was issue that credenza has issuing date and expiry date not always is necessarily to her to have explained it but most of them will have it and

another example is the qach credential where included is the date of birth and based on that date of birth you will be able to prove that you are of legal age right um and as I said we are not just shipping a product but we are creating an ecosystem here you see all the different projects that are integrating with us maybe a miss a couple of a couple of them because uh almost on a weekly basis we got we have one or two a link to the to the picture and you will you can see World providers like ask me as I said we read the whole idea a wallet which is um a web wallet clb we have also verifiers we have uh like Guild or we have issuers like click on ww

um it's it's this is really growing fast and and well we are super excited to continue growing this ecosystem um before finishing I just wanted to share with you the QR code for the ones that are interested on on knowing a bit more about what we deliver in GitHub you can you have all the resources available um and well so if you need anything else we have here also the team and you can you can ask any questions if you like afterwards thank you very much and I hope you we can continue building together thank you thank you very much we have time for a

quick question thanks so um my question will be has there been any talk about uh European commission and in particular the E Islands initiatives that are looking to do very similar things like decentralized identities I know that they're working on that stuff and they've been working on that for years so I'm really interested to have you talk to them not directly to them yes but we are we are way close on following what they are doing in Adas and also they have this architectural reference framework right where I've made this wallet I was

showing is is part of and then we are going to work together in us in a in a joint use case probably to make this available so we are trying to find how to make a in in or find how to make it compatible with the with the the ID method they are they are suggesting and yeah we are trying to move into this direction yeah any other questions thank you very much thank you very much everyone thank you goodbye [Music]