Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pickup Protocol 1.0, 2.0 and 3.0 #52

Merged
merged 1 commit into from Aug 25, 2022

Conversation

rodolfomiranda
Copy link
Contributor

Add Pickup Protocol.

Please, give feedback on:

  • Authors: I think that is correct to add authors from previous versions since that was just a mapping
  • Goal code: need to define goal codes?
  • Datetimes were expressed as unixtime in seconds
  • Error code: when the mediator doesn't have Live Mode capabilities, it should reply with a report-problem message. We need to define a code for that error like e.m.live-mode-not-supported

"return_route": "all"
}
```
`recipient_key` is optional. When specified, the `mediator` **MUST** only return status related to that recipient key. This allows the `recipient` to discover if any messages are in the queue that were sent to a specific key. You can find more details about `recipient_key` and how it's managed in [Mediator Coordination Protocol]().
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably think how to encode the recipient_keys. The v1 and v2 of this protocol use base58 encoded keys, but this carries the assumption that all keys are ed25519 keys. We need a more expressive way to encode keys. After that we switched to did:key encoded keys which is also not the ideal way to express keys IMO.

What if we start using publicKeyMultibase? E.g. the Ed25519Signature2020 suites uses this (https://w3c-ccg.github.io/lds-ed25519-2020/). It provides the public key and also the encoding + key type. Basically it's a did:key without the did:key part. We should probably look at limiting which bases to support: https://github.com/w3c-ccg/lds-ed25519-2020/issues/3

Kyle also mentioned that we could look at JWK encoding of keys: hyperledger/aries-rfcs#704 (comment). Also seems like a valid option to me, but more complex and not encodeable as a single string.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since DIDcomm v2 the forward messages now uses dids to forward messages. Should we start using DIDs instead of the keys? In that case we don't have to solve the encoding issues. This would also make key rotation easier and it probably makes sense to use dids in the DIDComm world.

https://identity.foundation/didcomm-messaging/spec/#messages

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also see my comment on the mediator coordination protocol: https://github.com/decentralized-identity/didcomm.org/pull/50/files#r923169329

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also see my comment on the mediator coordination protocol: https://github.com/decentralized-identity/didcomm.org/pull/50/files#r923169329

yes, we should match on what we define in the mediator coordination protocol. recipient-did makes a lot of sense

site/content/protocols/pickup/3.0/readme.md Show resolved Hide resolved
@dhh1128
Copy link
Collaborator

dhh1128 commented Aug 25, 2022

I think the conversation about key formats is important, and I would be happy to entertain a new PR that improves our descriptive text appropriately, as @TimoGlastra has suggested. However, I don't think we should hold up the initial merge while we wait for that; we want some documentation about this to exist asap. So I'm going to merge what we have right now.

@dhh1128 dhh1128 merged commit 08de252 into decentralized-identity:main Aug 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants