hypersign-protocol / whitepaper

2 stars 0 forks source link

W3C : A DID developer's guide to understanding and implementing Decentralized Identifiers #60

Open Vishwas1 opened 2 years ago

Vishwas1 commented 2 years ago

DID implementers guide

Understand this: A DID developer's guide to understanding and implementing Decentralized Identifiers

https://w3c.github.io/did-imp-guide/

Vishwas1 commented 2 years ago

DID operations

Verifiable Data Registry (VDR)

Establishing a DID

DID create operation

DID resolve

DID URL

DID Update operation

DID Deactivate

Verification relationship

Authentication

If authentication is established, it is up to the DID method or other application to decide what to do with that information.

A particular DID method could decide that authenticating as a DID controller is sufficient to, for example, update or delete the DID document.

Another DID method could require different keys, or a different verification method entirely, to be presented in order to update or delete the DID document than that used to authenticate.

Assertion

The assertionMethod verification relationship is used to specify how the DID subject is expected to express claims, such as for the purposes of issuing a Verifiable Credential

Key Agreement

The keyAgreement verification relationship is used to specify how an entity can generate encryption material in order to transmit confidential information intended for the DID subject, such as for the purposes of esta blishing a secure communication channel with the recipient.

An example of when this property is useful is when encrypting a message intended for the DID subject. In this case, the counterparty uses the cryptographic public key information in the verification method to wrap a decryption key for the recipient.

Capability Invocation

The capabilityInvocation verification relationship is used to specify a verification method that might be used by the DID subject to invoke a cryptographic capability, such as the authorization to update the DID Document.

I could not understand it completely : https://www.w3.org/TR/did-core/#capability-invocation

Capability delegation

https://www.w3.org/TR/did-core/#capability-delegation

Verification methods properties

  1. publicKeyJwk
  2. publicKeyMultibase
  3. blockchainaccountid https://w3c-ccg.github.io/security-vocab/#blockchainAccountId

Verification Method types

These are values to be used for the type field in a verification method object.

https://w3c-ccg.github.io/security-vocab/#classes

  1. jsonwebkey2020
  2. EcdsaSecp256k1VerificationKey2019
  3. Ed25519VerificationKey2018
  4. Bls12381G1Key2020
  5. Bls12381G2Key2020
  6. pgpverificationkey2021
  7. RsaVerificationKey2018
  8. X25519KeyAgreementKey2019
  9. EcdsaSecp256k1RecoveryMethod2020
  10. VerifiableCondition2021 : It can be used to combine verification methods together to form conjugated conditions such as logical operations &&, thresholds, weighted thresholds, relationships and a delegation to external verification methods.

Services

https://w3c.github.io/did-spec-registries/#service

Vishwas1 commented 2 years ago

Compliance

Review any applicable local law when considering developing or operating a decentralized identifier method.

Consider GDPR, CCPA, EAR.

https://w3c.github.io/did-imp-guide/#compliance

Cryptography