Verifiable credentials can be issued by anyone, about anything, and can be presented to and verified by everyone
- Issuer: the entity that generates the credential
- Holder: entity that receives the credential
- Verifier: entity that wants to check the credentials of the Holder
For this to work requires a triangle of trust:
- The issuer trusts the holder
- The holder trusts the verifier
- The verifier trusts the issuer
Verifiable Data Registry (VDR): can be used to maintain identifiers and schemas
To make a VC:
- Issuer registers a DID and its associated verification key (verkey) to the VDR
- Issuer writes a credential definition (a template) to the VDR
- (Optional) Issuer offers a credential to the holder
- Holder requests a credential from the Issuer
- Issuer creates a credential based on the definition for the holder
- Issuer signs the credential with their private part of the verification key, and gives it to the holder (offer)
- Verifier can then check the credential against the issuer’s verkey
Example VC