The github
method is meant to make working with DIDs very simple at the cost of trusting Github.com for assisting in resolving DID Documents.
Many developers are familar with Github, and its 2 supported public key cryptosystems, GPG and SSH.
Linked Data Signatures are difficult to work with when operating a server or running a local node of some distributed system / blockchain is a requirement.
The objective of GitHub DID is to encourage contribution to the DID Spec and Linked Data Signatures, and allow rapid development of extensions to these without requiring the use of slow, or complicated more trustless infrastructure, such as blockchains or other distributed systems.
The namestring identifying this did method is github
A DID that uses this method MUST begin with the following prefix: did:github
. Per the DID specification, this string MUST be in lowercase.
The remainder of a DID after the prefix, called the did unique suffix, MUST be a valid Github username
Example: did:github:gjgd
In order to create a Github DID, a Github user MUST:
ghdid
index.jsonld
master
branchIn order to resolve a did:github:USERNAME
, you MUST read the index.jsonld
document on the master
branch of the ghdid
repository of the user USERNAME
As a shortcut, a user MAY resolve the following URL:
https://raw.githubusercontent.com/USERNAME/ghdid/master/index.jsonld
In order to update a did document, a Github MUST update the index.jsonld
file on the master
branch of their ghdid
repo
In order to delete a did document, a Github MUST delete the index.jsonld
file on the master
branch of their ghdid
repo
proof
field of their did document for a strong verifiable cryptographic proof