Verifiable Credentials Specification

Version 1.3.0

Attribute Sets and Attestation attachments shared via DSNP reference data documents containing Verifiable Credentials and related objects. For DSNP purposes, certain restrictions and extensions are applied to the base World Wide Web Consortium (W3C) specification documents noted below. When there are DSNP extensions, they are guaranteed to use non-colliding terms.

It is anticipated that these W3C specifications will evolve, and applications interacting with Verifiable Credentials, Schemas, and DIDs via DSNP are encouraged to be as flexible as possible in their syntax support as new versions and supporting software libraries become available. Therefore, compatibility with the following versions and specifications should be construed as the minimal level of support required to ensure interoperability between DSNP applications.

Compatibility

Current usage with DSNP relies on the following specifications:

SpecificationVersion/StatusRelevant JSON-LD @context Values
Verifiable Credentials Data Model1.1 (W3C Recommendation)
2.0 (W3C Candidate Recommendation Draft 15 September 2024)
https://www.w3.org/2018/credentials/v1
https://www.w3.org/ns/credentials/v2
Verifiable Credential Data Integrity1.0 (W3C Candidate Recommendation Draft 16 September 2024)https://w3id.org/security/data-integrity/v2
https://w3id.org/security/multikey/v1
Verifiable Credentials JSON Schema(W3C Candidate Recommendation Draft 12 September 2024)
Decentralized Identifiers (DIDs)1.0 (W3C Recommendation 19 July 2022)https://www.w3.org/ns/did/v1

Cryptography

The Data Integrity specification provides a generic format for expressing cryptographic proofs, where the detailed representation of each data item is defined in individual cryptosuites. DSNP compliant applications MUST support the following cryptosuites, which correspond to the allowed algorithms for the DSNP User Data item assertionMethodPublicKeys:

SpecificationVersion/StatusMultikey codec
Data Integrity EdDSA Cryptosuites1.0 (W3C Candidate Recommendation Draft 16 September 2024)ed25519-pub

DSNP Usage Details

DSNP incorporates the following W3C JSON-LD types. See the individual pages for details of restrictions to and extensions on each type.

NameSince DSNP Version
Verifiable Credential1.3
Verifiable Credential Schema1.3
DID1.3

Libraries

NameLanguage(s)
LibertyDSNP/dsnp-verifiable-credentialsJavaScript/TypeScript
LibertyDSNP/dsnp-did-resolverJavaScript/TypeScript

Releases

VersionDescriptionRelease DateChangelog
1.3.0DIP-2572024-09-17Changelog

Non-Normative

Additional Fields

DSNP application developers may choose to support more of the relevant JSON-LD vocabularies from the specifications above as long as doing so does not conflict with this specification, but should note that other conforming applications may not recognize those additions. Implementers who extend their support for Verifiable Credentials objects beyond the subset defined here do so at their own risk.

Verifiable Presentations

Verifiable Presentations combine one or more Verifiable Credentials in a single document. These might be existing Verifiable Credentials, whether or not previously published, or new Verifiable Credentials derived from non-public source credentials using methods like zero-knowledge proofs. At this time, Verifiable Presentations are not directly tied to DSNP content or announcements. However, application and service providers may be interested in implementing functionality using Verifiable Presentations with DSNP Verifiable Credentials. Applications are encouraged to follow the verification guidelines for DSNP Verifiable Credentials even when encountering those credentials as part of a Verifiable Presentation.