hyperledger / aries-vcx

aries-vcx is set of crates to work with DIDs, DID Documents, DIDComm, Verifiable Credentials and Hyperledger Aries.
https://didcomm.org
Apache License 2.0
125 stars 83 forks source link

[Feature] Support DIDExchange 1.1 #1228

Closed gmulhearn closed 5 months ago

gmulhearn commented 5 months ago

The current implementation of DIDExchange is for DIDExchange v1.0, we should update this to support v1.1. The new feature of this minor version is the did_rotate attachment, which removes the need for qualified DID users to need to attach a full did_doc in the final response, instead they can use the did_rotate attachment: https://github.com/hyperledger/aries-rfcs/blob/main/features/0023-did-exchange/README.md#version-change-log.

Another reason to support v1.1, is such that other agents know to use qualified DIDs when interacting with us, improving our AATH score. For instance, if ACApy receives an OOB invitation from us with handshake protocol of didexchange/1.0, then ACApy will default to using unqualified DIDs: https://aca-py.org/latest/features/QualifiedDIDs/#did-exchange.

Open questions

JamesKEbert commented 5 months ago

should we bother still supporting v1.0?

I think so? As I understand it, it would be totally valid to have a resolvable DID be passed in 1.0 of DID exchange, with no did_rotate~attach & no `did_doc~attach.

What I do think should change though is when we go to do step 2 of the Unqualified DID Transition community update we begin to no longer accept unqualified dids.

Also given

An agent SHOULD keep minimum supported minor version at "0" unless it is unsecure or extremely complicated to do so.

from RFC 003 Protocols.

I could be wrong here though :man_shrugging:

gmulhearn commented 5 months ago

@JamesKEbert yea agreed, i'm supporting both in my new PR. still in draft... stay tuned