jspωiki
Decentralized Identifier

Overview[1]#

Decentralized Identifier (DID) is a component of the W3C Decentralized Identifiers draft standard and is a globally unique identifier expressed as a URI.

Decentralized Identifier is a globally Unique Identifier that does not require a Centralized system Registration Authority Enrollment because it is registered with Distributed Ledger Technology or other form of Decentralized system. The generic format of a Decentralized Identifier is defined in the specification. A specific DID scheme is defined in a DID method specification.

Decentralized Identifier may relate generically refer a DID Document or to a specific DID Subject's DID

The Generic DID URI Scheme conformant with RFC 3986. Decentralized Identifier consists of a DID followed by an optional URI Path and/or URI Fragment Identifier. The term DID refers only to the identifier conforming to the did rule in the ABNF below; when used alone, it does not include a URI Path or URI Fragment Identifier. A DID that may optionally include a path and/or fragment is called a DID reference.

Following is the ABNF definition using the syntax in RFC 5234 (which defines ALPHA as UPPERCASE or Lowercase A-Z).

  • did-reference = did [ "/" did-path ] "#" did-fragment
  • did = "did:" method ":" specific-idstring
  • method = 1*methodchar
  • methodchar = %x61-7A / DIGIT
  • specific-idstring = idstring *( ":" idstring )
  • idstring = 1*idchar
  • idchar = ALPHA / DIGIT / "." / "-"

A simple example of a Decentralized Identifier (DID)#

did:example:123456789abcdefghi
Decentralized Identifiers are used within DID Documents as an

Decentralized Identifier Specification #

Decentralized Identifier Specification has two purposes:

Persistent and Immutable#

Decentralized Identifier MUST be persistent and immutable, i.e., bound to an entity once and never changed (forever). Ideally a Decentralized Identifier would be a completely abstract Decentralized Identifier (like a UUID) that could be bound to multiple underlying distributed ledgers or networks over time, thus maintaining its persistence independent of any particular ledger or network. However registering the same identifier on multiple ledgers or networks introduces extremely hard entityship and Trust Anchor problems and also greatly increases implementation complexity for developers.

To avoid these issues, it is RECOMMENDED that DID method specification only produce DIDs and Decentralized Identifier methods bound to strong, stable ledgers or networks capable of making the highest level of commitment to persistence of the DID and DID method over time.

DID Method#

A definition of how a specific DID scheme can be implemented on a specific distributed ledger or network, including the precise method(s) by which DIDs and DID Documents can be read, written, and revoked.

DID Scheme#

DID Scheme is the formal syntax of a Decentralized Identifier. The generic DID scheme is defined in this specification. A DID method specification defines a specific DID scheme that works with a specific DID method.

More Information#

There might be more information for this subject on one of the following: