Decentralized Identifiers (DIDs) are a new type of identifier for verifiable, "self-sovereign" digital identity. DIDs are fully under the control of the DID subject, independent from any centralized registry, identity provider, or certificate authority. DIDs resolve to DID Documents — simple documents that describe how to use that specific DID.

This document specifies the interface and guidelines for the DID resolution process.

Comments regarding this document are welcome. Please file issues directly on GitHub, or send them to public-credentials@w3.org (subscribe, archives).

Portions of the work on this specification have been funded by the United States Department of Homeland Security's Science and Technology Directorate under contracts HSHQDC-17-C-00019. The content of this specification does not necessarily reflect the position or the policy of the U.S. Government and no official endorsement should be inferred.

Work on this specification has also been supported by the Rebooting the Web of Trust community facilitated by Christopher Allen, Shannon Appelcline, Kiara Robles, Brian Weller, Betty Dhamers, Kaliya Young, Kim Hamilton Duffy, Manu Sporny, Drummond Reed, Joe Andrieu, and Heather Vescent.

Existing Work

  1. DID Resolvers in DID spec
  2. Universal Resolver - Design Goals
  3. Universal Resolver - API Definition
  4. Universal Resolver - Architecture and Drivers
  5. did-client
  6. uPort DID Resolver

Introduction

Topics

Out of Scope

Example

curl -X GET https://uniresolver.io/1.0/identifiers/did:sov:WRfXPg8dantKVubE3HX8pw
{
	"didReference": {
		"didReference": "did:sov:WRfXPg8dantKVubE3HX8pw",
		"did": "did:sov:WRfXPg8dantKVubE3HX8pw",
		"method": "sov",
		"specificId": "WRfXPg8dantKVubE3HX8pw",
		"service": null,
		"path": null,
		"query": null,
		"fragment": null
	},
	"didDocument": {
		"id": "did:sov:WRfXPg8dantKVubE3HX8pw",
		"service": {
			"type": "xdi",
			"serviceEndpoint": "http://127.0.0.1:8080/xdi"
		},
		"authentication": {
			"type": "Ed25519SignatureAuthentication2018",
			"publicKey": ["did:sov:WRfXPg8dantKVubE3HX8pw#key-1"]
		},
		"publicKey": [{
			"id": "did:sov:WRfXPg8dantKVubE3HX8pw#key-1",
			"type": "Ed25519VerificationKey2018",
			"publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
		}],
		"@context": "https://w3id.org/did/v1"
	},
	"methodMetadata": {
		"nymResponse": {
			"result": {
				"data": "{\"dest\":\"WRfXPg8dantKVubE3HX8pw\",\"identifier\":\"V4SGRU86Z58d6TV7PBUe6f\",\"role\":\"0\",\"seqNo\":11,\"txnTime\":1524055264,\"verkey\":\"H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV\"}",
				"type": "105",
				"txnTime": 1.524055264E9,
				"seqNo": 11.0,
				"reqId": 1.52725687080231475E18,
				"identifier": "HixkhyA4dXGz9yxmLQC4PU",
				"dest": "WRfXPg8dantKVubE3HX8pw"
			},
			"op": "REPLY"
		},
		"attrResponse": {
			"result": {
				"identifier": "HixkhyA4dXGz9yxmLQC4PU",
				"seqNo": 12.0,
				"raw": "endpoint",
				"dest": "WRfXPg8dantKVubE3HX8pw",
				"data": "{\"endpoint\":{\"xdi\":\"http://127.0.0.1:8080/xdi\"}}",
				"txnTime": 1.524055265E9,
				"type": "104",
				"reqId": 1.52725687092557056E18
			},
			"op": "REPLY"
		}
	},
	"resolverMetadata": {
		"driverId": "did:sov",
		"driver": "HttpDriver",
		"retrieved": "2018-01-01T19:73:24Z",
		"duration": 1015
	}
}

Appendix

This is an appendix.

References

Move these to localBiblio, update refs, and/or remove as needed.

      [ABNF] Augmented BNF for Syntax Specifications: ABNF. IETF RFC 5234.
        https://tools.ietf.org/html/rfc5234

      [DECENTRALIZED-IDENTIFIERS] Draft Community Group Report
        https://w3c-ccg.github.io/did-spec/