GVCR: Secure Verifiable Credential Registries (VCR) for GitHub & GitLab
Description
As conceptualized and standardized by the W3C, the Verifiable Credentials protocol is one of the three pillars of Self-Sovereign Identity, together with the Decentralized Identifiers protocol (DIDs) and Distributed Ledger Technology (or Blockchain). The project aims to design and build a verifiable credential registry (VCR) on GitHub repository, namely GitHub-based Verifiable Credential Registry (GVCR), by leveraging existing GitHub APIs, and other open-source tools provided by other Hyperledger projects, such as Aries, Indy, and Ursa. The basic architecture is already built. For more details about the conceptional design and workflows, please refer to the GitHub repository GitHub-VCR.
Additional Information
GVCR are Verifiable credential registries that make use of GitHub’s data model and API to offer exactly the same APIs as any other VCR. Further, we need to make a comparison API & data model of both GitHub and Aries VCR.
- DRman is an open-source project that assists the creation and administration of DID Registries for an Organization.
- This project for creating GitHub & GitLab-based VCR is called as GVCR project. Along with DRman, GVCR will enable organizations or associations to automate the creation and management of VCR that leverage the Aries Framework, Hyperledger Indy-SDK, and Hyperledger Ursa to create verifiable and manage verifiable credential registries.
- GVGR project complements Aries Cloud Agent - Python, Aries Framework - Go, aries-framework-javascript, and other Hyperledger Aries Agent projects. While the other Hyperledger Aries Agent projects provide agents to issue or receive verifiable credentials, GVCR is the public data store for verifiable credentials-based proofs and cryptographic verifiability for organization-issued credentials.
- GVCR leverages Hyperledger Ursa provided many useful libraries for enhancing cryptographic verifiability.
Learning Objectives
The mentee will have an opportunity to learn:
- Self-Sovereign Identity (SSI) framework, Decentralized Identifier (DID) data model, Verifiable Credential (VC) data model
- Hyperledger Indy, Aries, and Ursa code base
- Public key Infrastructure (PKI) cryptography
- Application of Hyperledger Ursa in enabling Zero-Knowledge proof
- Git, Shell Scripting, RUST
- Open-source contribution, documentation, and sense of ownership
Expected Outcome
- A verifiable credential registry based on one or more GitHub repositories.
- Command-Line utility to automate the process of verification of a credential.
- Proper test cases and documentation.
- Codebase maintained with proper read me document.
Relation to Hyperledger
- GVCR can be used in Hyperledger Aries Framework as an implementation of VCR, collaborates with existing Agent and Wallet opensource projects in Hyperledger Aries.
- GVCR can be used in Hyperledger Indy project by providing endpoint of cryptographic verifications for credential issuers.
- GVCR will leverages Hyperledger Ursa libraries to implement encryption, decryption and verification functions.
Education Level
Graduate or master's students preferred. For more details, please refer to the skills section.
Skills
Languages: Shell Scripting, RUST, <Freedom to choose your own tech stack>
We are looking for someone who is interested in programming and has the ability to understand the existing architectures. Any high-level understanding of Decentralized Identity is also desirable to some extent.
Exposure to Hyperledger Ursa, Hyperledger Aries, or Hyperledger Indy is desirable. Hands-on with shell scripting, knowledge of Git and GitHub, or any kind of Git-based repository is expected. Any high-level understanding of Decentralized Identity is also desirable to some extent.
Future plans
The plan is to further enhance this as an open-source utility and add more capabilities required to build.
Preferred Hours and Length of Internship
Part-time (20 hours a week for 24 weeks starting in summer and ending in fall).
Mentor(s) Names and Contact Info
Vinod Panicker (vinod.panicker@wipro.com)
Arun Prakash Jothimani (arunprakashpj@gmail.com)
Wei Yao (weiyaobiz@outlook.com)