Technisch gezien is een DID een eenvoudige string met een vaste structuur: did:method:identifier, waarbij de method (zoals key, web of ion) software vertelt hoe deze moet worden opgezocht en geverifieerd. Het resolven van een DID levert een DID document op, een machineleesbaar bestand met de publieke keys, authenticatiemethoden en service endpoints die aan die identifier gekoppeld zijn, zodat iedereen een handtekening kan controleren zonder eerst een bedrijf of overheid om bevestiging te vragen.
Het concept werd gestandaardiseerd door het World Wide Web Consortium, waarvan de DID Core-specificatie in 2022 een officiële aanbeveling werd en zich via nieuwere conceptversies blijft doorontwikkelen. Er bestaan inmiddels tientallen DID-methoden. Sommige, zoals did:key, worden direct gegenereerd uit een key pair zonder dat er iets ergens gepubliceerd wordt; andere, zoals did:web, worden verankerd aan een domeinnaam; en blockchain-gebaseerde methoden zoals did:ethr of did:ion leggen het bewijs van de identifier vast op een publieke ledger voor extra duurzaamheid en censuurbestendigheid.
DID's staan zelden op zichzelf. Ze worden gecombineerd met verifiable credentials: cryptografisch ondertekende claims (een diploma, een KYC-check, een leeftijdsverklaring) uitgegeven door een vertrouwde partij en bewaard in een digital identity wallet. Een gebruiker kan dan precies het bewijs tonen dat een dienst nodig heeft, zoals "ouder dan 18", zonder een geboortedatum prijs te geven of een kopie van een paspoort te overhandigen, wat DID's tot een kernonderdeel maakt van de self-sovereign identity-visie die met Web3 wordt geassocieerd.
De adoptie staat nog in de kinderschoenen: keybeheer, het intrekken van credentials en interoperabiliteit tussen methoden zijn nog steeds actieve technische vraagstukken, en het verliezen van de private key achter een DID betekent het verliezen van de controle over alles wat deze vertegenwoordigt.