2023-09-25 AnonCreds v2.0 Working Group Meeting

Summary

  • Hyperledger Labs Agora – an implementation of (the planned) AnonCreds 2.0 – and more!
  • Open Discussion

Zoom Link: 

Recording of Call:  

Notices: 

This specification creating group operates under the Linux Foundation Community Specification License v1.0.

Hyperledger is committed to creating a safe and welcoming

community for all. For more information

please visit the Hyperledger Code of Conduct.

Meeting Attendees

Stephen Curran (BC Gov / Cloud Compass Computing Inc.) <swcurran@cloudcompass.ca>


Related Repositories:

Goals of the Working Group:

The goal of AnonCreds v2.0 is to retain and extend the privacy-preserving features of AnonCreds v1.0, while improving capabilities, performance, extensibility, and security.

Meeting Preliminaries:

  • Welcome and Introductions
  • Announcements:
    • AnonCreds Rust 0.2.0-dev1 released! Update to AnonCreds CL Signatures implementation with fixes and performance improvements.

Agenda

  • Hyperledger Labs Agora – an implementation of (the planned) AnonCreds 2.0 – and more!
    • "Unknown Order" library – wrapper of all the well known BigNumber libraries – pick a back end, go...
      • Constant time libraries for security.
      • Why "unknown order" – don't know the order unless you know the secret – MPC relies on a group of Big Nums unknown_order – blob of binary that you have to know about to interpret
      • Side note: class groups is coming for a similar purpose
    • Paillier RS
    • blsful ("Blissful") – BLS Signatures – everything in BLS Signatures, and what's needed in AnonCreds 2.0.
      • Signing, verifying, threshold signing, assembling
      • Algomar proofs Key shares
      • sign_crypt – sign and encrypt/decrypt and verify
      • Wrapper around Intel's blst ("Blast") library – hides
    • CredX – anoncreds 2.0
      • Not part of Agora – likely to go to AnonCreds directly.
      • Being worked to break out the components, so CredX is more glue, less cryptography.
  • Open Discussion

Future Calls

  • Collect some use case specific examples and continue the discussions:
    • Applying the data structures to a real use case or two
      • Take an existing AnonCreds Schema (maybe this) and Credential Definition (maybe this) and define what it would be using Mike's proposed data models.
        • Where would the data models exist, such as on ledger, in the AnonCreds specification?
    • What concrete uses other than link-secret is there for blinded data in a credential?

To Dos:

Schema Claim Type:

  • Would it make sense defining encodings for date related schema claim types that are especially useful to use in ZKP predicates?
    • "iso860_date" – encodes to dateint e.g., 2023.06.26 is 20230626
    • "iso860_datetime" - encodes to Unix Time e.g., seconds since Jan 1, 1970
  • Yes – these would be "numbers" by type, but with special encoding handling.

Action items