Skip to content

Commit

Permalink
GITBOOK-312: Update structure of docs
Browse files Browse the repository at this point in the history
  • Loading branch information
Tweeddalex authored and gitbook-bot committed Jun 24, 2024
1 parent 940e809 commit 3332377
Show file tree
Hide file tree
Showing 18 changed files with 110 additions and 55 deletions.
Binary file added .gitbook/assets/EBSI_logo_gitbook.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/Trust Chain Model.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed .gitbook/assets/Trust_Registry_Hierarchy.png
Binary file not shown.
Binary file added .gitbook/assets/cheqd_logo_card.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 10 additions & 6 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@

## 🟢 Start using cheqd <a href="#studio" id="studio"></a>

* [1️⃣ Design your Solution](studio/design/README.md)
* [Establish Parties in Trust Ecosystem](studio/design/establish-parties.md)
* [Design your Trust Infrastructure](studio/design/trust-infrastructure/README.md)
* [Roots of Trust](studio/design/trust-infrastructure/roots-of-trust.md)
* [Verifiable Accreditations](studio/design/trust-infrastructure/verifiable-accreditations.md)
* [Accreditation and Issuance Policies](studio/design/trust-infrastructure/policies.md)
* [Data Models](studio/design/trust-infrastructure/data-models.md)
* [Governance Framework](studio/design/trust-infrastructure/governance-framework.md)
* [Establish Schemas for Accreditations and Credentials](studio/design/schemas.md)
* [🆔 Create DIDs and Identity keys](studio/dids/README.md)
* [Create Issuer DID](studio/dids/create-did.md)
* [Create Identity Keys and Subject DIDs](studio/dids/create-subject-did.md)
Expand All @@ -30,13 +39,8 @@
* [Create Verifier pays Issuer flow](studio/payments/verifier-pays-issuer.md)
* [Bulk Update or Rotate Encryption Keys](studio/payments/update.md)
* [🤝 Build Trust Registries](studio/trust-registries/README.md)
* [Understanding Trust Infrastructure on cheqd](studio/trust-registries/learn/README.md)
* [Verifiable Accreditations](studio/trust-registries/learn/verifiable-accreditations.md)
* [Roots of Trust](studio/trust-registries/learn/roots-of-trust.md)
* [Data Models](studio/trust-registries/learn/data-models.md)
* [Governance Framework](studio/trust-registries/learn/governance-framework.md)
* [Verifiable Accreditation Trust Chain Model](studio/trust-registries/verifiable-accreditation-trust-chain-model.md)
* [Create Verifiable Accreditation](studio/trust-registries/create-accreditation.md)
* [Create Accreditation Policy](studio/trust-registries/create-accreditation-policy.md)
* [🎋 Create Status Lists](studio/status-lists/README.md)
* [Status List v2021](studio/status-lists/status-list-v2021/README.md)
* [Create Status List v2021](studio/status-lists/status-list-v2021/create-status-list.md)
Expand Down
2 changes: 2 additions & 0 deletions studio/design/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# 1️⃣ Design your Solution

12 changes: 12 additions & 0 deletions studio/design/establish-parties.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Establish Parties in Trust Ecosystem

## Overview - Trust Chain definition[](https://hub.ebsi.eu/get-started/design/trust-chain#overview---trust-chain-definition) <a href="#overview---trust-chain-definition" id="overview---trust-chain-definition"></a>

By completing this subsection, you will:

* Identify all actors and map out their roles and relationships.
* Define the rules and policies of your use case.
* Define the legal identities involved.
* Define accreditations issued by the Trusted Accreditation Organisation.

\<todo>
3 changes: 3 additions & 0 deletions studio/design/schemas.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Establish Schemas for Accreditations and Credentials

\<todo>
3 changes: 3 additions & 0 deletions studio/design/trust-infrastructure/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Design your Trust Infrastructure

\<todo>
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@

1. Create `did:cheqd` DID for Root TAO
2. Establish root of trust, by:
1. Associating Root TAO DID with X.509 certificate; or
2. Associating Root TAO DID with cheqd Validator
1. Associating Root TAO DID with X.509 certificate;
2. Publishing Root TAO DID as a Well-Known DID;
3. Associating Root TAO DID with cheqd Validator.&#x20;
3. Create `did:cheqd` DIDs for TAOs or TIs within the ecosystem
4. Create body of Verifiable Accreditation, specifying:
1. The `did:cheqd` DID of the subject organisation that the Accreditation is being issued to
Expand Down
3 changes: 3 additions & 0 deletions studio/design/trust-infrastructure/policies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Accreditation and Issuance Policies

Accreditation Policies are included in each "Verifiable Accreditation" or "Verifiable Credential" within the `termsOfUse` section of the credential. The Accreditation Policies reference the other members of the Trust Chain, so that a Relying Party can traverse the Trust Chain.
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
# Roots of Trust

## Traditional Root of Trust
## Supported Roots of Trust

cheqd supports two predominant Root of Trust Models.&#x20;

## Well-Known DIDs

## X.509 Certificates linked to DIDs

For existing trust frameworks such as eIDAS, organisations need to establish a root of trust using [X.509 certificates](https://www.sectigo.com/resource-library/what-is-x509-certificate) in traditional "[Trusted List](https://digital-strategy.ec.europa.eu/en/policies/eu-trusted-lists)" infrastructure. These certificates establish that an organisation is authorised to provide a service under a particular jurisdiction.&#x20;

Article 22 of the eIDAS Regulation obliges Member States to establish, maintain and publish trusted lists. These lists should include information related to the qualified trust service providers for which they are responsible, and information related to the qualified trust services provided by them. The lists are to be published in a secured manner, electronically signed or sealed in a format suitable for automated processing.
Article 22 of the eIDAS Regulation obliges Member States to **establish, maintain and publish trusted lists**. These lists should include information related to the qualified trust service providers for which they are responsible, and information related to the qualified trust services provided by them. The lists are to be published in a secured manner, electronically signed or sealed in a format suitable for automated processing.

Standard information in an X509 certificate includes:

Expand All @@ -26,7 +32,9 @@ As a first iteration of trust infrastructure on cheqd, we suggest that:
2. `did:cheqd` DIDs can reference X.509 certificates using a serviceEndpoint
3. X.509 certificates can reference `did:cheqd` DIDs using the "Subject Alternative Name" field within the X.509 certificate.

This will enable Root TAOs to create a reciprocal root of trust across European Trusted Lists for eIDAS compliance, and equally on cheqd.&#x20;
This will enable Root TAOs to create **a reciprocal root of trust** across European Trusted Lists for eIDAS compliance, and equally on cheqd.&#x20;



## Decentralised Root of Trust

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Verifiable Accreditations

Verifiable Accreditations are credentials that are issued from one organisation to another organisation to "accredit" that organisation to perform a particular action. These types of credentials are stored directly on-ledger as [DID-Linked Resources](../../../architecture/adr-list/adr-002-did-linked-resources.md), meaning that they are persistent, sequentially versioned and highly available.&#x20;
Verifiable Accreditations are credentials that are issued from **one organisation to another organisation to "accredit" that organisation to perform a particular action**. These types of credentials are stored directly on-ledger as [DID-Linked Resources](../../../architecture/adr-list/adr-002-did-linked-resources.md), meaning that they are persistent, sequentially versioned and highly available.&#x20;

There are two types of Verifiable Accreditation:

Expand Down Expand Up @@ -156,6 +156,13 @@ Notably, Verifiable Accreditations are credentials that are issued to organisati
{
"id": "did:cheqd:testnet:098c4f66-b461-4037-9cf0-c5db75b270c6/resources/83eb0ed8-37d1-4ba6-9e0b-40d60676d4aa",
"type": "FullJsonSchemaValidator2021"
},
"termsOfUse": {
"type": "AccreditationPolicy",
"parentAccreditation": "did:cheqd:testnet:098c4f66-b461-4037-9cf0-c5db75b270c6/resources/83eb0ed8-37d1-4ba6-9e0b-40d60676d4aa",
"policyId": "https://example.com/policies/124",
"rootAuthorisation": "did:cheqd:testnet:098c4f66-b461-4037-9cf0-c5db75b270c6/resources/83eb0ed8-37d1-4ba6-9e0b-40d60676d4aa",
"trustFramework": "cheqd Governance Framework"
}
]
}
Expand Down
15 changes: 9 additions & 6 deletions studio/trust-registries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,21 @@ cheqd has **pioneered a industry-leading trust registry solution**, allowing use

## Learn about cheqd Trust Registries

Users should familiarise themselves with the cheqd Trust Registry approach before getting started with our APIs.
cheqd supports multiple Trust Registry Data Models, using its flexible DID and DID-Linked Resource architecture. Users should familiarise themselves with each Trust Registry approach before getting started with our APIs.&#x20;

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>Understand Trust Registries on cheqd</strong></mark></td><td>Read our Trust Registry guide to understand the technical and governance decisions that informed our trust registry model.</td></tr></tbody></table>
Learn about a data model below:

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>Verifiable Accreditation Trust Chain Model</strong></mark></td><td>Build our Trust Registry solution using DIDs and DID-Linked Resources based on the EBSI Trust Chain model.</td><td></td><td><a href="../../.gitbook/assets/cheqd_logo_card.jpg">cheqd_logo_card.jpg</a></td></tr><tr><td><mark style="color:blue;"><strong>OpenID Federation on cheqd</strong></mark></td><td>Deploy an OpenID Federation ecosystem on cheqd, using DIDs and DID-Linked Resources for Entity IDs and Entity Statements.</td><td><strong>Contact us</strong></td><td><a href="../../.gitbook/assets/OpenIDforWebsite.png">OpenIDforWebsite.png</a></td></tr></tbody></table>

## Get started

Start building with our cheqd Studio APIs and configure a trust registry for your digital credential ecosystem:

<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 Verifiable Accreditation</strong></mark></td><td>Issue Verifiable Accreditations between DIDs on the cheqd Network, to accredit the DID to perform a certain action.</td></tr><tr><td><mark style="color:blue;"><strong>Create Accreditation Policy</strong></mark></td><td>Create Accreditation Policies to embed within the body of Verifiable Credentials.</td></tr></tbody></table>
<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 Verifiable Accreditation</strong></mark></td><td>Issue Verifiable Accreditations between DIDs on the cheqd Network, to accredit the DID to perform a certain action.</td></tr></tbody></table>

## Alternatives

## Deploy an alternative trust registry model on cheqd
Learn about a data model below:

Talk to us if you are interested in deploying other existing trust registry approaches on cheqd, providing higher security, decentralisation and resilience for the registry.
<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>TRAIN on cheqd</strong></mark></td><td>Deploy a TRAIN ecosystem on cheqd, using DIDs and DID-Linked Resources for Resource Entries.</td><td><strong>Contact us</strong></td><td><a href="../../.gitbook/assets/TRAIN_for_website.png">TRAIN_for_website.png</a></td></tr></tbody></table>

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>OpenID Federation</strong></mark></td><td>Deploy an OpenID Federation ecosystem on cheqd, using DIDs and DID-Linked Resources for Entity IDs and Entity Statements</td><td><strong>Contact us</strong></td><td><a href="../../.gitbook/assets/OpenIDforWebsite.png">OpenIDforWebsite.png</a></td></tr><tr><td><mark style="color:blue;"><strong>TRAIN</strong></mark></td><td>Deploy a TRAIN ecosystem on cheqd, using DIDs and DID-Linked Resources for Resource Entries.</td><td><strong>Contact us</strong></td><td><a href="../../.gitbook/assets/TRAIN_for_website.png">TRAIN_for_website.png</a></td></tr></tbody></table>
2 changes: 0 additions & 2 deletions studio/trust-registries/create-accreditation-policy.md

This file was deleted.

34 changes: 20 additions & 14 deletions studio/trust-registries/create-accreditation.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
---
description: Issue Verifiable Accreditations as DID-Linked Resources
---

# Create Verifiable Accreditation

Users are able to **issue Verifiable Accreditations on-ledger**, which may be used to **verify whether a particular recipient of an accreditation is accredited to issue a certain type of credential**, under the scope of a particular governance framework. This implementation on cheqd builds on the principles of the EBSI Trust Chain model, using DID-Linked Resources to create a more standardised format for storing, retrieving and dereferencing to trust registry entries.
Users are able to **issue Verifiable Accreditations as DID-Linked Resources on-ledger**, which may be used to **verify whether a particular recipient of an accreditation is accredited to issue a certain type of credential**, under the scope of a particular governance framework. This implementation on cheqd builds on the principles of the EBSI Trust Chain model, using DID-Linked Resources to create a more standardised format for storing, retrieving and dereferencing to trust registry entries.

## Step 1: Set up your account

Expand All @@ -14,7 +18,7 @@ Before you can create a Verifiable Accreditation, you need to create a DID which

<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. Create your Verifiable Accreditation body and save the file locally
## Step 3: Create your Verifiable Accreditation body and save the file locally

Verifiable Accreditations are JSON objects that take the form of the Verifiable Credential data model. There are two types of Verifiable Accreditation:

Expand Down Expand Up @@ -113,12 +117,14 @@ For a trusted ecosystem, these attestations are required to trace the legitimacy
"id": "did:cheqd:testnet:098c4f66-b461-4037-9cf0-c5db75b270c6?resourceName=accreditationStatus&resourceType=StatusList2021Revocation",
"type": "StatusList2021Revocation"
},
"termsOfUse": [
{
"id": "https://example.com/governance-framework/../..xyz",
"type": "GovernanceFramework"
}
],
"termsOfUse": {
"type": "AccreditationPolicy",
"parentAccreditation": "did:cheqd:testnet:098c4f66-b461-4037-9cf0-c5db75b270c6/resources/da4159f1-ff50-4a7c-b0cb-40d3a1f71003a",
"policyId": "https://example.com/policies/124",
"rootAuthorisation": "did:cheqd:testnet:098c4f66-b461-4037-9cf0-c5db75b270c6/resources/da4159f1-ff50-4a7c-b0cb-40d3a1f71003a",
"trustFramework": "Name of the Governance Framework (GF)",
"lib": "urn:professional-qualifications-directive"
},
"credentialSchema": [
{
"id": "did:cheqd:testnet:098c4f66-b461-4037-9cf0-c5db75b270c6/resources/da4159f1-ff50-4a7c-b0cb-40d3a1f71003a",
Expand Down Expand Up @@ -173,9 +179,9 @@ For example:

## Step 6: Populate the request inputs and hit the API

Ensure that you link this Token Status List to the DID that you created in step 3. This will sign the resource with the same verification method keys in your DID Document, ensuring cryptographic integrity and Controllership of the Status List.
Ensure that you link this Verifiable Accreditation to the DID that you created in step 3. This will sign the resource with the same verification method keys in your DID Document, ensuring cryptographic integrity and Controllership of the Status List.

As a DID-Linked Resource, the Token Status List will have a **fully resolvable DID URL** which can be referenced within the body of Verifiable Credentials, and queried by verification policies to establish the status of the specific credential.&#x20;
As a DID-Linked Resource, the Verifiable Accreditation will have a **fully resolvable DID URL** which can be referenced within the body of Verifiable Credentials, and queried by verification policies to establish the status of the specific credential.&#x20;

{% swagger src="https://raw.githubusercontent.com/cheqd/credential-service/main/src/static/swagger-api.json" path="/resource/create/{did}" method="post" expanded="true" %}
[https://raw.githubusercontent.com/cheqd/credential-service/main/src/static/swagger-api.json](https://raw.githubusercontent.com/cheqd/credential-service/main/src/static/swagger-api.json)
Expand Down Expand Up @@ -212,17 +218,17 @@ In the DID Document Metadata, users should find "linkedResourceMetadata", like t

### Specific version of the Verifiable Accreditation

Here, the "`resourceURI`" specifies the DID URL of the specific Token Status List that was created.
Here, the "`resourceURI`" specifies the DID URL of the specific Verifiable Accreditation that was created.

### Latest version of the Verifiable Accreditation

In order to **reference the latest version of the Token Status List**, the following construction needs to be used:
In order to **reference the latest version of the Verifiable Accreditation**, the following construction needs to be used:

`did:cheqd:<namespace>:<resourceCollectionId>?resourceName=<resourceName>&resourceType=<resourceType>`

For example:

`did:cheqd:testnet:0a5b94d0-a417-48ed-a6f5-4abc9e95888d?resourceName=DegreeCredentialStatus&resourceType=VerifiableAccreditationToAccredit`
`did:cheqd:testnet:0a5b94d0-a417-48ed-a6f5-4abc9e95888d?resourceName=OxfordUniversityAccreditation&resourceType=VerifiableAccreditationToAccredit`

### Verifiable Accreditation at specific point in time

Expand All @@ -232,4 +238,4 @@ In order to **reference the Verifiable Accreditation at a particular point in ti

For example:

`did:cheqd:testnet:0a5b94d0-a417-48ed-a6f5-4abc9e95888d?resourceName=DegreeCredentialStatus&resourceType=VerifiableAccreditationToAccredit&resourceVersionTime=2023-02-22T06:58:18.61Z`
`did:cheqd:testnet:0a5b94d0-a417-48ed-a6f5-4abc9e95888d?resourceName=OxfordUniversityAccreditation&resourceType=VerifiableAccreditationToAccredit&resourceVersionTime=2023-02-22T06:58:18.61Z`
Loading

0 comments on commit 3332377

Please sign in to comment.