DCX

Decentralized Credential Exchange

View the Project on GitHub bnonni/incubation-dcx

UML Diagrams

Architecture Diagram

Actors

dcx-architecture

Sequence Diagram

Full Protocol

1. DCX Issuer configures Issuer DWN with dcx protocol 2. DCX Issuer creates credential manifest record in Issuer DWN 3. DCX Issuer creates subscription to Issuer DWN 4. DCX Applicant creates subscription to Applicant DWN 5. DCX Applicant reads credential manifest record from Issuer DWN 6. DCX Applicant acquires required credentials from issuers listed in manifest 7. DCX Applicant creates application record in Issuer DWN 8. DCX Issuer reads application record via Issuer DWN subscription 9. DCX Issuer uses @web5/dcx to verify application record credentials against credential manifest 10. DCX Issuer creates response record in Applicant DWN 11. DCX Applicant reads response record via Applicant DWN subscription 12. DCX Issuer creates invoice record in Applicant DWN 13. DCX Applicant reads invoice record via Applicant DWN subscription

dcx-full-sequence

1. Credential-issuer and credential-applicant protocols defines DWN record CRUD actions between Issuer and Applicant 2. under the credential-issuer manifest route 3. Subscription to receive incoming application records 4. Subscription to receive incoming response records 5. Defines required "credentials in" to receive desired "credentials out" 6. Credentials are acquired separately, outside of DCX protocol, from listed trusted issuers 7. Application record includes credentials that satisfy credential manifest mentioned in step 5 8. DCX Issuer validates credentials against credential manifest using DCX software handlers

Issuer Protocol

1. DCX Issuer configures Issuer DWN with dcx protocol (issuer & applicant) 2. DCX Issuer creates credential manifest record in Issuer DWN 3. DCX Issuer creates subscription to Issuer DWN 4. DCX Issuer reads application record via Issuer DWN subscription 5. DCX Issuer uses DCX software handlers to verify credentials against credential manifest 6. DCX Issuer configures DWN with DCX Issuer protocol 7. DCX Issuer creates DWN manifest record in own DWN to define required credentials to obtain other credentials 8. DCX Issuer subscribes to own DWN to listen for application records 9. DCX Issuer reads an incoming application record and validates against respective credential manifest 10. DCX Issuer creates application response or denial record and sends to applicant DWN 11. DCX Issuer creates invoice response record and sends to applicant DWN

dcx-issuer-sequence

Applicant Protocol

1. DCX Applicant configures Applicant DWN with dcx protocol (issuer & applicant) 2. DCX Applicant creates subscription to Applicant DWN 3. DCX Applicant reads credential manifest record from Issuer DWN 4. DCX Applicant acquires required credentials from issuers listed in manifest 5. DCX Applicant creates application record in Issuer DWN 6. DCX Applicant reads response record via Applicant DWN subscription 7. DCX Applicant reads invoice record via Applicant DWN subscription (optional)

dcx-applicant-sequence