2024-04-15 AnonCreds Working Group Meeting - CANCELLED
Summary
See you at the Internet Identity Workshop Conference
Time: 7:00 Pacific / 16:00 Central Europe
Call Link: https://zoom.us/j/97954159540?pwd=WWk3WmQ3MVh1SXBYZGVreGl0QllGdz09
Recording:
Notices:
This specification creating group operates under the Linux Foundation Community Specification License v1.0.
cifi | 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 Specifications and Repositories:
AnonCreds v1.0:
The v1.0 specification is published here: https://hyperledger.github.io/anoncreds-spec/
The Working Group uses this GitHub repository to manage the specification: https://github.com/hyperledger/anoncreds-spec
The AnonCreds Methods Registry: https://hyperledger.github.io/anoncreds-methods-registry
The v1.0 implementation in Rust is here: https://github.com/hyperledger/anoncreds-rs
The v1.0 implementation is dependent on this Rust CL Signatures implementation: https://github.com/hyperledger/anoncreds-clsignatures-rs
AnonCreds v2.0
The initial framework for the v2.0 specification repository is here: https://github.com/hyperledger/anoncreds-spec-v2
The v2.0 implementation in Rust is here: https://github.com/hyperledger/anoncreds-v2-rs
Underlying AnonCreds v2.0 are cryptographic libraries in Hyperledger Labs Agora
Meeting Preliminaries:
Welcome and Introductions
Announcements:
IIW – April 16-18, 2024
Workshop Wed. April 24th: Zero Knowledge Proofs and ZK Programming in Blockchain Application Development
Any updates to the Agenda?
Agenda
AnonCreds v1 in W3C VCDM Format - Status/Updates
Test Vectors Repo: https://github.com/TimoGlastra/anoncreds-w3c-test-vectors
Credo / Bifold Complete
ACA-Py Progress
AnonCreds v2 in W3C VCDM Format – Ideas
Update on the Hyperledger Labs Agora Libraries
Contributions this week – audits are completed
Audit Complete: BLSFUL – https://github.com/mikelodder7/blsful - powers the ALLOSAUR library, replaces what is currently in AnonCreds v2
Audit Complete: Gennaro – https://github.com/mikelodder7/gennaro-dkg – distributed key generator
Being audited: Verifiable Secret Sharing – https://github.com/mikelodder7/vsss-rs
Plan is to ALLOSAUR into Agora as well
Complex JSON in AnonCreds – ideas for the Schema Object
Thinking about AnonCreds V2 with complex JSON, and what the Schema would look like.
In V2, there are is metadata per VC attribute that provides input into the encoding for the element -- e.g., it's a string, an integer, an integer range, a date, an enumerated set, scalar (e.g. link secret).
Example of a simple schema to show the metadata: https://github.com/swcurran/anoncreds-v2-rs/blob/samples/examples/schema-with-linked-secret.json
Question – how do we manage the schema when we need to support complex JSON (structures, arrays).
Idea 1: Use JSON.Path references to JSON items so we are back to a flat list of attributes
Schema is a flat list like in AnonCreds v1, but attribute names are put into JSON Path format.
Metadata is attached to each attribute in the (flat) list.
Idea 2: Use JSON-LD
How much would JSON-LD help with this?
Probably not much
Is there already enough data to tell us much of those things?
I would guess not. It could have a lot of it, but not all that we need.
Completely dependent on the use case – definitely not guaranteed. Must be able to supplement it.
What tools are there to see for a given JSON-LD document what attributes we know about each attribute?
Tools are available.
Would it make sense to use JSON-LD and supplement attributes as needed?
Question for the JSON-LD crowd.
I think we wind up with an
@contextper schema – which might be problematic.
Idea 3: Use JSON Schema
Define the AnonCreds v2 schema metadata using JSON Schema.
Idea 4: Use an OCA Bundle, and define an Overlay that is for AnonCreds Schema attributes.
Still have to sort out how to do complex JSON – likely the JSON.Path flattened approach.
Enables using the same "bundle" to include schema information.
Challenge: OCA Bundles as we use them in Aries are usually created by the Issuer to enable them to add their branding.
With this we would push a lot more into combining layering Issuer-defined OCA Bundles on top of Schema-defined OCA Bundles
Open Discussion
To Dos:
Action items
Links to be referenced in the spec and used where needed:
