This page (revision-1) was last changed on 29-Nov-2024 16:16 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 added 73 lines
!!! Overview[1]
[{$pagename}] ([DID]) is a component of the [W3C Decentralized Identifiers] draft [standard] and is a globally [unique identifier] expressed as a [URI].
[{$pagename}] 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 [{$pagename}] is defined in the [specification].
[{$pagename}] are [Algorithmmic|Algorithm] [Identifier] that could be stored on a variety of [DataStores] but a [Distributed Ledger Technology] is used most often.
A specific [DID] scheme is defined in a [DID method specification].
[{$pagename}] may relate generically refer a [DID Document] or to a specific [DID Subject]'s [DID]
The __Generic__ [DID] [URI Scheme] conformant with [RFC 3986]. [{$pagename}] 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] = "did:" method ":" specific-idstring ([URI Scheme])
* [method|DID method specification] = 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}}}
Where:
* did - [URI Scheme]
* example - [DID method specification]
* 123456789abcdefghi - [DID method specific|DID method specification] [Unique Identifier]
!! [{$pagename}] [Specification]
[{$pagename}] [Specification] has two purposes:
* define the generic [{$pagename}] scheme and a generic set of [DID Operations] on [DIDs] that can be implemented for any [distributed ledger|Distributed Ledger Technology] or network capable of supporting [DIDs].
* define the conformance requirements for a [DID method specification]
!! Persistent and [Immutable]
[{$pagename}] [MUST] be persistent and [immutable], i.e., bound to an [entity] once and never changed (forever). Ideally a [{$pagename}] would be a completely abstract [{$pagename}] (like a [UUID]) that could be bound to multiple underlying [distributed ledgers|Distributed Ledger Technology] 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 [{$pagename}] 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 specification]
[DID method specification] provides definition of how a specific [{$pagename}] [URI Scheme] can be implemented on a specific [Distributed Ledger Technology] 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 [{$pagename}]. 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.
!! [{$pagename}] Resolution
To be useful, [Identifiers] [MUST] be resolvable (e.g. have a means of discovering what the identifier means). The [DID method specification] determines the resolution of the [{$pagename}]s are resolved to a [DID Document]. Resolution is the act of looking up the [DID Document] for a specific [{$pagename}] using the methods given by the [DID method specification]. Taken as a whole, DID infrastructure functions as a global, decentralized key-value store where DIDs act as the keys and [DID Documents] are the values.
!! More Information
There might be more information for this subject on one of the following:
[{ReferringPagesPlugin before='*' after='\n' }]
----
* [#1] - [DID Decentralized Identifier) Data Model and Generic Syntax 1.0|https://docs.google.com/document/d/1Z-9jX4PEWtyRFD5fEyyzEnWK_0ir0no1JJLuRu8O9Gs/edit#|target='_blank'] - based on information obtained 2016-12-01-
* [#2] - [W3C Decentralized Identifiers (DIDs)|https://w3c-ccg.github.io/did-spec/|target='_blank'] - based on information obtained 2018-11-29
* [#2] - [Decentralized Identifiers (DIDs) v1.0|https://www.w3.org/TR/did-core/|target='_blank'] - based on information obtained 2020-10-03