Aries DIDCommV2 Working Group 2023-05-08 meeting

Aries DIDCommV2 Working Group 2023-05-08 meeting

Zoom: https://zoom.us/j/94626752608?pwd=K0t4N3VqRzlscTNYajlxMHNPM08yQT09

Summary:

  • This is our final meeting. We'll pause until we need to meet again.

Date

May 8, 2023 (6AM Los Angeles, 9AM New York, 2PM London, 3PM CET, 17H Moscow)

 

Hyperledger is committed to creating a safe and welcoming

community for all. For more information

please visit the Hyperledger Code of Conduct.

Attendees                   

  • @Lance Byrd (RootsID) <lance.byrd@rootsid.com>

  • @Rodolfo Miranda (RootsID) <rodolfo.miranda@rootsid.com>

Welcome / Introductions

Announcements

Release Status and Work Updates

Discussion Topics

This is our final meeting. We'll pause until there is a need to restart. @Ry Jones @Stephen Curran @Sam Curren 

We encourage anyone interested in DIDComm to attend the weekly DIF DIDComm user-group 

From our last meeting:

April 2023 IIW was awesome! Pics added, more lessons learned to come.

Nessus Demo

  • OOB with a 'public' did document that anyone can use. Chicken and the egg for Root-of-trust.

    • Start with a trust ping.

    • Request a credential? For extra validation.

  • SICPA did peer Java PRs have brought it to usable place 

  • Demo in two weeks

    • OPA verification policies

    • W3C JSON-LD and JWT

      • We will check with @Alex Andrei to see if we can accept an issued credential from @Thomas Diesler 

    • Technology Compatibility Kit (TCK) in java provides compliance for J2EE, similar concept to AIP

      • This is a large market for licensing in the java world

      • DIDComm could have a similar

    • Reference implementation

      • First or most complete Agent that passes the TCK

    • Can DIF own the TCK?

      • Create a test harness similar to what Fabio Pinheiro is asking for in DIDComm v2

  • IBM w/ DIF?

April 2023 IIW DIDComm v2 interop

  • How can we get the word out?j

  • Receive a credential over OIDC (OIDC4VC) and present proof with DIDComm

    • Who in the OIDC to connect with? Also, connect with Sam. Ask Drummond.

    • Walt.id supports OIDC 

  • Which agents might participate:

    • AFJ

      • @Ariel Gentile 

      • Animo

    • Veramo

      • Nick

      • Cody

    • BlockTrust

      • @Björn Sandmann 

    • AviaryTech

      • @Brian Richter 

    • Indicio

      • @Alexandra Walker @Sam Curren @Char Howland @Mike Ebert 

    • PicoAgents

      • @bruce_conrad@byu.edu

    • RootsID

      • RootsWallet

    • Atala Prism

      • @Alex Andrei @Rodolfo Miranda 

      • Anyone from Atala team attending?

    • Nessus

      • @Thomas Diesler might be a recording

  • What protocols do we want to highlight/use

    • Basic Message

    • Trust Ping

    • Mediation

    • Issue Credential

      • This is more complex, which format, etc.

    • Verification

    • Schema Validation

  • Pre-record video showing the interop between them

    • For the session it needs to be very scripted so that everyone is successful

      • Group chat? New protocol, maybe in Fall IIW?

  • Veramo agent as a test harness for DIDComm?

  • BlockTrust is implementing mediator, etc and will be at IIW

    • No usable .NET lib, had to write it from scratch

      • Crypto is especially challenging

    • Reference implementations help a lot

      • SICPA libs continue to gain adoption and are nice for reference

Interop Profile

DWN & KERI & DIDComm comparison

DIDComm short DIDs

  • Agents can cache DIDs to know if they have resolved the long-form, etc. This cache needs to be well protected or the conversation is lost.

  • DIDComm provides a way to rotate Ephemeral DIDs, specifying a new DID (even from a different DID method).

  • Ecosystem of DIDCommV2 Services or local agents

    • One other DCV2 agent required to work on true interop

    • Plus one agent agnostic Technology Compatibility Kit (TCK)

    • Nessus-tech domain service

     

  • Nessus

    • Nessus DIDComm 23.2.0 First Release

      • Wallet abstraction for AcaPy + Nessus native

      • Camel Http Endpoint for Nessus agent

      • Support for RFC0434 Out-of-Band Invitation V1 & V2

      • Support for RFC0023 Did Exchange V1

      • Support for RFC0048 Trust Ping V1 & V2

      • Support for RFC0095 Basic Message V1 & V2

      • CLI to work with supported protocols and model 

      • Uses SICPA and Walt.id

      • Will eventually be wrapped in a Camel component, enabling Camel endpoints to support DIDCommV2

        • open the doors for adoption from the Camel enterprises

  • DIDComm v1 vs v2

    • https://didcomm.org/book/v2/whatsnew

      • simple explanation of the benefits of upgrading

    • DIDComm v1 is tightly coupled to the Aries RFCs (encryption envelope) and v2 introduces some simplicity in terms of connections

    AIP3

    Aries Agent Test Harness

    • What did methods are supported? And how do you configure to use did indy, orb, etc.

    • What is the priority of tests to create that will eventually be AIP3 tagged tests?

    • How is mediation tested?

      • With the mediation role (what is the name like bob, alice, faber, etc) and show you support the mediation features.

    • Current DIDComm-V2 specific tests:

      DIDComm-V2 tests

      aries-agent-test-harness % ./manage tests --tags @DIDComm-V2 Selecting: ['@DIDComm-V2'] Feature: WACI Issuance @T001-IssueCredentialV3 @DIDComm-V2 - WACI issuance flow Feature: DIDComm V2 Establishing Connections @T001-OobV2 @DIDComm-V2 - Establish a connection between two agents using DIDComm V2 Feature: Aries agent present proof v3 @T001-PresentProofV3 @DIDComm-V2 - Present Proof of specific types and proof is acknowledged with a Citizenship credential type with a DID Exchange Connection
    • New tag in AATH that are not credential related, maybe:

      • DIDCommV2_Peer

      • DIDCommV2_Simple

      • Didcommv2_base

      • Didcommv2_layer2

    • See https://github.com/tdiesler/aries-agent-test-harness/tree/camel/aries-backchannels/camel#aip-10-status

    Grand Unified Theory (GUT) Alliance

  • Apache Camel: https://camel.apache.org/ and we discussed Daniel Hardman's presentation to W3C that talks about classic API/Swagger Endpoints vs. a DIDComm connected ecosystem https://youtu.be/TBxWgNmsnvU

  • Our current spreadsheet https://docs.google.com/spreadsheets/d/15noWiG_zhhUpornhrZm9cLEjQ1aa6z9qgJgPCaaIbtY/edit?usp=sharing

  • AIP3

    • HackMD from the last Aires WG meeting, regarding AIP 3.0 

    • Great document by Hakan, looking at past AIP definitions and beginning to consider AIP3 definition 

    • Connectionless DIDComm v2 still needs management of the 'connection' between agents.  How should agents handle this?

      • Is this worth detailing/discussing or is it just agent specific?

      • OOB/handshake/discovery RFP for Aries agents?

        • WACI and what the overlap and distinction would be between the AIP and WACI.

          • There is some nuance to cred formats you have to support (Indy, BBS+, LD).  

          • Can we use Discovery protocol to understand the level of WACI support?

        • Encryption envelope selection

  • @bruce_conrad@byu.edu is working with students to implement DIDComm v2 in their Pico environment.  Might benefit from JFF work

  • DIDComm v2 agent discoverability/interop

  • Documentation in terms of Trust Over IP (ToIP) tech stack?

  • ACA-PUG

    • Libraries for message envelope (Askar, Python impl, Rust impl)

Other Business

Future Topics

Action items

Call Recording

https://youtu.be/IocMutlVypw