Was sind DIDs und wofür werden sie verwendet?

Sebastian Dechant
evan.network
Published in
4 min readDec 3, 2019

In diesem Artikel sprechen wir über DIDs, ihre Vorteile und wer davon profitieren kann.

Zunächst die Basics: Die meisten Systeme, die wir derzeit verwenden, haben eine Komponente, die mich als Nutzer identifizieren kann. Diese Komponente ist im Grunde genommen eine Datenbank, die eine digitale Identität meiner Person gespeichert hat. Ein Beispiel dafür sind soziale Netzwerke: Ich habe einen Account bei Facebook, Instagram und hier bei Medium. Das sind drei verschiedene digitale Identitäten meiner Person.

https://medium.com/evernym/the-three-models-of-digital-identity-relationships-ca0727cb5186

Die Anzahl von digitalen Identitäten nimmt mit der Nutzung neuer Services, bei denen eine Bestätigung meiner Identität notwendig ist, zu. Infolgedessen gibt es viele „siloartige Identitätsdatenbanken” bei verschiedenen Diensten.

Eine erste Maßnahme, um diese unzähligen „siloartigen” digitalen Identitäten zu reduzieren, ist die inzwischen bei vielen Diensten vorhandene Option zum “Login mit … (Facebook, Youtube oder Instagram)”. Damit stelle ich meine digitale Identität für mehrere Dienste bereit. Ich verwende eine bereits bestehende digitale Identität in einem bestimmten System und übergebe sie in dieser Form an einen neuen Dienst. Dadurch habe ich im besten Fall nur eine digitale Identität bei einem „siloartigen”-System und kann diese auch für andere Dienste nutzen. Das System nennt sich dann „Federated Identity Provider”. Dieser Provider fasst Identäten zusammen und gibt diese an andere Systeme weiter, damit keine neuen erstellt werden müssen.

https://medium.com/evernym/the-three-models-of-digital-identity-relationships-ca0727cb5186

Mit dem Erfolg der Distributed-Ledger-Technologien entstand außerdem die sogenannte „Self Sovereign Identity”. Wie der Name schon sagt, hat der Nutzer bei dieser Form der digitalen Identität selbst die volle Kontrolle über die mit seiner Identität verbundenen Daten und ist damit auch nicht auf ein zentrales System angewiesen. Der Benutzer kann seine „dezentrale Identität” auch an externe Systeme weitergeben um nachzuweisen, dass diese digitale Identität zu ihm gehört.

Wenn man jedoch auf verschiedene Identitäten zugreifen will, ist eine Übersicht dieser erforderlich. Aber wie ist das möglich, wenn es keinen Einstiegspunkt gibt, von dem aus begonnen werden kann, wie bei einer zentralen Identitätsdatenbank. Als Lösung dafür steht mit der Distributed-Ledger-Technologie ein dezentraler Discovery-Service für digitale Identitäten zur Verfügung, der eine Identität „dezentralisiert”.

https://medium.com/evernym/the-three-models-of-digital-identity-relationships-ca0727cb5186

Dezentralisiert klingt gut. Aber ich könnte auch mehrere dezentrale digitale Identitäten auf verschiedenen Distributed-Ledger-Technologien haben. Jedes Distributed Ledger könnte eine eigene Implementierung einer Identitätsdarstellung haben. Das W3C hat dieses Problem erkannt und eine Spezifikation der dezentralen Identität erstellt. Mit dieser Spezifikation können alle Ledger-Technologien das vorgegebene Format übernehmen und implementieren, was eine Verteilung von digitalen Identitäten zwischen den verschiedenen Technologien ermöglicht.

Die Spezifikation des W3C findet ihr hier.

Bei evan.network stellen wir euch DIDs für eure digitalen Identitäten zur Verfügung, die ihr dann innerhalb mehrerer Systeme austauschen könnt.

Wie sehen DIDs aus und wie sind sie aufgebaut?

Eine DID ist im Wesentlichen eine JSON-Darstellung der jeweiligen digitalen Identität, die folgendermaßen strukturiert ist:

{
'@context': 'https://w3id.org/did/v1',
id: 'did:evan:0xb9c5714089478a327f09197987f16f9e5d936e8a',
publicKey: [{
id: 'did:ethr:0xb9c5714089478a327f09197987f16f9e5d936e8a#owner',
type: 'Secp256k1VerificationKey2018',
owner: 'did:evan:0xb9c5714089478a327f09197987f16f9e5d936e8a',
ethereumAddress: '0xb9c5714089478a327f09197987f16f9e5d936e8a'}],
authentication: [{
type: 'Secp256k1SignatureAuthentication2018',
publicKey: 'did:evan:0xb9c5714089478a327f09197987f16f9e5d936e8a#owner'}]
}

Wie man hier sehen kann, hat das DID ein ID-Feld, das auf eine eindeutige digitale Identität im evan.network verweist. Der Public Key enthält alle öffentlichen Keys zu Konten, die im DID-Dokument als „Eigentümer” dieser Identität aufgelistet sind. Da diese digitale Identität meine ist, wird dort auch mein öffentlicher Key aufgeführt.

Was macht dieses JSON-Dokument dezentral?

Es ist die „ID” des Dokuments, die ein Schema definiert, in dem sich diese Identität befindet. Die verschiedenen Bestandteile der ID sind durch einen Doppelpunkt getrennt und machen die ID einzigartig.

  • Der erste Teil definiert, dass dieses Dokument eine DID ist.
  • Der zweite Teil beschreibt die Vorgehensweise, durch die die digitale Identität lokalisiert wird.
  • Der letzte Teil ist die methodenspezifische digitale Identität.

Hier unsere Beispiel-ID mit den vorgenannten Teilen:

did:evan:0xb9c5714089478a327f09197987f16f9e5d936e8a

Es beschreibt, dass sich diese DID auf dem evan.network befindet, wobei die ID “0xb9c5714089478a327f09197987f16f9e5d936e8a” meine digitale Identität repräsentiert. Mit diesem Markup kann meine digitale Identität aufgefunden und darauf zugegriffen werden.

Dieses JSON-Dokument, repräsentiert nun meine digitale Identität. Ich kann mich dadurch bei Diensten ausweisen, die mich identifizieren müssen. Der dezentrale Aspekt besteht darin, dass sich meine DID nicht in einem Silo-System befindet, sondern in einem Distributed Ledger, wie z. B. dem evan.network, gespeichert ist. Durch die dezentrale Speicherung habe ich die Kontrolle darüber, wer auf das DID-Dokument zugreifen darf und damit Zugang zu meiner digitalen Identität hat.

--

--