Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: CORD Blockchain Integration for Identity, Schema, and Credential Anchoring in Sunbird RC #354

Open
wants to merge 13 commits into
base: main
Choose a base branch
from

Conversation

ashwin275
Copy link

@ashwin275 ashwin275 commented Nov 12, 2024

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:

Sunbird RC does not interact with the CORD blockchain directly.

CORD Middleware is the entry point for all blockchain anchoring requests. Sunbird RC services connect to CORD
Middleware, which then handles the blockchain operations.

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:

Identity Service - Anchors DIDs through the CORD middleware.

Schema Service - Sends schema anchoring requests to the middleware. A new column, blockchainStatus, has been
introduced in the VerifiableCredentialSchema table to track the anchoring status of each schema.

Credential Service - Handles VC issuance anchoring and VC verification requests through the middleware. A new
column, blockchainStatus, has been added to the VerifiableCredentials table to monitor the anchoring status of each
credential.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant