Verifiable Credentials
Credentials are a regular part of our lives. For example, university degrees, passports, and certifications are all examples of credentials that assert some claim about us.
Based on W3Cโs Verifiable Credentials Data Model specs, Terminal 3 provides a set of REST APIs and SDKs for the issuance and verification of digital credentials that are cryptographically secure, privacy-preserving, and machine-verifiable.
A claim is a statement about a subject. A subject is a thing (typically a person) about which claims can be made.
Basic structure of a claim:
A claim expressing that Terry is an alumni of โOC Universityโ:
Multiple claims can be combined to express a graph of information:
A credential is a set of one or more claims made by an issuer. A verifiable credential (VC) is a tamper-evident credential and metadata that cryptographically proves who issued it.
โVerifiableโ means a credential can be verified by a verifier. It only implies that an issuer signed the VC; it does not imply the truthfulness of claims.
A VC typically includes credential metadata, claim(s), and proof(s).
Specifically, a VC is a hash presentation in either JSON or JSON-LD format. Here is an example of a VC in JSON-LD:
Notes:
A VP expresses data derived from one or more VCs, issued by one or more issuers, that is shared with a specific verifier. It is a tamper-evident presentation encoded in such a way that authorship of the data is cryptographically verifiable.
VPs consist of presentation metadata, VC(s), and proof(s).
We also leverage zero-knowledge (ZK) proofs to enable selective disclosure in VPs.
There are three primary roles โ known as the Triangle of Trust โ that make up a VC ecosystem: issuers, holders, and verifiers.
The lifecycle of a VC (and VP) can be simplified into the following journey:
Register Issuer DIDs
Issuers publish their public keys in an on-chain DID Registry, managed by
Terminal 3.
A DID is used to hold the Issuerโs public key
An Issuer creates and signs a VC
Create a VC and digitally sign it with their private cryptographic key
The Issuer transfers the VC to Terminal 3 for storage
Encrypt the VC - Store the encrypted VC in an off-chain Credential Repository, managed by Terminal 3
The Verifier verifies the credential from the Holder
Request the VC from Holder - Extract DID from the VC - Extract the Issuerโs
public key
Use the Issuerโs public key to verify:
1. The Issuer has the authority to issue the VC, via the DID Registry
2. The VC is still valid (not expired nor revoked, via the Revocation
Registry)