hypersign-protocol / whitepaper

2 stars 0 forks source link

HID-DID method spec for registration on W3C did registry #46

Open Vishwas1 opened 2 years ago

Vishwas1 commented 2 years ago

Here is the process https://www.w3.org/TR/did-spec-registries/#the-registration-process

Vishwas1 commented 2 years ago

HID-DID method registration on W3C

Vishwas1 commented 2 years ago

Process

Baseline registration requirements for DID

https://github.com/w3c/did-spec-registries/issues/382

How to register ?

Points to be considered for DID Method Registration

As a DID method registrant, I have ensured that my DID method registration complies with the following statements:

Note : privacy/security considerations section split out and more developed in alignment with section 8.3 and 8.4 of DID-Core

DID method registry tooling

command line tooling and support scripts for the did spec registries.

https://github.com/w3c/did-spec-registries/tree/main/tooling

Vishwas1 commented 2 years ago

DID Method name

hid

Method Specific Identifier

The cheqd DID method's method-specific identifier ( method-specific-id ) is made up of the namespace component. The namespace is defined as a string that identifies the cheqd network (e.g., "mainnet", "testnet") where the DID reference is stored. Different cheqd networks may be differentiated based on whether they are production vs non-production, governance frameworks in use, participants involved in running nodes, etc. The namespace associated with a certain network/ledger is stored in the genesis file on the node and cannot be changed by validators vote. A namespace is optional and can be omitted. A did:cheqd DID must be unique by having the unique-id component be derived from the initial public key of the DID. For an Ed25519 public key, the first 16 bytes of the base-58 representation of the 256-bit public key is used to generate the unique-id . If no namespace is specified, it assumed to be default namespace for the network/ledger the request is targetted at. This will generally be mainnet for the primary production cheqd network

Hypersign's DID Method Syntax

The Hypersign DID method ABNF Rules conform with DID syntax guidelines is as follows:

did                 = "did" ":"  method-name  ":" network-namespace ":"  unique-id 
method-name         = "hid"
network-namespace   = "main" / "test"
unique-id           = 32*255id-char
idchar              = ALPHA / DIGIT 

Examples:

A DID written to Hypersign mainnet ledger:

did:hid:main:0x123123123123123123

A DID written to Hypersign testnet ledger:

did:hid:test:0x123123123123123123

DID URL Syntax

https://www.tyronzil.com/scheme/did-url-syntax/

DID Documents (DIDDocs)

Elements needed for a W3C specification compliant DIDDoc representation

Example

Format of didDoc on ledger

"diddoc:<id>" -> {DIDDoc, DidDocumentMetadata, txHash, txTimestamp }

DIDDoc metadata

Verification Method

Verification methods are used to define how to authenticate / authorise interactions with a DID subject or delegates. Verification method is an OPTIONAL property.

Example of Verification method

Service

Example of service

{
"id":"did:cheqd:mainnet:N22KY2Dyvmuu2PyyqSFKue#linked-domain",2
"type": "LinkedDomains",3
"serviceEndpoint": "https://bar.example.com"4
}

DID Operations

Create DID

Update DID

Resolve DID

Deactivate DID

Security Concideration

Privacy Conciderations

Consequences

Positive

Negative

Neutral

References

Vishwas1 commented 2 years ago

https://github.com/cosmos/cosmos-sdk/discussions/9337

Vishwas1 commented 2 years ago

https://github.com/ayanworks/polygon-did-registrar