Verifiable Credentials¶
What are VCs?¶
Imagine you're at a supermarket buying groceries and you come across a wine you'd like to purchase. In many places, you need to prove you're over a certain age to buy alcohol. Normally, you'd show your driver's license or ID card. This card is issued by a trusted authority (the DMV or government), and the cashier can verify your age by looking at it.
In this scenario, the ID card is like a Verifiable Credential. It's a trusted document that verifies a certain fact about you - in this case, your age. The DMV or government is the issuer of the credential, you are the holder of the credential, and the cashier is the verifier who checks the credential.
However, when you show your ID card, you're also showing your full name, address, and other information that the cashier doesn't need to know. What if you could just show that you're over the required age, without revealing anything else? That's what Verifiable Credentials allow in the digital world. They let you prove something about yourself, like your age, without giving away any other unnecessary information.
So, Verifiable Credentials are digital proofs that confirm a piece of information about a user, issued by a trusted source, and can be verified by anyone who needs to check that information, all while preserving the user's privacy.
Core Concepts¶
Building on the previous section, where we compared Verifiable Credentials to an ID card used to verify a person's age at a supermarket, let's dive deeper into these concepts and how they function within the Verifiable Credentials system.
Issuer¶
Consider the Department of Motor Vehicles (DMV) or a government body that issues ID cards. They're like the issuer in the verifiable credentials system. They're responsible for verifying your information and then issuing a credential, in this case, your ID card. W3C definition
Holder¶
You, who hold the ID card, are the holder in the verifiable credentials system. You keep this credential, ready to present it whenever necessary, such as when buying wine at the supermarket. W3C definition
Verifiable Credentials¶
Your ID card serves as a verifiable credential. It's a document provided by a trusted issuer (the DMV) that certifies certain information about you (your age, in this case). W3C definition
Verifier¶
The supermarket cashier is the verifier in our scenario. They're the ones who need to check and confirm your age before selling you the wine. They can trust the information on your ID card because they know it's issued by a reliable entity (the DMV). W3C definition
Wallet¶
Think of your wallet or purse, where you keep your ID card, as the digital wallet in a verifiable credentials system. Just like you store your ID card in a physical wallet, holders store their digital credentials in a secure digital wallet. This digital wallet can be used to manage and present credentials when necessary.
Self's Role¶
Self acts as a versatile toolkit for developers working with Verifiable Credentials. It takes care of the heavy-lifting, managing the complex cryptographic processes and protocol interactions under the hood.
Self offers a neat SDK for developers to request the credential presentation _ and credential verification requests, while allowing you to process and verify the received Verifiable Credentials. It's like a reliable co-worker who handles the most complex parts of your project, allowing you to focus on integrating robust identity verification into your applications.
By leveraging Self's SDK, you can bypass the intricacies of the VC specification. Think of it as a shortcut, saving you from getting tangled in the nitty-gritty of the protocol while still ensuring a robust implementation. This way, you can channel your efforts into the unique aspects of your application, rather than reinventing the wheel.