Hyperledger AnonCreds: Using ZKP Verifiable Credentials Everywhere

Time:

  • Wednesday, May 31, 2023 at 8 AM - 12noon Pacific / 17:00 CEST

Recording:

Presenters

  • Stephen Curran, Cloud Compass Computing Inc./BC Gov
  • Rodolfo Miranda, RootsID
  • Patrick St-Louis, Digital Identity Lab of Canada/Laboratoire d'identité numérique du Canada

Workshop description:

AnonCreds was accepted as an Incubated project at Hyperledger in late 2022. This is the first workshop developed by this community and it is intended for anyone interested in using Zero Knowledge Proofs (ZKPs) in a wide variety of contexts. 

This workshop will be livestreamed and recorded. The planned agenda:

Part 1:

  • Online Identity With Verifiable Credentials
  • Introduction to Hyperledger AnonCreds
  • AnonCreds Data and Processes (Hands On)
    • Setup
    • Issuing
    • Presenting
    • Revocation

Part 2:

  • Zero Knowledge Proofs: The High School Math Edition (time permitting)
  • Ledger-Agnostic AnonCreds
  • AnonCreds in the W3C VC Data Model Format
  • AnonCreds Exchange using CHAPI
  • Making Credentials Beautiful — OCA
  • Futures: AnonCreds v2.0

NOTE: The organizers will keep the Traction instance that was used in the labs up and running for the next week or so (through June 7, 2023) and then remove it. Folks are welcome to play around with it until then.

Workshop Slides:


Workshop Links (Rodo's presentation):

AnonCreds Specification: https://hyperledger.github.io/anoncreds-spec
AnonCreds Methods Registry: https://hyperledger.github.io/anoncreds-methods-registry
Cardano AnonCreds Method: https://github.com/roots-id/cardano-anoncreds/tree/main

Workshop Labs:

Lab 1

Lab 2

Lab 3


Preparation:

In preparation for the hands-on lab portion of the workshop, we have a few steps we'd like you to do before the workshop begins. We're all going to be a using a deployment of an open source tool called Traction to provide a verifiable credential Issuer/Verifier agent to all of the workshop participants for use during (and for a few days after) our session on Wednesday. As well, you'll need to install a compatible Mobile wallet on your mobile device so that you can issue verifiable credentials to yourself, and then request presentation of those verifiable credentials.

Don't have time to do this setup? That's fine -- we'll be walking through the labs and you can just watch -- it's up to you!

Here are the instructions for getting ready:

  • Get a compatible Mobile Wallet to use during the Workshop, we suggest that you use one of these:
  • Click here to create your own Traction Tenant Aries agent, then do the following:
    • Click "Make a Request", fill in the data, and click "Submit".
      • All the fields are required, but need not be accurately completed for this use of Traction--we don't need the data and won't ever use it!
      • Do fill in the "Tenant Name" with something useful as you will see it in your Wallet later.
    • Your new Traction Tenant's Wallet ID and Wallet Key will be displayed. SAVE THOSE IMMEDIATELY SO THAT YOU HAVE THEM TO ACCESS YOUR AGENT. You only get to see/save them once!
      • You will need those each time you open your Traction Tenant agent. Putting them into a Password Manager is a great idea!
      • We can't recover your Wallet ID and Wallet Key, so if you lose them you have to start the entire process again.
  • Go back to the sign in page and log in to your Traction Tenant agent using your Wallet ID/Key. You might want to bookmark it.
  • Make your new Traction Tenant a verifiable credential issuer by:
    • Clicking on the "User" (folder icon) menu (top right), and choosing "Profile"
    • Activating the "Connect Tenant To Endorser" toggle
    • Activating the "Register a public DID" toggle.
  • Connect from your Traction Tenant to your mobile Wallet app by:
    • Selecting on the left menu "Connections" and then "Invitations"
    • Click the "Single Use Connection" butting, give the connection an alias (maybe "My Wallet"), and click "Submit".
    • Scan the resulting QR code with your initialized mobile Wallet and follow the prompts.
    • Check the Traction Tenant menu item "Connections→Connections" see the status of your connection – it should be "active"

That's it -- you should be ready to go!  If you have any questions or comments about these steps, please add a comment to this Traction GitHub Issue and we'll try to help.

When the time comes for the lab during the workshop, you will need to log into your Traction Tenant (with your Wallet ID/Key), and use your Wallet app.

Workshop Leaders:
We really appreciate the contribution and effort put into this workshop. 

Stephen Curran

LinkedIn: https://www.linkedin.com/in/stephen-w-curran/
BlueSky: @swc.bsky.social
BC Gov Digital Trust: https://digital.gov.bc.ca/digital-trust/

Rodolfo Miranda (RootsID):

https://www.linkedin.com/in/rodolfomiranda/
https://www.rootsid.com/

Patrick St-Louis (Digital Identity Lab of Canada):

https://www.linkedin.com/in/patrick-stlouis/
https://www.linkedin.com/company/idlab-org/
https://www.idlab.org/ 



Learning Resources

If you'd like to prepare for this workshop by learning more about building and deploying verifiable credentials and self-sovereign identity capabilities, check out these resources:

Getting Involved

And if you'd like to get involved with the Hyperledger community, you are welcome to do so.  Everything the project does is open to anyone who is interested.  More details about connecting with the parts of the Hyperledger community that are exploring Zero Knowledge Proofs and AnonCreds:

  • No labels