2022-11-07 AnonCreds Specification Working Group Meeting
Summary
Logos!
Transition to Hyperledger
RevReg Objects between AnonCreds and AnonCreds Methods
Iterations on AnonCreds in W3C VC Standard format
Open Issues and PRs
Open Discussion
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. |
|---|
Welcome and Introductions
Attendees
@Stephen Curran (BC Gov / Cloud Compass Computing Inc.) <swcurran@cloudcompass.ca>
@Timo Glastra (Animo Solutions) <timo@animo.id>
@Lance Byrd (RootsID) <lance.byrd@rootsid.com>
Related Repositories:
AnonCreds 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
Meeting Preliminaries:
Welcome and Introductions
Announcements:
IIW -- Nov 15-17, Mountain View, Calif.
Suggestions for what to do at IIW
Ledger-agnostic AnonCreds
AnonCreds in W3C Format
Sam:
Governance, Aries for other than AnonCreds
Updates the Agenda
Agenda
Logos – selecting the Hyperledger AnonCreds project logo. Link to survey.
Finalize - Concept 1, colors TBD (likely Greens 7 votes vs. 4 for each of Blues and Red/Grey)
Sent to Hyperledger and the designer
Transition into Hyperledger AnonCreds
Tasks in moving this group into Hyperledger
Move the repos from AnonCreds-WG organizations into HL, get new URL https://hyperledger.github.io/anoncreds-spec/
Create new replacement repos in existing organization and publish a redirector to the new location - https://anoncreds-wg.github.io/anoncreds-spec/
PR to update the references to the home of the specifications as being in Hyperledger and update the Community License V1.0 documents.
Summary of PR for the specification
To Do - Method Registry – need PRs approved
Create a Meetings page off the Hyperledger AnonCreds home page
Move all meeting agendas to the new Meetings page
All the other work in establishing the Hyperledger AnonCreds project: Checklist
RevReg Object updates -- enabling AnonCreds Methods to support both deltas and "full state" RevReg storage @Timo Glastra
Discussion starts at 18:49 of the recording.
Initial proposed revocation list data model: https://hackmd.io/@animo/Sys3SqUri
In short – in creating the presentation, the invoking process must pass an object with this structure, plus (at least) the tails file:
{ "revocation_list": [0,1,0,1....], "current_accumulator": "xxx", "timestamp": "xxx" }That will enable the AnonCreds presentation generator to produce the Proof of Non Revocation.
The invoker must get from the AnonCreds Method the data in that format, regardless of how the data is stored on ledger.
Next step is to put this into the specification as part of the presentation section – assigned to Stephen Curran to write (he should get on it...Soon!!)
Creating/sharing AnonCreds verifiable credential and presentation objects in W3C VC Data Model format
Repository with code: andrewwhitehead/anoncreds-w3c-mapping
Keep an eye on the repo – a context has been developed that should work for this.
Open PRs Review, Open Issues Review
Issue #86: Should we allow the possibility of an Issuer using only a subset of a schema?
Discussed at the 37:26 mark of the recording.
Short answer is no – it's a bad idea for holders and verifiers, as it eliminates the expectation of what claims are in a credential. As noted in the ACA-Py discussion, the issuer has options for not using attributes (such as putting "NULL" into the credential). Such a change would be very complicated.
Issue #92: Does AnonCreds support in the Presentation Request / Presentation flow the concept of presenting any one of N verifiable credentials?
Discussed at the 47:04 mark of the recording.
It may, using unrevealed attributes.
If it does not work, the path to follow to "fix" this would mostly likely be to go to DIF Presentation Exchange, and not to
Issue #100: Clarifying if the holder is the software agent acting on behalf of an entity or the entity itself
Request for others to review and discuss at the next meeting
Open Discussion
Future Calls
None pending
To Dos:
Request from Stephen Curran -- I'd like to go through the
presentationsection of the spec to convert the specific implementation calls (e.g.indy_prover_...and the like) into content to be more about the data objects passed into AnonCreds/returned from AnonCreds for processing events.Ankur to add paragraph about philosophy of the AnonCreds API, styles
Review the Issuing and Presentation sections to exclude Legacy Indy impacts, and to formalize the Abstract API for writing/reading published objects
Cred Def Generation + PRIVATE_CRED_DEF -- non revocation, and plus revocation
Revocation data elements -- definition
Normative/Non-normative references
Collect from documents mentioned below (under action items) and from previous meeting
Action items
Suggestion made and supported that the group request to provide a presentation about AnonCreds to the W3C VC Working Group about the formatting of AnonCreds verifiable credential and presentation in W3C format and the processing implied.
Issue -- should "encoded" generation be handled by the Issuer or within AnonCreds?
Formalize the encoding in the specification
Transition to "encoding in AnonCreds" ASAP
Links to be referenced in the spec and used where needed:
From Artur Philipp : Issue about raw/encoded values used in AnonCreds https://jira.hyperledger.org/browse/IS-786
Latex in Spec-Up / (Re)Discovery of AnonCreds Protocols paper from Mike Lodder, Brent Zundel. There is a full latex version of the document -- that document uses images to get the calculations into the text.