Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Idemix is a cryptographic protocol suite, which provides strong authentication as well as privacy-preserving features such as anonymity, the ability to transact without revealing the identity of the transactor, and unlinkability, the ability of a single identity to send multiple transactions without revealing that the transactions were sent by the same identity. More details here - https://hyperledger-fabric.readthedocs.io/en/release-2.2/idemix.html

Current JavaSDK doesnFabric Java SDK doesn't support storing Idemix credentials have support to store an Idemix Identities in Hyperledger Fabric Wallet. The objective of this mentorship program is to give support wallets to store idimix identitiesto store Idemix Identities in a Wallet.

Mentors

Name

Time zone

Discord ID

Email ID

Kamlesh Nagware

ISTknagware#6976  kamlesh.nagware@gmail.com

...

Timeline

Dates

Tasks/Plan

Status

Dates

Tasks/Plan

Status

June 1 - June 14Mentee intro with the mentor. Introduction to the concepts of Identity Mixer and Fabric Java SDK.
  • Attend Hyperledger Mentorship Program 2022 Onboarding Meeting
  • Mentor <> Mentee - Intro
  • Introduction to Hyperledger Fabric and its SDKs
  • Short Study on Membership Service Provider (X509 & Idemix) in Fabric

Done
June 15 - June 28
  • Introduction to Identity Mixer
  • Actors involved in Idemix Flow & How to use in Fabric
  • Discussion about Project Plan with Mentor and Defining the Timelines, Milestones and Deliverables
Run sample network and run Idemix example.
Done

June 29 - July 12Ability to store Idemix Identity in a Wallet by using Fabric SDK for Java.

  • Install Prerequisites and Bring up & play with the sample Fabric Network
  • Setting Up and Configuring the network to fit for Idemix Usage
  • Identification of Basic flow for using Identity Mixer in Fabric
Done
July 13 - July 26Basic Flow Test of Idemix Usage in Fabric:
  1. Issuer - Fabric CA
    1. By default, Fabric CA is configured to issue Idemix Credentials
  2. Verifier - IdemixMSP in Channel Configuration
    1. Creating & Specifying Idemix MSP in "configtx.yaml"
    2. Generate Idemix Organization MSP Definition using "configtxgen" in form of JSON
    3. Updating Channel Configuration to update Idemix Organization MSP by Existing Organization Admin (with necessary approvals)

  3. User - From CLI (now) / Java SDK (later)
    1. Generate Idemix Credential for an User with Idemixgen Tool but with "Fabric CA Idemix Credentials"
    2. Export Necessary ENV Variables.
    3. Submit a Transaction to Network using an "idemix" User
Inprogress
July 27 - Aug 9
Aug 10 - Aug 23
  • Get the Basic Understanding of fabric-gateway-java
  • Implementation of an Idemix Identity Provider
  • Modification in the Gateway Implementation to add an Idemix Identity Provider (Currently, it is hardcoded to use only x509 Identity Provider)
  • Modification of Identity Providers in Wallet Implementation
  • Write Tests
  • Build and Test the SDK

Aug 24 - Sept 6
  • Write a Sample Code to submit a transaction to the network by selecting an Idemix Identity from a Wallet
  • Raise Pull Requests to fabric-java-sdk & fabric-gateway-java repository

Sept 7 - Sept 20

Sept 21 - Oct 4

Oct 5 - Oct 18

Oct 19 - Nov 1

Nov 2 - Nov 12

...