Table of Contents
Though they are both part of the VC data model, Verifiable Credentials (VCs) are distinct from Verifiable Presentations (VPs). Presentations are typically generated or derived from VCs and presented by credential holders for the purposes of verification.
The VC spec defines a general data model for VPs, but doesn't specify how to request specific information in a Verifiable Presentation. Our approach is based on the VP Request Spec at the W3C Credentials Community Group.
The MATTR Platform incorporates the privacy-preserving capabilities of verifiable presentations in our Platform Core. Core allows users to create, retrieve, manage, and delete Verifiable Presentation templates.
Presentations are an area where the Mobile Wallet plays a very important role. While the platform creates templates for VPs, it's the Mobile Wallet App that generates and derives these presentations and exchanges them on behalf of the user.
NOTE: We have developed an experimental feature in our platform around Zero-Knowledge Proofs (ZKP). It's a technique to implement privacy-preserving selective disclosure in verifiable credentials using the cryptography of BBS+ signatures. As ZKPs are experimental, they only work with
did:keymethod at this point. To experiment with this feature, use your API endpoint to create a DID with "method":"key" and "keyType":"bls12381G2" parameters set. If you create a Verifiable Credential using this new DID as the issuer DID, the platform will automatically detect this capability and create a ZKP-enabled BBS+ credential for you. Our Mobile Wallet App can detect if ZKP is enabled in a credential, and upon request for verification, will use that information to derive a new credential presentation that selectively discloses the required info using ZKP. You can read more about our work on privacy-preserving verifiable credentials on our blog.
For more detail on our Verifiable Presentation capabilities, check out the API Reference Docs.