Negotiation Topics

Compatibility Layers

  1. DIDComm Service Type
  2. Envelope Type ('accept' proposal)
  3. Encryption method (in DID Doc?)
  4. Content Encoding (JSON/CBOR)
  5. Inner message format (expected attributes within content encoding.)
  6. DIDComm Protocol Type

Layers 1-5 Must Align to be able to respond with a message for further negotiation leveraging DIDComm Protocols.

Negotiation Options

  1. Profile
    • Profile attribute
    • Indicated by service type (bad idea)
  2. pre-flight (re-flight?)
    • .well-known
    • Transport message request/failure response
    • attachment on OOB
  3. DID Doc Service Block Attributes

Notes

  • Any accept string should be a string match, not to be parsed.
  • top level content type is not just envelope type

Orthogonal: Implications on routing

Option 1: Recipient is responsible to line up a delivery path compatible with his stated compatibility.

  • Simpler for Sender
  • May be inflexible

Option 2: Each routing step can declare it's own compatibility

  • Complex for sender
  • Full flexibility
Select a repo