Verifable Credentials (VC)

A verifiable credential (VC) is a digital file that contains one or more key-value claims (e.g., birth date, name, qualifications, gender, citizenship, skills, etc.) about an entity (the subject), issued by another entity (the issuer), and is verifiable by any entity (the verifier).

Schemas Repository

Each type of Verifiable Credential (VC) follows the basic scheme proposed by the W3C that defines the fields and data types. Similarly, it is possible to extend the proposed standard through schemes that define the new fields within a specific type of credential.

The schema of a VC is typically a JSON-LD file that describes the fields that the credential can contain, and the credential must point to that file through the “@context” field. Therefore, the JSON-LD file associated with the credential schema must exist in a public place where it can be accessed for later validation. 

Within the identity stack and with the purpose of maintaining a control of credential types, LACChain has created a LACChain Credential Repository where any entity can register its type of credential along with the associated schema for later publication within the registry that is located at https://id.lacchain.net.

LACChain has built and maintains a public library of VCs that is aimed to incorporate VCs designed for and used in real use cases across Latin America and the Caribbean in areas such as education, health, energy, public administration services, and land registry, among others. This library can be found in this domain.

IMPROVE

Verification Process

The LACChain Framework presents a process to verify verifiable credentials consisting on the following steps:

  1. Verification of the digital wallet: Qualified certified wallets will be trusted to provide an assurance that only the holder of a verifiable credential can access it to present it from their digital wallet.
  2. Verification of the integrity: Verify the content of the credential has not been modified (by verifying the issuers’ signature of the content).
  3. Verification of the status: Verify the credential has not been revoked by the issuer.
  4. Verification of the issuer: Verify the issuer is an entity that the verifier trusts for the issuance of that credential. We propose to use an on-chain root of trust based on smart contracts to verify issuers. Read all about it here.
  5. Verification of the presenter: Verify the presenter is the subject or someone authorized by the subject to be holding and presenting the credential. This can be done by checking the signature issued by the presenter at the time of presenting.
  6. Verification of the claims: Verify the claims are presenting to the verifier the information the verifier intends to verify from the subject.
 

At LACChain we have proposed that the entire verification process described above be carried out in an on-chain way, that is, using smart contracts based on EIP-712 and EIP-1812 for credential signatures and on-chain claims verification, respectively. We have a tutorial you can follow for it.

LACChain Mailbox for Exchanges

Currently, there are not many solutions for the exchange of credentials (i.e., for issuers to send them to subjects and for subjects to present them to verifiers when it is not through a QR code), some proposals consist of exchange protocols over the internet (see DIDComm). LACChain has developed an ad-hoc solution for the exchange of Verifiable Credentials, exposing a REST API as an SMTP mail service. The LACChain Mailbox is a secure and private system for the exchange of messages, VCs, and VPs. It is a controlled by a centralized service that allows entities identified using DIDs to send and receive messages that are stored encrypted in a secure database.

Tutorials

Copyright 2022 © All rights Reserved. Designed by LACNet