!!! Overview [{$pagename}] is an digital [Distributed|Distributed system] [Identity Document] !! [W3C Decentralized Identifiers] [{$pagename}] is a set of [data] that describes a [Decentralized Identifier], including mechanisms, such as [Public Keys] and [pseudonymous] [biometrics], that an [entity] can use to [authenticate] itself as the [W3C Decentralized Identifiers]. A [{$pagename}] may also contain other [attributes] or [claims] describing the [entity]. These documents are [graph]-based [data] structures that are typically expressed using [JSON-LD], but may be expressed using other compatible [graph]-based data formats. [{$pagename}] is a component of the [W3C Decentralized Identifiers] and is the [resource] to which the [DID] [URI] The combination of a [{$pagename}] and its associated [DID Document] forms the root record for a [Decentralized Identifier]. [{$pagename}] [MUST] be a single [JSON Object] conforming to [RFC 7159]. For purposes of this version of the DID specification, the format of this [JSON Object] is specified in [JSON-LD], a format for mapping JSON data into the [RDF] semantic graph model as defined by [JSON-LD]. Future versions of this specification [MAY] specify other semantic [graph] formats for a [{$pagename}] such as [JXD] ([JSON XDI Data]), a serialization format for the [XDI] [graph] model. The following sections define the properties of this [{$pagename}], including whether these properties are required or optional. * [DID Context] * [DID Subject] * [Public Keys] - lists public keys whose corresponding private keys are controlled by the entity identified by the DID ("owned" public keys). However, a DID Document MAY also list "non-owned" public keys. ** [MAY] include a publicKey property. ** The value of the publicKey property should be an array of [Public Keys]. ** [MUST] include id and type properties, and exactly one value property. ** [MAY] include an owner property, which identifies the [entity] that controls the corresponding [Private Key]. If this property is missing, it is assumed to be the [DID Subject]. ** The value property of a public key [MAY] be publicKeyPem, publicKeyJwk, publicKeyHex, publicKeyBase64 or similar, depending on the format and [encoding] of the [Public Key]. A [registry] of key types and formats is available in Appendix A. Registries . * [DID Authentication] ** [MAY] include an [authentication] property. ** The value of the [authentication] property should be an array of proof mechanisms ([{$applicationname}] assumes these are [Authentication Factors]). ** Each proof mechanism [MUST] include the type property. ** Each proof mechanism [MAY] embed or reference a [Public Key] * [Authorization] and [Delegation] - Since [Authorization] and [Delegation] are typically implemented by the underlying [Distributed Ledger Technology], each DID Method specification is expected to detail how authorization and delegation are performed for the [Distributed Ledger Technology]. * [Service Endpoints|DID Service Endpoint] ** [MAY] include a service property. ** The value of the service property should be an array of service endpoints. ** [MUST] include id, type, and serviceEndpoint properties, and [MAY] include additional properties. ** [protocol] [SHOULD] be published in an open standard specification. ** The value of the serviceEndpoint property [MUST] be a [JSON-LD] object or a valid [URI] conforming to [RFC 3986] and normalized according to the rules in section 6 of [RFC 3986] and to any normalization rules in its applicable [URI] scheme specification. * Created ** [MAY] have one property representing a creation [timestamp]. It is [RECOMMENDED] to include this property. ** The key for this property [MUST] be created. ** The value of this key [MUST] be a valid [XML] [DateTime] value as defined in section 3.3.7 of W3C [XML Schema Definition Language] ([XSD]) 1.1 Part 2: Datatypes [XMLSCHEMA11-2]. ** This datetime value [MUST] be normalized to UTC 00:00 as indicated by the trailing "Z". ** Method specifications that rely on DLTs [SHOULD] require time values that are after the known "median time past" (defined in Bitcoin BIP 113), when the [DLT] supports such a notion. * Updated ** [MAY] have one property representing a creation [timestamp]. It is [RECOMMENDED] to include this property. ** The key for this property [MUST] be created. ** The value of this key [MUST] be a valid [XML] [DateTime] value as defined in section 3.3.7 of W3C [XML Schema Definition Language] ([XSD]) 1.1 Part 2: Datatypes [XMLSCHEMA11-2]. ** This datetime value [MUST] be normalized to UTC 00:00 as indicated by the trailing "Z". ** Method specifications that rely on DLTs [SHOULD] require time values that are after the known "median time past" (defined in Bitcoin BIP 113), when the [DLT] supports such a notion. * Proof ** [MAY] have exactly one property representing a proof. ** The key for this property [MUST] be proof. ** The value of this key [MUST] be a valid [LD-PROOFS] as defined by [Linked Data Proofs]. !! More Information There might be more information for this subject on one of the following: [{ReferringPagesPlugin before='*' after='\n' }] ---- * [#1] - [W3C Decentralized Identifiers (DIDs)|https://w3c-ccg.github.io/did-spec/|target='_blank'] - based on information obtained 2018-11-29