Aries DIDCommV2 Working Group 2023-04-10 meeting

Aries DIDCommV2 Working Group 2023-04-10 meeting

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

Summary:

  • IIW April 2023 connect-a-thon

Date

Apr 10, 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>

  • @Björn Sandmann (Blocktrust) <sandmann@blocktrust.dev>

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

  • @bruce_conrad@byu.edu (Pico Labs) <bruce_conrad@byu.edu>

  • @Alex Andrei (RootsID)<alex.andrei@rootsid.com>

  • @Alexandra Walker (Indicio PBC) <alex.walker@indicio.tech>

Welcome / Introductions

Announcements

Release Status and Work Updates

Discussion Topics

April 2023 IIW is coming and a bunch of us will be there! Lets start stitching together as many DIDComm v2 agents, services, mediators as possible in preparation

 

From our last meeting:

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/M5f3EYBdBRM