Open swcurran opened 2 months ago
DID
DIDDoc
NYM
part of some DIDs, specialized terminology and not applicable to most DID methods (other than few did methods dealing with ledgers like did:sov and did:indy)
the did:sov method spec requires the NYM part of the did (refered as idstring) to be a 16-byte uuid base58 encoded using the Bitcoin/IPFS alphabet (source : https://sovrin-foundation.github.io/sovrin/spec/did-method-spec-template.html)
the did:indy method spec has precise requirements concernying the NYM:
--seed
With all that said, it seems acapy should NOT mix the notions of seed, NYM and DID (or DID method) :
the --seed parameter should only concern the generation of the ED25519 key-pair (as long as we're OK with the hard-coded ED25519 key type) and thus, the VERKEY.
For the DID itself, there are two visions, one where the agent is responsible of generating the DID and another where the agent is simply fed with the DID.
In the case where we want aca-py to handle the generation of the did :
In the case where we don't want aca-py to handle the generationg of the did:
a new --did parameter could be added to specify the intended 'default did' (ex: 'did:sov:2wJPyULfLLnYTEFYzByfUR' or 'did:indy:sovrin:CYQLsccvwhMTowprMjGjQ6
In both cases, aca-py would (and should) work with DIDs, and forget all about NYMs
Then comes the concern of public did vs default did :
As noted by @PatStLouis in the [20240917]() ACA-Pug meeting, when the
--seed
option is used as a startup parameter, a key is created along with adid:sov
DID that uses that key by ACA-Py. This issue is to discuss how to extend the startup parameter (and define an OpenAPI endpoint -- but without a seed) to create keys and bind them to DIDs. For example (and this is totally wrong -- just used as an example), extend--seed
values to be"<seed>,<did method>,<did parameter>" -- e.g.
"123456,tdw,example.org"`. The intention of the issue is to cover:For the OpenAPI endpoint, for security reasons, we won't pass in the seed (assuming that ACA-Py generates a seed on the fly).