DID Universal Resource Identifier
Last updated
Was this helpful?
Last updated
Was this helpful?
All DID Methods on sidetree share the same identifier format. The unique identifier segment is known as a . This is derived from the initial state of the DID’s state data. Additionally, the is cryptographically bound to the initial PKI state of the DID, making sidetree DIDs self certifying. This enables a person who creates a DID knows their unique identifier at the moment of DID generation, and is secured cryptographically for instant use. The URI resolves to a based on the implementation of the specific DID method. This infrastructure could be a web server (similar threat model to current URL API calls), peer-to-peer discovery, anchor to the Bitcoin blockchain, IPFS or custom implementation devised by the controller. In our case we use DID:ION our implementation.
Upon DID creation a short form DID URI is generated.
Short-Form DID URI Format:
Short-Form DID URI Example:
After DID generation there is an indeterminate period of time before DID operation is anchored, propagated, and processed by anchoring systems. To account for this, Sidetree generates a long-form DID URI that is an equivalent to Sidetree-based DIDs that is both self-certifying and self resolving. This allows DIDs to be immediately resolvable by including the DIDs initial state data within long-form DID URI. Long form DID URI are the same as short for DID URI with an additional colon-separated segment appended at the end. This segment is a JSON data payload that contains information required for DID operation.This JSON data is encoded and added after the .
Long-Form URI JSON Payload data
Format of Long-Form DID URI:
Example of Long-Form DID URI:
Long-Form DID URIs support the follow features:
Resolving DID Documents of unpublished DIDs
Authentication of unpublished DIDs
Verification of credentials signed against unpublished DIDs