This is a set of slides showing the relationships of the various Recommendations that the W3C Verifiable Credentials Working Group plans to publish in 2024.

To start the slide show, turn on JavaScript and press Shift+F5 (or Command+Enter on Mac) or click on a slide. Return to the index by pressing the Esc key.

W3C Verifiable Credentials Working Group Specifications

It all starts with a data model…

Single box labelled with “VC Data Model, Graph based model of verifiable claims in JSON for Issuer-Holder-Verifier relationships”

Structural check of a document

A new box added to the left of the previous diagram, labelled with “JSON Schema, JSON Schemas for the structural checking of VCs”. This box is connected via an arrow to the box labeled as “VC Data Model”

Credentials should be secured

A drawing for a delimited area is added to the previous diagram underneath the box labeled as “VC Data Model”, labeled as “Securing Mechanism of VCs”, with additional subdivision between “embedded” and “enveloping” proofs.

Securing through JSON Web Tokens & co.

The delimited area on “enveloping proof” includes a new box, labeled as ”JOSE and COSE, Enveloping proofs using JWS, SD-JWT, or CBOR”. This box is connected with an arrow to the box labeled as ”VC Data Model”. Additionally, a box right underneath the VCDM box appears labeled as “Controller Documents, Common definitions of verification methods and relationships”, also connected by the JOSE-COSE box.

Securing “within” the credential…

Delimited area is added to the diagram, labeled as “Embedded Proofs” includes a new box labeled “Data Integrity, General structure of embedded proofs”. This box is connected with an arrow to the box labeled as ”VC Data Model”, as well as the “Controller Documents” one.

…with specific cryptosuites

Three new boxes are added to the delimited area labeled as “Embedded Proofs”; all boxes are connected with arrow to the box labeled as ”Data Integrity”. The new boxes are: (1) Labeled as ”ECDSA Cryptosuites, Data Integrity with NIST elliptic curves”. (2) Labeled as ”EdDSA Cryptosuites, Data Integrity with Edwards elliptic curves”. (3) Labeled as ”BBS Cryptosuites, Data Integrity with BBS selective disclosures”.</li> </ol>

Manage suspension/revocation of credentials

A new box added to the right of the full diagram, labelled with “Bitstring Status List,Publishing status information for VCs using bitstrings”. This box is connected via an arrow to the box labeled as “VC Data Model”

Standard cryptosuites

 The image is a flowchart showing the categorization of various cryptographic suites and their respective canonicalization methods. The chart branches to three main cryptosuites documents: EdDSA (based on Edwards curves), ECDSA (based on ECDSA curves), and BBS (based on BBS schemes). The EdDSA suite further divides into two specific cryptosuites: eddsa-rdfc-2022 (using RDFC-1.0 for canonicalization) and eddsa-jcs-2022 (using JCS for canonicalization). The ECDSA suite branches into three specific cryptosuites: ecdsa-rdfc-2019 (using RDFC-1.0 or canonicalization), ecdsa-jcs-2019 (using JCS canonicalization), and ecdsa-sd-2023 (using RDFC-1.0 for canonicalization and providing selective disclosure schemes). The BBS suite splits into one method: bbs-2023 (using RDFC-1.0 for canonicalization and providing selective disclosure schemes).

Example: Basic credential…

        {
          "@context": [
            "https://www.w3.org/ns/credentials/v2",
            "https://www.example.org/vocabs/alumni"
          ],
          "id": "https://university.example/Credential12",
          "type": ["VerifiableCredential", "ExampleAlumniCredential"],
          "issuer": "did:example:2g55q91",
          "credentialSubject": {
            "id": "https://www.example.org/persons/pat",
            "name": "Pat",
            "alumniOf": {
              "id": "did:example:c276e12ec21ebfeb1f712ebc6f1",
              "name": "Example University"
            }
          },
          …

…JSON Schema and status references

          …
          "credentialSchema": {
            "id": "https://uni.example/Credential12-schema-credential",
            "type": "JsonSchemaCredential"
          },
          "credentialStatus": {
            "id": "https://uni.example/statuslist#123456",
            "type": "BitstringStatusListEntry",
            "statusPurpose": "revocation",
            "statusListIndex": "123456",
            "statusListCredential": "https://uni.example/StatusList"
          },
          …

…and signed using ECDSA

          …
          "proof": {
            "type": "DataIntegrityProof",
            "cryptosuite": "ecdsa-rdfc-2019",
            "created": "2010-01-01T00:00:00Z",
            "expires": "2040-01-01T00:00:00Z",
            "verificationMethod: "did:example:2g55q91#ecdsa-public-key"
            "proofPurpose": "assertionMethod"
            "proofValue": "zQeVb…Wx"
          }
        }

Further links

These slides:
/2017/vc/WG/assets/presentations/VCWG_specifications.html
/2017/vc/WG/assets/presentations/VCWG_specifications.key
/2017/vc/WG/assets/presentations/VCWG_specifications.pdf
Single Overview in SVG:
/2017/vc/WG/assets/VCWG_specifications.svg
VC Overview Document (to be published as a WG Note):
https://w3c.github.io/vc-overview/