RFC: CORD Blockchain Integration for Identity, Schema, and Credential Anchoring in Sunbird RC #354
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This RFC proposes the integration of the CORD blockchain into the Sunbird RC ecosystem to enable the anchoring of Decentralized Identifiers (DID), Schemas, and Verifiable Credentials (VCs). This feature will provide a secure, verifiable, and tamper-proof solution for credential issuers to anchor identities, schemas, and credentials on the blockchain.
The integration will be optional and configurable, allowing adopters to enable blockchain anchoring via environment variables, with the feature being disabled by default.
Motivation
For Sunbird RC adopters, anchoring credentials, identities, and schemas on a blockchain provides:
Immutable Proofs: Ensures that identities, schemas, and credentials remain secure and unaltered.
Verification: Provides a robust, distributed mechanism for validating the authenticity of entities and credentials.
Enhanced Trust: Blockchain anchoring adds a layer of transparency and trust to the verification of credentials, schemas,
and identities.
Design and Implementation
Architectural Overview
In this integration:
This architecture ensures modularity and simplifies maintenance by decoupling blockchain logic from Sunbird RC services.
Key Components Affected
The following Sunbird RC services will interact with the CORD Middleware for anchoring:
Configuration Requirements
Environment Variable Configuration
To enable blockchain anchoring, configure the following environment variables in Sunbird RC. By default, anchoring is disabled and can be enabled by setting ANCHOR_TO_CORD to true.
1.Anchoring DID and Schema to CORD
To anchor DIDs and schemas, set the following variables:
ANCHOR_TO_CORD = true ISSUER_AGENT_BASE_URL = https://<CORD_MIDDLEWARE_DOMAIN_OR_IP>/api/v1
2.Anchoring Verifiable Credentials to CORD
To enable VC anchoring, add the following:
VERIFICATION_MIDDLEWARE_BASE_URL=https://<CORD_MIDDLEWARE_IP_OR_DOMAIN>/api/v1/verify
These configurations instruct Sunbird RC to route all anchoring requests to the CORD middleware.