Verifiable Credentials
Verifiable Credentials (VCs) are a digital, cryptographically secured version of both paper and digital credentials. They enable individuals to securely store, manage, and present their credentials (such as identity documents, academic achievements, or licenses) in a privacy-preserving manner. In the ArcBlock ecosystem, VCs play a crucial role in establishing trust and enabling decentralized identity solutions, working in conjunction with Decentralized Identifiers (DIDs) and sharing mechanisms with Non-Fungible Tokens (NFTs).
What are Verifiable Credentials?#
Verifiable Credentials are digital artifacts that allow individuals to prove claims about themselves or their attributes without relying on a centralized authority for constant verification. They are cryptographically secured, ensuring tamper-proof data and immediate authenticity. The core mental model involves three parties:
- Issuer: The entity that creates and issues the VC (e.g., a university issuing a degree).
- Holder: The individual or entity that receives and possesses the VC (e.g., the student who earned the degree).
- Verifier: The entity that requests and verifies the VC (e.g., an employer checking a degree).
The process flow for a Verifiable Credential typically involves these parties:
For a detailed explanation of the core mental model, refer to the W3C Verifiable Credential Overview.
Benefits of Verifiable Credentials#
Verifiable Credentials offer significant advantages over traditional credentialing systems:
- Instant Verification: VCs can be instantly verified anywhere at any time, reducing verification processes from days or weeks to seconds.
- Tamper-Proof Security: Cryptography makes VCs tamper-proof, allowing secure storage, protection, and sharing of data.
- Decentralized Trust: No need to contact the issuer to confirm authenticity, creating immediate trust between parties through cryptographic proof.
- User Control and Ownership: Users have full control and ownership of their data, enabled by decentralized identifiers (globally unique identifiers) and Public Key Cryptography.
- Enhanced Privacy: Users can choose which parts of their identity they want to reveal (e.g., proving they are above a certain age without disclosing their date of birth).
- No Blockchain Storage of Personal Data: Personal data within VCs is not stored on the blockchain, ensuring privacy and compliance.
- Portability: Holders can store VCs in their DID Wallet and carry them anywhere, maintaining verifiability.
Use Cases for Verifiable Credentials#
VCs have a wide range of applications across various industries:
- Authentication: User passports to systems that require authentication.
- Membership Proof: Proof of membership for online or offline communities.
- Academic Achievements: Certificates for online training programs or formal education.
- KYC Certificates: Verification of identity attributes like email or mobile phone numbers for Know Your Customer (KYC) processes.
Many more use cases can be explored in the W3C Verifiable Credential Spec.
Relationship with NFTs#
While both Verifiable Credentials and NFTs are publicly verifiable and can have visual presentations, there's a key distinction: NFTs are always stored on the blockchain, whereas Verifiable Credentials do not need to be. A VC is cryptographically self-proven and tamper-proof, regardless of its storage location. However, an NFT can sometimes include a Verifiable Credential in its data.
To ensure consistency and a familiar user experience, VCs share the same display and endpoint mechanisms as NFTs within the DID Wallet.
VC Display Mechanism#
The display of a Verifiable Credential can be defined in the credentialSubject.display field. This field uses the same data structure as NFT Display, allowing VCs to be presented visually in the DID Wallet in a consistent manner with NFTs.
VC Endpoint Mechanism#
The endpoint of a Verifiable Credential can be defined in the credentialStatus field, utilizing the same data structure as NFT Endpoint. This mechanism enables VCs to provide status and action-related information, which can be presented and interacted with in the DID Wallet in the same way as NFTs.
Working with Verifiable Credentials#
For practical implementation details on issuing and verifying VCs, refer to dedicated guides on working with Verifiable Credentials and DID Connect, which explain how to issue and verify VCs with code and how to request and verify VCs from DID Wallet users.
This section provided a foundational understanding of Verifiable Credentials, their benefits, use cases, and their relationship with NFTs. Understanding these core concepts is essential before diving into the practical capabilities of the GraphQLClient. Continue to Client Capabilities to learn how to interact with blockchain data, send transactions, and subscribe to events using the client.