Skip to content

Commit

Permalink
GITBOOK-299: change request with no subject merged in GitBook
Browse files Browse the repository at this point in the history
  • Loading branch information
Tweeddalex authored and gitbook-bot committed Jun 13, 2024
1 parent 1a85ebe commit 0bea3d2
Show file tree
Hide file tree
Showing 11 changed files with 318 additions and 32 deletions.
12 changes: 8 additions & 4 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,14 @@
* [Verifier pays Issuer](credential-service/payments/verifier-pays-issuer.md)
* [Bulk Update or Rotate Encryption Keys](credential-service/payments/update.md)
* [🎋 Create Status Lists](credential-service/status-lists/README.md)
* [Create Status List](credential-service/status-lists/create-status-list.md)
* [Update Status List](credential-service/status-lists/update-status-list.md)
* [Check Status List](credential-service/status-lists/check.md)
* [Search Status List](credential-service/status-lists/search.md)
* [Status List v2021](credential-service/status-lists/status-list-v2021/README.md)
* [Create Status List v2021](credential-service/status-lists/status-list-v2021/create-status-list.md)
* [Update Status List v2021](credential-service/status-lists/status-list-v2021/update-status-list.md)
* [Check Status List v2021](credential-service/status-lists/status-list-v2021/check.md)
* [Search Status List v2021](credential-service/status-lists/status-list-v2021/search.md)
* [Token Status List](credential-service/status-lists/token-status-list/README.md)
* [Create Token Status List](credential-service/status-lists/token-status-list/create-token-status-list.md)
* [Update Token Status List](credential-service/status-lists/token-status-list/update-token-status-list.md)
* [↕️ Create DID-Linked Resources](credential-service/did-linked-resources/README.md)
* [Create DID-Linked Resource](credential-service/did-linked-resources/create-dlr.md)
* [Search DID-Linked Resource](credential-service/did-linked-resources/search.md)
Expand Down
2 changes: 1 addition & 1 deletion credential-service/payments/charge.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Using this API will create a regular Status List on-ledger, where the contents o

</details>

For the purpose of this tutorial, we will assume the user is creating an encrypted Status List. For unencrypted Status Lists, [follow the tutorial here](../status-lists/create-status-list.md).
For the purpose of this tutorial, we will assume the user is creating an encrypted Status List. For unencrypted Status Lists, [follow the tutorial here](../status-lists/status-list-v2021/create-status-list.md).

## Step 4: Create encrypted Status List

Expand Down
24 changes: 4 additions & 20 deletions credential-service/status-lists/README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,16 @@
---
description: Create a Verifiable Credential Status List v2021 on-ledger
description: Create a Verifiable Credential Status List on-ledger
---

# 🎋 Create Status Lists

Credential Status Lists are on-ledger objects which can be used to mathematically derive whether an issued Credential has been revoked, suspended or is still valid.&#x20;
Credential Status Lists are generally sets of indices which can be used to mathematically derive whether an issued Credential has been revoked, suspended or is still valid. Status Lists are crucial for verifier applications to determine whether to accept a credential, presented by a holder.

## Get started

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>Create Status List</strong></mark></td><td>Create an on-ledger Verifiable Credential Status List v2021 over REST API.</td><td><a href="create-status-list.md">create-status-list.md</a></td></tr><tr><td><mark style="color:blue;"><strong>Update Status List</strong></mark></td><td>Update an on-ledger Verifiable Credential Status List v2021 over REST API.</td><td><a href="update-status-list.md">update-status-list.md</a></td></tr><tr><td><mark style="color:blue;"><strong>Check Status List</strong></mark></td><td>Check an on-ledger Verifiable Credential Status List v2021 to determine whether a particular Credential is revoked or suspended.</td><td><a href="check.md">check.md</a></td></tr></tbody></table>
There are two predominant Status List formats supported in cheqd Studio. Please choose a Status List type below to get started.

## Understanding Status List v2021

The [Status List 2021 Specification](https://w3c-ccg.github.io/vc-status-list-2021/) utilises [bitstrings](https://w3c-ccg.github.io/vc-status-list-2021/#conceptual-framework) to represent whether a Verifiable Credential has been suspended/revoked or not. A bitstring can be thought of as a long list of 1s and 0s, where, if the binary value of the position in the list is 1 (one), the [verifiable credential](https://w3c-ccg.github.io/vc-status-list-2021/#dfn-verifiable-credentials) is revoked, if it is 0 (zero) it is not revoked.

![Graphic showing the StatusList2021 bitstring](<../../.gitbook/assets/StatusList21 Bitstring.png>)

_**Figure 1**: Graphic showing the StatusList2021 bitstring_

Each issued Credential correlates with a position and index on the bitstring, so that a verifier will be able to correlate the value within the Credential against the public bitstring to ascertain whether the Credential has been revoked or not, using a [validate algorithm](https://w3c-ccg.github.io/vc-status-list-2021/#validate-algorithm) as well as a [bitstring expansion algorithm](https://w3c-ccg.github.io/vc-status-list-2021/#bitstring-expansion-algorithm).

### Where is the StatusList usually published?

The issuer keeps a bitstring list of all Verifiable Credentials it has issued. The StatusList is usually published by the issuer **in the format of its own Verifiable Credential.** This Verifiable Credential is generally hosted publicly on a centralised server or domain to enable third-party read-access.

### Where does cheqd store the Status List?

cheqd stores each Status List and subsequent entries on-ledger as [DID-Linked Resource](../../architecture/adr-list/adr-002-did-linked-resources.md) versions. This has notable benefits, including the provenance, legitimacy and security of the Status List. For a full list of benefits, see [the context for creating DID-Linked Resources](../did-linked-resources/understanding-dlrs/context.md).
<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>Status List v2021</strong></mark></td><td>This Status List is a generic Bitstring Status List used for most JSON and JSON-LD credential implementations.</td><td><a href="status-list-v2021/">status-list-v2021</a></td></tr><tr><td><mark style="color:blue;"><strong>Token Status List</strong></mark></td><td>This Status List is generally used for SD-JWT specific credential types.</td><td><a href="token-status-list/">token-status-list</a></td></tr></tbody></table>

## Alternatives

Expand Down
23 changes: 23 additions & 0 deletions credential-service/status-lists/status-list-v2021/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Status List v2021

## Get started

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><mark style="color:blue;">Create Status List v2021</mark></td><td>Create a Status List v2021 on cheqd as a DID-Linked Resource</td></tr><tr><td><mark style="color:blue;">Update Status List v2021</mark></td><td>Update a Status List v2021 to revoke/suspend credentials</td></tr><tr><td><mark style="color:blue;">Check Status List v2021</mark></td><td>Check whether a specified indices is revoked, suspended, unsuspended or valid</td></tr><tr><td><mark style="color:blue;">Search Status List v2021</mark></td><td>Search for specific entries in the Status List, traversing its history</td></tr></tbody></table>

## Understanding Status List v2021

The Status List v2021 supported in cheqd Studio utilise [bitstrings](https://w3c-ccg.github.io/vc-status-list-2021/#conceptual-framework) to represent whether a Verifiable Credential has been suspended/revoked or not. A bitstring can be thought of as a long list of 1s and 0s, where, if the binary value of the position in the list is 1 (one), the [verifiable credential](https://w3c-ccg.github.io/vc-status-list-2021/#dfn-verifiable-credentials) is revoked, if it is 0 (zero) it is not revoked.

![Graphic showing the StatusList2021 bitstring](<../../../.gitbook/assets/StatusList21 Bitstring.png>)

_**Figure 1**: Graphic showing the StatusList2021 bitstring_

Each issued Credential correlates with a position and index on the bitstring, so that a verifier will be able to correlate the value within the Credential against the public bitstring to ascertain whether the Credential has been revoked or not, using a [validate algorithm](https://w3c-ccg.github.io/vc-status-list-2021/#validate-algorithm) as well as a [bitstring expansion algorithm](https://w3c-ccg.github.io/vc-status-list-2021/#bitstring-expansion-algorithm).

### Where is the StatusList usually published?

The issuer keeps a bitstring list of all Verifiable Credentials it has issued. The Status List is usually published by the issuer **in the format of its own Verifiable Credential.** This Verifiable Credential is generally hosted publicly on a centralised server or domain to enable third-party read-access.

### Where does cheqd store the Status List?

cheqd stores each Status List and subsequent entries on-ledger as [DID-Linked Resource](../../../architecture/adr-list/adr-002-did-linked-resources.md) versions. This has notable benefits, including the provenance, legitimacy and security of the Status List. For a full list of benefits, see [the context for creating DID-Linked Resources](../../did-linked-resources/understanding-dlrs/context.md).
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
description: Querying Status List entries or indices
---

# Check Status List
# Check Status List v2021

Using the `/credential-status/check` API, users are able to query specific Credential indices within a Status List to ascertain whether the Credential is revoked, suspended or currently valid.

Expand Down Expand Up @@ -70,7 +70,7 @@ The index within the bitstring that the user wants to query. For example:

To automatically make a payment to an Issuer in order to verify an encrypted Status List, follow the tutorial here:

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>Verifier pays Issuer</strong></mark></td><td>Understand how a Verifier pays an Issuer to decrypt an encrypted Status List and verify a Credential Status.</td><td><a href="../payments/verifier-pays-issuer.md">verifier-pays-issuer.md</a></td></tr></tbody></table>
<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>Verifier pays Issuer</strong></mark></td><td>Understand how a Verifier pays an Issuer to decrypt an encrypted Status List and verify a Credential Status.</td><td><a href="../../payments/verifier-pays-issuer.md">verifier-pays-issuer.md</a></td></tr></tbody></table>

### Option 2. Publish a JSON Payload

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,25 @@
description: Create Status List 2021 Resource on cheqd.
---

# Create Status List
# Create Status List v2021

Users are able to create [Verifiable Credential Status List v2021](https://www.w3.org/TR/vc-status-list/) entries on-ledger, in order to revoke or suspend Verifiable Credentials. This is a derivation from the core spec made by cheqd to support a more decentralized and resilient approach to storing Status Lists.

## Step 1: Set up your account

Make sure you have set up your account with cheqd Studio and are logged in, using our guide below:

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>Set up your account</strong></mark></td><td>Set up your account with cheqd Studio and log in to start using the APIs.</td><td><a href="../set-up-account.md">set-up-account.md</a></td></tr></tbody></table>
<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>Set up your account</strong></mark></td><td>Set up your account with cheqd Studio and log in to start using the APIs.</td><td><a href="../../set-up-account.md">set-up-account.md</a></td></tr></tbody></table>

## Step 2: Create a DID

Before you can create a Status List, you need to create a DID which is used to link the Status List on-ledger. Use the API in the page below to create a DID:

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>Create an Issuer DID</strong></mark></td><td>Create a W3C conformant DID on cheqd using the <code>did:cheqd</code> DID Method.</td><td><a href="../dids/create-did.md">create-did.md</a></td></tr></tbody></table>
<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>Create an Issuer DID</strong></mark></td><td>Create a W3C conformant DID on cheqd using the <code>did:cheqd</code> DID Method.</td><td><a href="../../dids/create-did.md">create-did.md</a></td></tr></tbody></table>

## Step 3: Select the unencrypted Status List API

When [creating a Status List](./), a user will have the following options:&#x20;
When [creating a Status List](../), a user will have the following options:&#x20;

<details>

Expand All @@ -38,7 +38,7 @@ Using this API will create a regular Status List on-ledger, where the contents o

</details>

For the purpose of this tutorial, we will assume the user is creating an unencrypted Status List. For encrypted Status Lists, [follow the tutorial here](../payments/charge.md).
For the purpose of this tutorial, we will assume the user is creating an unencrypted Status List. For encrypted Status Lists, [follow the tutorial here](../../payments/charge.md).

## Step 4: Create unencrypted Status List

Expand Down
File renamed without changes.
16 changes: 16 additions & 0 deletions credential-service/status-lists/token-status-list/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Token Status List

## Get Started

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>Create Token Status List</strong></mark></td><td>Create a Token Status List JWT or CWT as a DID-Linked Resource on cheqd</td></tr><tr><td><mark style="color:blue;"><strong>Update Token Status List</strong></mark></td><td>Update a Token Status List JWT or CWT as a new DID-Linked Resource version on cheqd</td></tr></tbody></table>

## Understanding Token Status List

Token Status List is a specification from the Internet Engineering Task Force, using JSON or CBOR encoded sets of bits and wrapping these as either a JSON Web Tokens (JWTs) or CBOR Web Tokens (CWTs), to comprise a full status list.

The specification may be found below:

{% embed url="https://www.ietf.org/id/draft-ietf-oauth-status-list-02.html" %}
IETF Token Status List
{% endembed %}

Loading

0 comments on commit 0bea3d2

Please sign in to comment.