Parts of a VCMP

Explanation of the different components that makes up the VCMP

VC Registry

The VC registry is a component of the VCMP that allows users to store and manage their verifiable credentials, and make them available to others who need to verify their identity or other attributes.

The VC registry is an onchain and public storage on the VCMP that maintains the VC Index <> VC Hash so that credentials can be verified. It contains only a map from the VC index and VC hash which is used to check the validity of the VC content. When a VC is generated, the Parachain VCMP extrinsic vc_issued is called (one of the parameters is the generated VC, encrypted by the user’s shielding key; and the other parameters are vc_index, vc_hash, etc), and VCMP outputs an VC_issued event. At the same time, the VCMP inserts a new record into the VC Registry, the key isvc_index, and the value is vc_context (this includes subject, vc_hashand vc_status). The default vc_status is active.

The registry does not store all the content of a VC. Rather, it stores only the VC index and context to ensure that the privacy of users is protected. It is responsible for maintaining a list or directory of issued credentials. The registry typically includes the VC subject (the individual to whom the credential was issued), the VC status (active, revoked, expired, etc.), and the VC hash. This information can be accessed by verifiers to verify the authenticity and validity of a credential presented by a holder.

The registry can also provide additional services, such as allowing holders to manage their credentials, enabling issuers to publish and share information about their credentials, or withdrawing access to the credential.

Summarily, the cycle of the sequence of events in a verifiable credential ecosystem is as follows:

  1. Issue. The first event in the sequence is the issuance of a VC. This involves an issuer issuing a verifiable credential to a holder.

  2. Transfer. Once received by the holder, the holder may transfer one or more of its VC to another holder or may optionally present its VC(s) to a verifier.

  3. Verify. The verifier determines the authenticity of the VC and this includes a status check for revocation of the verifiable credential.

  4. An issuer might then decide to revoke a verifiable credential; or

  5. A holder might delete a verifiable credential.

Although the order of the actions above is not always fixed, the most common sequence of action is usually:

  • An issuer issues to a holder

  • The holder presents to a verifier

  • The verifier verifies.

Map, VC Index, and VC Context

The VC registry is made up of a Map and it consists of Index as a key, and Context as a value. The map is typically represented as a JSON object that contains a key-value pair for each context aim in the credential.

The VC Index is the key that provides a way for issuers and verifiers to find and share credentials with each other in a secure and efficient manner.

The VC Context is an important component of the registry it helps to ensure interoperability and consistency in the creation, verification, and management of VCs. It doesn’t contain any original VC content to protect user privacy but it acts as the value and is made up of the following three fields; Subject, Hash, and Status.

  • Subject

A subject is an entity to which the VC is issued and the VC is about. The subject can be an individual person, an organization, or any other entity that can be described using a set of claims or contexts.

  • Blake2_256 Hash of VC:

The Blake2_256 hash of a verifiable credential is a cryptographic digest generated using the Blake2_256 hashing algorithm. This hash can be used to verify the integrity and authenticity of the credential, as any tampering with the contents of the credential will result in a different hash value.

  • Status

Status refers to the current validity or state of the VC registry. The status can indicate whether the credential of a user is active, disabled, or revoked. The status of a verifiable credential can change over time, depending on various factors, e.g, if the issuer revokes or suspends the credential for some reason.

The status of a verifiable credential is an important aspect of its validity and can be used by relying parties to make informed decisions about whether to trust and rely on the claims contained in the verifiable credential.

Last updated