2023-05-01 AnonCreds v2.0 Working Group Meeting
Summary
- Reviewing the proposed data models for AnonCreds v2.0 - https://hackmd.io/ZlsnLoclSveePJOZljgMfA
- Revocation using zk-SAM
- Open Discussion
Recording of Call: dummyfile.txt
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>
Steve McCown (Anonyome Labs) <smccown@anonyome.com>
Related Repositories:
- Mike Lodder's proposed Data Models: https://hackmd.io/ZlsnLoclSveePJOZljgMfA
- AnonCreds v2.0 Specification Repository: https://github.com/hyperledger/anoncreds-spec-v2/
- AnonCreds v1.0 Specification: https://hyperledger.github.io/anoncreds-spec/
- AnonCreds Methods Registry: https://hyperledger.github.io/anoncreds-methods-registry
- AnonCreds Rust Open Source Code: https://github.com/hyperledger/anoncreds-rs
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 Workshop presented by Hyperledger is planned for May 31, 2023, 8:00 Pacific / 17:00 Central Europe. Details to be shared.
- I'll be talking at the Linux Foundation Open Source Summit, Metaverse Conference about Hyperledger AnonCreds and ZKPs.
- Updates to the Agenda?
Agenda
- Proposed data models discussion given what Mike Lodder has presented and documented here: https://hackmd.io/ZlsnLoclSveePJOZljgMfA
- Issuing AnonCreds v1.0:
- Schema – simple list of attribute names, schema name, version
- Attribute type is dynamically implied by the data in the credential – string or integer
- Credential Definition – a signing key for each attribute, an extra field that is the link secret
- Credential
- Raw and encoded claims
- Signature is added
- Schema – simple list of attribute names, schema name, version
- Issuing v2.0
- From document – items:
- Claims – Schema, Validators, Data
- Credential Schema, Credential Definition
- Credential
- Proposal that types are defined in the AnonCreds specification
- Claims Schema Repository
- Name, ID, type, validators
- QUESTION: Do we want to add the complexity/overhead of adding this element vs. keeping all of the information encapsulated in the Credential Schema Object
- Could have an optional "ClaimsSchemaId" as optional in the "Credential Schema Object":
- When included, only the Claims Name/ID need be included in the Credential Schema Object
- When not included, the full Claims information (type, validators) must be included in the Credential Schema Object.
- Could have an optional "ClaimsSchemaId" as optional in the "Credential Schema Object":
- Credential Schema Object:
- Name, Description (should also have version?)
- Blindly Signed Claims Schema
- Attribute name/ID from Claims Schema
- Ordered List: Claims Schema
- Attribute name/ID from Claims Schema, or
- Attribute Name, ID, type, validators
- Credential Definition Object
- Keys necessary to sign credentials
- Parameters per attribute – could be derived when using some signature schemes
- ID of Schema Object
- Revocation Registry – keys
- Keys necessary to sign credentials
- Credential:
- Claims
- Signature
- Revocation Registry Handle
- Credential Definition ID
- From document – items:
- Signature Schemes
CLBLS- doesn't support selective disclosure- BBS+ - IETF submitted version can be used
- PQ unlikely – none known at this time.
- PS - Mike, et. al (potentially including "S" in "PS") is taking this to IETF
- Has a post-quantum version, but slower and bigger
- Calculation for 5 claims – in the Credential Definition: Public Key 912 bytes, PQ version: 6KB, increasing linearly (6x bigger)
- Proof: 300-400 bytes, PQ version: 24kb (50x bigger)
- Could be public key could be fixed size 192b and then derive a per claim data parameter (tradeoff size vs. time)
- Calculation for 5 claims – in the Credential Definition: Public Key 912 bytes, PQ version: 6KB, increasing linearly (6x bigger)
- Has a post-quantum version, but slower and bigger
- Issuing AnonCreds v1.0:
Future Calls
- Collect some use case specific examples and continue the discussions:
- Applying the data structures to a real use case or two
- What concrete uses other than link-secret is there for blinded data in a credential?