2021-07-07 Aries Cloud Agent - Python Users Group Community Meeting

2021-07-07 Aries Cloud Agent - Python Users Group Community Meeting

Summary:

Planned Topics:

  • Status Check: ACA-Py Release 0.7.0

  • Performance Issue Update – Public DID Handling

  • Discussion: What's next/getting to Release 1.0.0

  • AMA (as time permits)

Recording from the call: dummyfile.txt

Hyperledger is committed to creating a safe and welcoming

community for all. For more information

please visit the Hyperledger Code of Conduct.

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

  • Name (Organization) <email>

  • @Stephen Curran Stephen Curran (Cloud Compass Computing Inc.) <swcurran@cloudcompass.ca>

Announcements

Deployments and Work Updates

  • BC Gov Team

    • Aries-VCR/OrgBook BC Deployment

      • In progress: a multi-tenant OrgBook Issuer

    • Issuer Kit - VCs for OIDC Issuer Service - Safe Entry BC PoC - VCs for Physical Access Points

    • Verification Tutorial – multi-purpose verifier aimed at the general population receiving their first verifiable credential

    • Aries Agent Test Harness work - Results page: https://aries-interop.info

    • BPA - Business Partner Agent for B2B use of VCs

    • AIP 2.0

    • Aries Shared Components – indy-vdr, indy-shared-rs and aries-askar

Agenda

  • Status Update – ACA-Py 0.7.0 Release – @Andrew Whitehead

    • ACA-Py 0.7.0RC0 has been tagged

    • List of major updates and additions:

      • Support for W3C Standard Verifiable Credentials based on JSON-LD using LD-Signatures and BBS+ Signatures

      • Support for DIF Presentation Exchange

      • Present Proof V2 Support

      • Pluggable DID Resolver (with a did:web resolver) with fallback to an optional/configurable external DID universal resolver

      • Endorser Signing Transactions Protocol

      • Upgrades to Demos to add support for Credential Exchange 2.0 and W3C Verifiable Credentials

      • Alpha support for the Indy/Aries Shared Components (indy-vdr, indy-shared-rs and aries-askar), enabling running ACA-Py without using the Indy-SDK, while still supporting the use of Indy as a ledger, and Indy AnonCreds verifiable credential format

      • Feature/Event bus for ACA-Py generated events for controllers

      • Initial support for AIP 2.0 DIDComm envelopes (e.g. ECDH-1PU support)

      • Enable operation without Indy ledger support if not needed

      • Performance fix for deployments with large numbers of DIDs/connections

      • Simplify the creation/handling of plugin protocols

      • DID Exchange implicit invitation handling

      • Add support for Indy 1.16 predicates (restrictions on predicates based on attribute name and value)

      • BDD Tests run via GitHub Actions

    • Breaking changes?

      • DID Exchange Create Request returned the request, and now returns the connection object

      • When endorsement is enabled, the revocation capabilities are not working. For now, don't use the features in combination.

      • Possible – did related methods for handling unqualified did:sov keys

    • What's left?

  • Performance issue addressed – redundant Public DID Queries – @Andrew Whitehead

    • Issue - public DID checked multiple times per request; old approach was check each DID until public one found; blows up with many DIDs (public or peer) – fixed!

    • Could be improved further with caching, as it is still doing the multiple checks per request, but minor issue

    • Discovered along the way that DIDs from wallet cannot be deleted (e.g. when deleting a connection) – a leftover indy-sdk issue (never implemented). Likely to be addressed in Askar.

  • Discussion: What's next in ACA-Py/Getting to 1.0.0

    • Support for did:orb

      • Where do we do this?

      • How are we using external universal resolvers?

    • Support for multiple Indy ledgers

    • Support for revised did:sov

    • Persistent Queues – getting more done on that.

      • Loading and unloading the queues

      • Transports through the event bus, making the mechanism pluggable - inbound and outbound

        • Will require changes in the forward message handling for notifications to mobile devices – generalize this and enable notification handlers to see the message off the bus

        • These are changes to externalize the handling are a step to persistent queues, but not complete answer.

    • AIP 2.0 Features

      • --version 2.0 flag to enable "breaking changes" features/completed community updates

      • RFC 0557 Discover Features V2 – Added AIP 2.0 features / potentially dynamic based on loaded modules

      • RFC 0519 Goal Codes in specific protocols (RFC 0453/0454 - Credential Exchange V2), OOB, DID Exchange

        • Generalized support?

      • RFC 0627 Static Peer DID Support

      • RFC 0183 Revocation Notification – flag on API to notify user (+ connection_id?)

      • RFC 0587 Encryption Envelope V2

      • Review and update as needed all AIP 1.0 RFCs – to be added: a diff link for each "updated" RF

  • Questions – AMA:

Next Meeting

Future Topics

  • Queues – @Daniel Bluhm

    • Actions:

      • @Daniel Bluhmto do a hackmd doc design to meet mediator-centric requirements, ideally with a narrative on push notification handling

      • @Andrew Whiteheadto do a hackmd doc design to meet scalability requirements - https://hackmd.io/OF5o0idQTwi_T_3eWkDvmw

      • Ideally, incorporated into the above, but if not, a third design doc, covering the use of the event bus with the outbound queuing

  • Double Signature with eIDAS?

  • Performance with Shared Components enabled (Aries Askar et al.)

  • AIP 2.0 Features:

    • --version 2.0 flag to enable "breaking changes" features/completed community updates

    • RFC 0557 Discover Features V2 – Added AIP 2.0 features / potentially dynamic based on loaded modules

    • RFC 0519 Goal Codes in specific protocols (RFC 0453/0454 - Credential Exchange V2), OOB, DID Exchange

      • Generalized support?

    • RFC 0627 Static Peer DID Support

    • RFC 0183 Revocation Notification – flag on API to notify user (+ connection_id?)

    • RFC 0587 Encryption Envelope V2

    • Review and update as needed all AIP 1.0 RFCs – to be added: a diff link for each "updated" RF

Action items