Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Summary

Excerpt
  • Status Updates on AnonCreds in W3C VCDM Format projects
  • Revocation Manager for ALLOSAUR and AnonCreds – Design
  • Schema Object for Complex JSON Objects – Discussion
  • Open Discussion

Time: 7:00 Pacific / 16:00 Central Europe
Call Link: https://zoom.us/j/97954159540?pwd=WWk3WmQ3MVh1SXBYZGVreGl0QllGdz09

Recording:  
Widget Connector
urlhttp://youtube.com/watch?v=UbPNWUKq08Y

Notices: 

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

...

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

Related Specifications and Repositories:

...

...

  • AnonCreds in W3C VCDM Format - Status/Updates
  • ALLOSAUR/AnonCreds Revocation Manager Component – what is it, design?  ALLOSAUR/AnonCreds Credential Status Manager (reflects 
    • Presentation
    • Hyperledger Mentorship Program
    • Proposed Hyperledger Mentorship project:
      • PR is merged into Credo, 0.5.0 Alpha is available
      • Working on the Bifold – update agent to 0.5.0
    • ACA-Py Progress:
      • Progress and work on it.  Difficulty in getting tests to run.
      • ACA-Pug meeting tomorrow for a demo.
  • Data organization in the AnonCreds v2 Presentation flow – presentation
    • For ZKPs in a presentation, make the "claim" item a complex data structure, with one or more ZKPs listed with type and value.
      • Consider how best to handle multiple of the same type – e.g. multiple memberships on the same claim
      • TBD: The exact data format for each type (predicate, range proof, membership, etc.)
    • Revocation to be "automatic" based on whether or not the issuer decides to issue a revocable or non-revocable credential.
      • TBD: the flow of that during issuance
      • TBD: What about the W3C VCDM concept of "credentialStatus" and the possiblity of multiple status types on a credential.
    • Link secret to be likewise automatic – in the schema, in the credential, and always disclosed in a presentation.
    • To Do: formalize the list.
  • Pluggable Signatures in AnonCreds v2 – PR submitted/merged – commits pushed to get the PR accepted.
    • AnonCreds Revocation Manager Component Implementation
    • On the Ledger:
      • RevRegDef: ID, Public Key, Accumulator, RM URLs
      • RevRegEntry: Accumulator (no list of changed status)
    • Is this NIST-compliant?
      • NIST has no approved pairing cryptography libraries, and this is based on pairing cryptography
      • Uses BLS12381 – which is used by many of the blockchains, BBS+, etc. – stronger curve – zCash and others
  • Update on the Hyperledger Labs Agora Libraries
  • PS vs. BBS+ Attributes
    • Aside: Rumour has it that a PS key size changes based on number of attributes to sign. If so, does that impact support for arrays in complex JSON?
      • PS must know the maximum number of claims you are going to sign at credential definition time.  Tradeoff of key size vs. number of claims.
      • PS vs. BBS+ relates to threshold signing.
      • PS has stronger security proofs.
      • PS – smaller and faster to generate
    • Nice point – could choose based on use case.
  • 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 so we are back to a list of attributes
        • Schema is a flat list like we have in AnonCreds v1, but attribute names are in 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.
      • Idea 3: Combine the two
        • Use JSON-LD for much of the data
        • Use JSON.PATH to add additional metadata when needed to specific items.
      • Idea 4: Pure JSON-LD, adding new "features" to get support for what we need
        • Don't really know what this entails...
    AnonCreds Hyperledger Mentorship Program ideas – suggestion of ideas:
    • A "revocation manager" implementation that can receive sharded requests and send back responses.
    • BBS+ Implementation.
    • Rust coding to work on AnonCreds objects so that they can be published/spec'd.
    • Rust coding to do Post Quantum signatures -- a plugin to the existing library.
    • Other ideas?
  • Open Discussion

To Dos:

Action items

...