Project TitleExtend the secure DID Registry to on-board members of the organization on Github/Gitlab and enable functions to manage the Repo
Status

COMPLETED

Difficulty

MEDIUM 

Description 

A DID registry is a type of verifiable data registry that can be simply referred to as a role, a system performs to mediate the functionalities like create, verify, update, and deactivate the decentralized identifiers. This is the extension of the in-progress work handled during the last summer (can be accessed here). The project aims to automate the process of creating a secure DID Registry on Github/Gitlab, facilitating easy on-boarding of new organizations and enabling easy management. Decentralized ID (DIDtokens or we can call cryptographically-generated proofs of the organizations can be stored in the verifiable credential registries in an encrypted fashion to achieve the secure DID registry with zero infrastructure cost. The shell script is used to create the initial codebase. This project expects a mentee who is self-motivated and has a lot of passion for cryptography, decentralized identity, and open source.

The significant aspects to be considered here are Creation, Onboarding(Enable/Restrict Access), and Management(add/update/revoke).

a) Creation (of DIDRegistry): Function to create a DIDRegistry for an organization on Github. GitHub Organization can have multiple repositories, same is the case with DID Registries.

b) Onboarding: Function to add enable/restrict access to members of an organization to a repository (GitHub repo users can be made members of an Organization, with different roles and privileges).

c) Manage: Function to list APIs that are needed to add/update/revoke access DID’s or (DID Documents) saved as files on the repo.

Additional Information

You can learn about the project by accessing drman repo. The issues to be focused on are listed under the issues tab here.

  1. DRman Registry scripts (DRM scripts )

    • Drm scripts are simples shell scripts of the format drm_xxxx.sh, where xxxx is the didRegistry Type e.g. drm_aries_vcr.sh or drm_aries_vcgr.sh are two different types of didRegistries supported. They will be used to create, install, manage a didRegistry associated with an organization.
  2. Github based VCR (Verifiable Credential Registry)

    • Github-based VCR are Verifiable credential registries that make use of Github’s data model and API to offer exactly the same API’s as any other VCR. Further, We need to make a comparison API & data model of both Github and Aries VCR.
  3. Create and manage Aries VCR using DRman Registry Script

    • The plan is to have a script drm_aries_vcr.sh with all functionality like install, uninstall, add. etc supported in it. This plan can be executed independently
  4. Create and manage Aries-VCGR ( Aries Verifiable Credential Github Registry ) using DRman Registry Scripts. While progressing, this can be done after along with the Design of Github based VCR (As mentioned in point 2)

Learning Objectives

The mentee will have an opportunity to learn

  • The application and automation of the Decentralized Identity 
  • Hyperledger Aries and Ursa code base
  • Public key cryptography
  • Application of Hyperledger Ursa in enabling Zero-Knowledge proof
  • Git, Shell Scripting, RUST
  • Open source contribution, documentation, and sense of ownership

Expected Outcome

  • Command-Line utility to automate the process of creating a DID Registry for the members of organizations utilizing Github/Gitlab as Verifiable Credential Registry, On-boarding organizations, and features for easy management
  • Proper test cases and documentations
  • Codebase maintained with proper read me document

Relation to Hyperledger 

Github/Gitlab based DID registries  that can be used by Hyperledger Ursa, Hyperledger Aries, or any other Hyperledger Framework that needs to interact with DID Registries 

Education Level

Graduate or Masters students preferred. Please do take a look at the skills.

Skills

Exposure to Hyperledger Ursa, hands-on with shell scripting, knowledge of Git, GitHub, or Gitlab 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 manage a full-featured DID Registry on Github. 

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 )

Mentee

Wei YaoNew Jersey Institute of Technology, U.S. 

Project Results

GitHub Projects:

https://github.com/DIDman/DRman

https://github.com/DIDman/github-vcr


Project Presentation