Decentralized Identifiers (DIDs) are cryptographically verifiable, persistent identifiers standardized by W3C that enable decentralized identity management without central authorities. DIDs use a method-specific identifier system where each DID method (such as DID Web, DID Indy, DID Key, or DID ION) defines how DIDs are created, resolved, and managed. DID resolution is the process of retrieving metadata about a DID subject, typically through a DID document containing public keys and service endpoints. The Universal Resolver and Universal Registrar are open-source tools that provide abstraction layers for resolving and managing DIDs across multiple DID methods, enabling interoperability in decentralized identity systems.
DIDs, DID Resolution & the Universal Resolver | DIF Educational Session
Added:okay there we go and it looks like we have some more people who have hopped on in the meantime so I'm going to go ahead and get started so my name is lamari and I am the senior director of community engagement at the decentralized identity foundation so I'm the person you'll come to if you're really confused when you come in the door at diff you don't know where to go I'm a great person to lead you to where you'll probably want to be um and I also do hold new member orientations and various events especially educational events such as the one we're having today so today we are joined by Marcus sabadell who is the co-founder the founder of danu tech in Vienna and he's going to be sharing about the decentralized identifiers and also any questions you have about did resolution the universal registar uh any anything that's come up related to dids Marcus is one of the foremost experts in the world on decentralized identifiers um so feel free to ask as many questions as you like there's no bad questions when you ask questions it also is going to help Marcus get a feel for where people are at and where people might want to dive a little deeper um so with that I am going to hand it over to Marcus who will share a little bit of an overview and then we'll go into questions so I'll hand it over to you Marcus thank you very much I will I will share my screen okay I hope that's uh hope that's working and yes it's working we could see it um okay so yeah thanks for the introduction lamari and uh of course welcome everybody I hope you're having a nice diff hackathon so far and uh I'm here for one hour now to basically talk a little bit about DS D resolution Universal resolver Universal regist D um I mean I I have a a few slides on on these different topics but uh we're not such a big group so we can also happy of course to make this very interactive so if you if you already uh have some concrete questions or if you've uh experimented maybe with these tools or if you're using DS already then uh can also use the time of course to talk about things that that people are are interested in I guess uh you could just at at any time ask a question in the chat or raise your hand all of that is fine um so very happy when when there's some questions otherwise I'll I'll just go through a few slides uh basically start with the uh introduction to Deeds themselves and then talk a bit about the resolution and uh these tools Universal resolver Universal regist um maybe before that just a quick mention also of one of the diff working groups the diff identify and Discovery working group is one of the working groups at diff and it's one of the original working groups at div that has already existed when when they was founded I'm I'm one of the co-chairs of this working group uh there's a GitHub repository with information about the working group there's a list of of work items so there are some very interesting items that people work on both specifications and some open source code some of which we'll we'll talk about today and the group meets uh on a bi-weekly basis and basically we discuss everything or anything that's related to to identify right so we think that that identifiers are the basis for a lot of other things right we we always need names or addresses in in the digital world when we we want to exchange verifi credentials when we want to change messages when we want to establish some connections or relationships for for pretty much any kind of interaction we always need identifiers uh like Deeds or other types of identifiers and then in this group we we can discuss uh any topics related to to uh identifiers so so sometimes we talk about dids or different uh did methods about two weeks ago we had a really interesting presentation from the Chinese Academy of uh information and communication Technologies about uh an infrastructure that they are building so just advertising a little bit our group here and uh then then yeah I would I would start just with doing an introduction about Deeds again I'm I'm not sure how many people know I I supect if you're participating in in this hackathon then probably a lot of you already have an idea of what of what these are uh so I probably shouldn't waste to much time on the on the basics but uh just to just as a as a reminder of course the are a type of identifier that has been standardized at the worldwi Web Consortium it's a type of URI that starts with did colum and then there's something called the did the did method right which uh which tells us how exactly a de can be created and used and and resolved and and managed so there's there's not really one way how its work there's not one uh one single client server protocol for example that uh that's used for for working with Ds right it's it's not like DNS it's not like DNS where you have one protocol basically and one Global infrastructure for managing and identifier name space but with with Ds there is this concept of a de method which creates an abstraction layer on on top of many different types of of deeds and and then there is the method specific identifier which depends on this deed method and and there can be many different types of did methods many different ways how how thiss work but uh yeah what's what's important of course is these are meant to be decentralized right so not me by a central Authority and uh persistent cryptographically verifiable and resolvable identifiers we we'll talk about that a bit more of course what it means to for Deeds for identifiers to be resolvable and the other thing that's also important is that DS always have a builtin notion of of control right so I did is typically created using cryptography or using asymmetric key Pairs and uh so somebody who creates the DS typically has a private key which is then used for controlling the the DED so that's that's built into the deed concept unlike uh uu IDs for example right if you have uu IDs that's another type of identifier that's also decentralized but by by looking at a uuid there's no way to uh to to establish who controls that identifier so yeah maybe these are the most important things right there these did methods that these are resolvable and they are controlled by by someone using uh using private Keys uh here's just just some some examples of of the methods probably a lot of these or some of these are probably familiar to you and you can see sort of and and there's a there's a registry document right at the worldwide Web Consortium at the de working group where the the did specification was was written there's also a list of known well known did methods and I think it's almost 200 and and so this deep method again this tells us how exactly and and where the did is created and and managed and how it can be resolved and a lot of the did methods use Technologies like blockchains right or distributed ledgers if you look at did Indie which is based on the hyperledger Indie uh technology epsc is the European blockchain service infrastructure so a European blockchain did ether based on ethereum did btco based on bitcoin did ion based on bitcoin plus an extra second layer of uh of storage uh using ipf using ipfs so it's basically a combination of Bitcoin and and ipfs but then you also have de methods which don't use blockchains or distributed ledgers at all right there's a very popular did method called the web which is used quite a lot and uh in in this case the this identifier here the method specific identifier is just a domain name and the did basically exists on a on a web server right so uh this is this is also possible uh you can then have a lot of arguments whether this type of identifier is really decentralized and whether it is persistent and and all of that but uh but it is is also a valid did because it has the same the same syntax and it follows the same the same specification um or you have something like de key right so de key is also interesting because here uh this is a DAT that's not actually created that's not actually written or stored in any kind of external system like a like a blockchain but in this case the the did itself is a is a public key and and you you create this did by creating a a key pair and you can also resolve the did by just looking at the did itself so this is is a very also very popular did method that's that's used a lot if if you just want the the did itself to be to be a public key um so yeah this this shows the diversity of of these did methods but what's always in common of course what's always the same is the there's a common syntax and then there's a common uh way how these DS can be can be used can can we ask questions yeah please go ahead so the did key um I I understand that but um it's challenging to me that you know it doesn't tell me how the did was constructed like which key private key and and resolution method am I supposed to assume between behind that one I mean from if it's an ethereum type of PR private key then I know how ethereum computes the prob the probably key but I don't know how this one's being computed so uh here this first of all all of this can be is described for each D method and a did method specification I I forgot to mention that but each one of these did methods has a separate document that that specifies how it works in the case of the D key method uh this is this string actually is not is not just a public key but it's a public key which is encoded using uh these these these uh multi codec and and multibase format if you look up multibase and multi codec that's how this this string here is is encoded and the first character here the Z this is a character from from the multibase specification which tells us which tells us that the rest of the string is base 58 encoded so that the first character says that the rest of the string is base 58 encoded and then and then I I don't know the details right now but the first bites here then okay are are is a prefix from the multi codec specification there's a table basically and So based on these first few bytes you can you will know if it's an RSA key or ed25519 key or elliptic curve key and then then you should be able to understand the rest that that ansers my question thank you that there is a specification somewhere that I can look up yeah yeah for each one of them there's [Music] specification yeah thanks thanks for posting the link uh okay yeah here I just have one slide that it's compared to other types of identifiers so there are many other types of identifiers just exploring a little bit the the characteristics of of the here on the top right is is this uh diagram zuk try Tri angle is relatively well known that that says when you when you look at different types of identifiers then it's very hard it doesn't say it's impossible but it says it's very hard for a certain type of identifier to fulfill all of these three properties right to be human meaningful to be secure and to be decentralized and and the generally speaking Deeds are designed to be here on this bottom line right so Deeds are decentralized meaning there's not not a single Central Authority that can control the de name space and secure means that if you create a DAT and you control it then nobody else can create and and control the same dat but dates are not uh human meaningful in in general unless you you look at the DAT web method for example but that in turn would not be considered then decentralized and and and looking at this as as far as I'm aware I think these are the only type of identifier that I'm aware of which are decentralized and persistent and and resolvable all of that at the same time um uh one one property here that did don't have is delegatable right so Deeds there's no such thing as a as a hierarchy of Deeds or sub Deeds or something like that right domain names you can delegate if you control a domain name and you can create subdomains and subdomains under under that uh so Deeds don't really have have the concept of a of a parent deed and child de or or anything like that but other than that they they have some they they combine some really interesting properties and uh here just to say that these are valid uis so in a lot of places where your eyes can be used it's can also be it's can also be used okay then some uh motivation just um probably you notice already but just give some inspiration where what Deeds are used for why they are important did by did by itself is is not very useful right nobody so for for end users nobody wakes up in the morning and says I want to create five five DS today because I need a few DS right this is something that's very a low level and happens behind the scenes but a lot of other Technologies uh can use this and and build on top of thiss for example in a verifiable credential uh usually the a de can be used to identify an issuer like a university or a government that issues are verifi potential and uh these are also often used to identify the subject of a credential and then when you you use the verifiable credential when you actually try to verify the proof on it then you need the the deed and you need to resolve the deed and I I will talk about that a bit more but this this basic idea that DS can be resolved and DS have a built-in mechanism of control it's also useful just for authentication uh like an open ID connect type of flow you can use a DAT to prove control of the DAT right so you could theoretically just use a de also as a as a replacement for usern name and password you can you can just log in to a website with a with a DAT because you can prove that you control a certain dat using the the keys associated with it uh assum some protocol like open and theconnect that that works that that would be able to work with this and uh yeah thanks for the question just the third one here so Deeds can also be used for Discovery right if I give you my dat then you can look up information about the did including service endpoint so you could look up a datcom service endpoint or endpoint of a decentralized web note which is a very interesting piece of technology or you can use a data also for discovering an an xmpp endpoint for for sending chat messages or or other protocols the did uh cor specification what's the did road map so yes did has did did core did standard has been published over a year ago and there is now an ongoing process in w3c in the worldwide Web Consortium to launch a new date working group so there's a process Now to create a charter the the rules the the scope of a new working group and and that new working group uh it's not yet so there's some discussion what what the new working group should do it it looks like or the most likely scenario will be that the new did working group will will maintain and fix some uh some problems or some mistakes in the current did specification and in addition to that uh produce a new specification about de resolution that's actually my my next slide anyway so I'll switch just to that one theed resolution is is now what you actually do with the data so to look up uh metadata about about the subject that's identified by the deed and uh that's done in the form of of of the so-called dat document right so dat document is a format that describes technical metadata about the subject and the process of looking up that the document given the deed that's called deed resolution and deed resolution in the current w3c standard is only defined in an abstract way using abstract interface but there's not a lot of information in the current standard on how exactly the resolution works and what kinds of uh inputs and outputs and parameters exist exist in in the resolution so there's a second there's a second specification uh let me also put that here this is second specification about D resolution which is uh not a standard that's a draft specification but the idea is that a new dat working group at the worldw Web Consortium will then standardize this to basically add more details about uh about resolving it how do you imagine did Au and web or then will coexist that's a a really good question so did all this is B is a high level umbrella umbrella term right so there's no such there's no such thing as a concrete did O protocol or did O specification that doesn't exist there's a there's a paper from a few years ago that talks about the concept of did O and how it could potentially be implemented using what kind of what kind of protocol and uh but did is just a generic term right it's just a concept of using Deeds to to authenticate and uh that that can be done with with uh open ID open ID uh connect there's also this this entire new stack of open ID for for verifiable credentials uh all of all of that work where where this can also be used and regarding regarding web of then I'm not an I'm not an expert on that I I know it has been discussed a few times my understanding is with with web auen you you authenticate with a public key right so public key sort of easier is your identifier um whereas with with Deeds one one important aspect of Deeds is also that what's here in this the document this can be updated this can change right and the most important information which is on in the DAT document is the the public key that's associated with the with the DAT uh that can also be multiple public Keys uh so in this the document you have public keys and you have service end points and together this is the information that's useful for in engaging in some kind of interaction with the with the DAT subject and both can be updated and they can be updated that the keys and the serice end points they can be updated without uh the did changing right so that's why we say Deeds are persistent identifiers I can give you my deed we can establish a relationship we can establish a connection using our deeds and we we can up we can rotate our our keys and we can change our end points this gives us data portability right I can move my datcom service I can move my Mastodon activity PP service I can move my xmpp service from one place to the other and I don't have to change my identifier I can keep my social graph uh intact I don't have to uh update everybody's address book with with my new identifier that that's one of the Great value propositions where of of this this this kind of persistence and I'm not quite sure how that would relate to webn because my understanding is with with web Au and the identifier is the public key so if you if you change the public key then in the case of Deeds you would still have the same identifier so I think I I can't give very good answer on the web auen question but uh but would be happy to discuss this further maybe in our in our working group how can I make sure my the document has the has the correct syntax uh there is uh yeah there there are a few things there's a test Suite did test suite at the at the w3c working group where basically implementations of of deeds and deed methods can submit their their deeds and their deed documents and their test results and then the test Suite will will uh check and and evaluate the results and the the the document and in addition to that there's also a wonderful tool called the lint by uh christop Aban from on your data he's also very active in diff and a frequently participates in our working group and this is a nice tool where you can paste uh put a the document that it will it will validate it it will check all the all the rules so so for example I could I could try to take the the the document here from my slide and put it well no let me let me not do that because I I think there's some mistakes it would be uh embarrassing maybe but in in general you can use this tool for validating the documents I heard that the epd format is based of the the public key that's true and if you rotate your public key does that mean you must change your let me go back to the yeah so here's an example of an epcd from the so EPS is this European blockchain let me go back here to the to the list of of the examples so so the answer is is definitely no if you if you rotate the public key with this did method then you don't have to change the deed it it is true that uh for a lot of these dided methods there's a pattern that that that this did method specific identifier is somehow based on the public key that's not a requirement for de methods right it's up to every did method independently to to Define what the rest of the the did means it can be a public key or a hash of a public key or an address on a blockchain or anything like that uh that's not that that's always different but it is true that for many did methods uh the string is is often based on public keys I I think I think you're right Ian that's that's the case for for Epsy so this string at EPC the epd method has has undergone a few iterations already so there have been different versions of that I'm not sure if this one is still in line with the with the latest specifications this this may be a bit outdated but but it is based on a on a public key and same is also true for example here for did Indie in this case this is also based on the public key however it is based on the first public key right so the way how these did methods work is that even though the DAT is based on the initial public key you can then uh still rotate the keys update the keys in the D document and the DAT does does not change right so the did will the did itself is is persistent it does not change if you change the the keys okay uh question about did web s so did web s uh we could have a have an entire separate session about uh about that marus maybe maybe you want to read the question so people who see the recording might know what they asked okay I'm I'm sorry I thought it might be visible on the recording uh yeah yeah so there's a there's a question about uh D web as what's the difference between that and the regular did method um so yeah let's spend a a minute on on that maybe if there's there's a question it webs is a is a relatively recent proposal for for uh for a de method I I have some slides here that were presented at the internet identity Workshop a few weeks ago uh if you're familiar with the with the did web method the web method has been around for a few years and as I said it's it's quite popular uh it's it's really simple because in this case that the did Is Res solved by basically downloading the D document from a web server right so we were just talking about D resolution did resolution means obtaining the did document for a given did and uh this can sometimes be very complicated and it can sometimes involve talking to a blockchain and talking to ipfs and looking up all kinds of information to to retrieve the did document but in the case of D web this is very simple right so if you have a did did like this then the did document is just a file on a web server and you basically download that file and then you're done with the did resolution and and you have this file this is very popular because it's very simple everybody knows how to run a web server and how to publish files on a web server however this did method did web has also been criticized quite a lot because it it doesn't have a lot of the properties that were intended for deds originally and maybe one of the most obvious problems with d web is that uh anyone could just change anyone who has access to the to the web server could just change the the DAT document right uh anyone who anyone who can attack the DNS system anyone who can run a man in the middle attack on an on an HTTP connection anyone who can compromise that the SSL certificate or anyone who is just an administrator on the web server can potentially manipulate and and attack your your D document right and uh this has been subject of of concern for some communities for a while and so there have been attempts to try to make the this did web method more secure uh while at the same time maintaining the the convenience that comes with it and so did webs uh without going into all the details but D webs would look like this and it works very much in the same way as D web so there's still a the document on a web server that can just be downloaded but in addition to that there's a second file uh which is based on carry which is key event receipt infrastructure it's a it's a a set of specifications and Technologies for creating and managing uh cryptographic keys in a in a very secure way and there's an entire Community around that and also a lot of information about about carry but uh so there's and I'm not an expert on that and we don't have a time to really talk about that too much but the essence of it is that by having both on a on a web server the did document and this carry file which which contains what's called a carry event stream that makes the Deep document verifiable right so this this contains uh hashes and and signatures and and cryptographic information which secures the D document so that means when you now download the DAT document and this other file then you don't just blindly trust what's in the DAT document because number of attackers could have manipulated that but in addition you can you have this end verifiability right so as a as a client that can look at both these files can know that this is actually the correct did document for the DAT that you're that you're trying to to resolve um is that is that sufficient as a as an answer for now or be happy to yeah answer more more questions or talk about this more in in diff diff Discord or or slack also feel free to to email me uh okay follow-up question how can we sure that the carry file is not altered by a rogue party well you're right yeah of course if the if somebody could manipulate this the document file and of course they could also manipulate this carry file but there's one one more thing that makes this Ste webs method more secure which is that the last part of the identifier here the last part of the did is what's called called the carry Aid and uh here in this example it's just 1 2 3 4 5 but this is this is this is actually also cryptographic information that's part of the identifier and this is linked to the information that's here in the in this carry file so so what's here in this carry file can be traced back always to this Aid to this string that's part of the identifier itself and that means that if you you cannot you cannot possibly manipul well you can manipulate this carry file but a client will be able to verify whether or not this was uh what's in here what's here in this uh carry event file can actually be traced back to whoever controls this identifier here right because this identifier here uh is linked to my private private public key pair and so is this file here right so if you yeah so you say if we trust the U then we can cryptographically trust the the carry file that's a that's a good way of putting it right this this here is this here is a is a hash also it's a it's a cryptographic hash it's not it's not quite just a hash of a public key but it's a hash of of of the information that you need to then verify this carry file and so with the with the identify itself you can verify the contents of this car file and with the contents of this file you can verify the the document and that's how this is the result of the D resolution process in this case is end very verifiable uh using the information from the DAT itself and and that's how this is different from just did web but it's also designed to be just as convenient as did web because you just have to download files you don't have to run blockchain nodes or anything like that but uh yeah happy to talk about this more okay here we're only 15 or 20 minutes left I think I wanted to talk about these tools of course also a little bit so we talked about deeds and D resolution uh there there are two open source projects at diff they are both work items of the identify and Discovery working group one is called the universal resolver and the other one is called the universal registar and uh the the idea is basically to to provide a tool that can be used for easily working with Deeds on on one hand for resolving Deeds but also for creating and updating and deactivating dats uh Marcus can we get a copy of your web three web as slide de here I will also share the the link here I hope it's publicly readable if if if not then then please send another message here in the the chat right so these two these two tools Universal resolver Universal register open source projects at if they basically expose the the standard did Operation functions for resolving DS that's Universal resolver but also for creating DS and updating Deeds we talked about that and also deactivating Deeds we haven't talked about that yet but this can also be deactivated and and uh as we as we've discussed the way how dids work underneath is is very different depending on the did method right so it's not it's not like DNS where you have to implement just one protocol and then you can resolve all the domain names in the world no for for Deeds you basically have to implement each de method separately if you want to support multiple did methods and uh Universal resolver is basically an attempt to support uh as many did methods as as possible let me me take take a look so here you [Music] can you can try it out this is at this address this is an instance of the universal resolver hosted by diff but it's uh an open source project right so you can host it yourself the idea is not that the whole world should use this address here and in fact it's uh it's definitely not a production service right there's a there's a warning sign here in the corner this is intended for experimentation or for some tests but if you if you're building an actual production uh system then you should uh you should consider self-hosting this project or there also some there also some alternative services and alternative resolvers right so I also don't want to don't want to give the impression that this is the only way how thiss can be resolved no no there are definitely other other open source projects and libraries and sdks and and so on that can be used for for resolving DS but here this one is an open source uh Community project by diff that supports a lot of different did methods so I can basically try this out for example with a EP did and I resolve this and then the the result is here is here that the document with a public key this case there there no service end points here and uh this works this this works the same way for other types of of dats as well right so if I try did indie or did checked or did ion then uh this will will also return the the the document and as I said earlier this is not this is not really intended uh as something for end users right but something that's that's used then by other building blocks by other technical components so this public key that we see right here could be used for example to verify signature on a verifiable credential or it can be used for authenticating as part of an open ID flow or it can be used for uh authenticating a dcom connection when two peers Connect using the dcom protocol then this cryptographic information can be used for authenticating the the peers or it can be used for authenticating communication with a decentralized web node all right so this can be used theoretically anywhere where you can where you can use public Keys is the universal resolver registry itself in ipfs or some decentralized storage by Universal resolver registry what do you mean do you mean this this this list of of the method so yeah so uh this list of of the methods that that are supported by the universal resolver this is something we just maintain in the in the GitHub repository uh so if you go here at the at the bottom there's a link also that that takes you to the the GitHub repository of the universal resolver and there's there's basically a list a list of the supported did methods and for each did method there's a so-called driver that that's what we call it so a driver there's a driver that that implements the that supports the did EPC method there's a driver that supports the did check method did web did Indie did ion and so on for each one of those there's a driver and uh most of them are almost all of them are just Community contributions right so it's not it's not one company or it's not some diff uh diff staff or diff developers who uh who implement this this whole thing but basically each one of these drivers is like a plugin that supports a new did method and uh through pull request a new driver and a new and support for new method can be can be added and and this list of the methods that is supported by the universal resol is just maintained here in the in the GitHub repository so that's not in a a decentralized file system or or anything like that and and this this list can be can is maintained by a community contributions basically okay uh then since we don't have a lot of time left let me just mention also the second tool Universal regist dry uh so to explain that a little bit there is another specification which is also a diff work item I will also put that into the chat called uh de registration so that's a separate spec and uh this specification tries to Define an abstraction layer and and interfaces not just not for resolving Deeds but also for creating and updating and deactivating Deeds uh so it looking here at the at the slide it defines these three operations if you want to create a new dat if you want to update a DAT and if you want to deactivate a DAT defines these abstract functions with certain inputs and certain outputs and the and the universal regist is again an open source source project at diff uh which implements this for several several different did methods and uh if if you think about this this is this is not so not so straightforward to do because the methods work in in very different ways as as we've said in the case of deed web uh for D web for example if you want to create a DED you have to upload a file to a web server for D EPC if you to create a DAT you have to write a transaction to a blockchain uh same for did indie or for D check you have to write transactions to distributed ledgers but using all kinds of different Technologies uh for creating a did key you just need to create a a key pair basically and do nothing else and so on so these create update and deactivate operations it's quite a bit more complex to to build an abstraction layer that works across different did methods but nevertheless this uh this specification tries to do that so it it defines an interaction between a client and the regist regist component and which then abstracts away all the details again of of all the different D methods and and provides a universal API Universal interface for for uh creating and updating and activating needs uh this is this is what it what it looks like so again this is an uh here a diff diff open source project and instance that people can use uh I have to say it's not as advanced or as mature maybe as the universal resolver this Universal register is a bit more experimental uh but but it Mo it mostly works I would say so it it can be used for creating did ion did key did web did solve did checked and so on and and all of these methods are supported using a a generic interface which is defined here in this the registration specification [Music] um just a few minutes left I I think are there are there any questions or otherwise I would talk about just this a bit more yeah Andrew yeah yeah hello so yeah thank you for the presentation I have maybe question uh not maybe specific for current presentation but maybe just for hearing your opinion here for example we have uh uh an an obstruction like uh deactivation for did but what do you think uh about like for example uh any uh any verifiable credential which was issued by such D what uh should be done here like for example if the ID was deactivated what should we do with already issued verifiable credentials that's uh that's a really good good question I I don't think there's a definitive answer anywhere in the in in either the did or the verifiable credential standard my answer would be that it should not be it should not be used anymore if if a DAT is deactivated like for example if a veryable credential is issued by by a university uh like a diploma credential is issued by University and the issuer did is so that did that identifies the university as the issue if that gets deactivated then a deactivated did when you resolve it so when you try to resolve a deactivated did then the resolver will not return a d document it it will return only a piece of metadata which says that the de has been deactivated and you don't get back at the document and since you don't get back at the document you also don't have the public key and you cannot verify the the verifiable credential anymore so my answer would be it should it should not it should not be accepted uhi credential that was issued by a the activated dat however there has been there has been some discussion in the in the community oh and and by the way for some de methods uh after it is deactivated it's also then technically uh impossible to to retrieve the the did document right so in some cases when you deactivate a did and the the document is actually deleted and and you can never get it back that's a bit the method specific where there differences between the did methods there have been some discussions in the community that you could uh send a a parameter to the resolver which will overwrite this default behavior of not returning the date document so you could you could send an an option to the resolver and you can say please even though the date is deactivated please still return the the document because I still want to try and and verify something even though I'm aware that the DAT is is deactivated uh so that that's also that's also possible right and maybe you you have some good reason why you still want to accept a a credential but but but my answer would be that the the default behavior is for deactivated D to not not return the D document and and then it should not be used yeah yeah okay thank you you're welcome um very good question uh Ian which did methods have the highest adoption uh and usage so of course did methods have different advantages and disadvantages right we we said that the web method for example is very easy to use but it has some security disadvantages maybe uh if you look at did methods based on bitcoin then maybe they are very secure but they cost a lot of Bitcoin cryptocurrency right if you look at had did Epsy for example you could you could maybe trust it because it's run by a number of national governments or maybe you don't trust it because it's run by governments and not as decentralized as you want some de methods require certain onboarding procedures some did methods are very fast and performant like did ion is is known to be very scalable if you want to create lots and lots of DS then did ion is a good choice some did methods have very interesting extra features like did check did check supports some some features like linked resources uh special parameters versioning that's that's very interesting so all of these have advantages and disadvantages it's a bit hard for me to say which one have the most adoption and usage uh if I may I'm not sure uh I'm not sure lari how appropriate is to to also mention commercial products but my company danop Tech we also have a a size platform called go.com which I will quickly mention here which is basically just a commercial version of these same these same open source tools so this is a more little bit more advanced more professional commercial version of universal resolvent register and this has a page called called stats. go.com and uh I think we're we're out of time but if you're interested you could look through that a little bit and and you can see some uh some statistics also of of the popularity popularity of certain deep methods over time right so you can see some some charts here uh how many ds in what kind of did methods and what kind of networks have existed over over time so that could answer some of the questions about about adoption but uh yeah I think we're we're out of time uh thanks so much and uh feel free to contact me via email or of course diff slack or Discord and uh good luck with the with the hackathon uh have a lot of fun everybody hope to hear from you again awesome thank you Marcus and I did drop the link to the Discord server in the chat so if you have further questions for Marcus there is a channel in there for this session so you can follow up with that and of course don't forget to register for the hackathons so I did put that link in there as well we do have over 200 participants so far signed up so we we are going to have some really fun competition going um so with that I'm going to thank Marcus one more time for joining us today and being flexible on this this very interesting week uh between us and European time zones um and I'll encourage you all to join us tomorrow at 900 am that's Pacific time remember if you're in Europe it's an hour earlier this week um but we're going to be having an introduction to Vero and also there will be uh a session right after that on trinsic and the BBS signature scheme so look forward to seeing all of you tomorrow check out those events in Discord and I'll see you around the community thank you again byebye bye everyone thank you thank you bye
Up Next

Issuing and Verifying JSON-LD Credentials with ACA-Py
@IndicioID
1.5K views•2022-11-29

Torrent File Format & Bencoding: A Technical Deep Dive
@AsliEngineering
12.5K views•2022-08-08

Operational Security Essentials: A Guide for Hacktivists (OPSEC)
@hitbsecconf
157.4K views•2012-11-26

Understanding Ethereum: A Comprehensive Beginner's Overview
@99Bitcoins
3.1M views•2018-06-26
Related Study Plans & Knowledge Roadmaps
Structured learning paths in Blockchain & Crypto

























![[Week 6-2] 시차 이중차분법 분석모형](https://i.ytimg.com/vi/O1Cky60JdcE/maxresdefault.jpg)












