Standardization web3 messaging

DM3 UPDATE

Thank you very much for the latest feedback after releasing the last version (0.3) of the specification of the dm3 protocol (see Standardization web3 messaging). A lot of important reasonable enhancements are incorporated now. Also, more teams working on web3 messaging solutions are now involved.

Also, thanks to all who voted for our proposal at ENS Small Grants (ENS Small Grants). This motivates us, even more, to work on dm3 as an interoperability protocol for web3 messaging.

The following major changes have been incorporated:

  • URIs for profile entries: Now, the profile entries are URIs (DATA, HTTPS, IPFS).
  • URIs for attachments: Attachments are URIs, too. This simplified attachment handling.
  • Metadata for Message and Envelope: We added metadata fields to the message and envelope structure. All describing attributes are moved to the metadata (making the message and the envelope structure simpler). Metadata structures can be extended if needed (e.g., for protocol extensions or application-specific info).
  • getProfileExtension as RPC-Method of the delivery service instead of a link in the profile: We changed the optional mutableProfileExtension which was a link to this info presented in the dm3 profile to an RPC method of the delivery service. Each delivery service can be asked for the info for an ENS name, which uses this delivery service. Some settings (e.g., spam reduction settings) may be different for each delivery service. If a user uses different delivery services (as recommended), this information will be delivered by the selected delivery service.
  • Positive List of supported message types: with the change above, we changed to a positive list, which message types are supported. Only NEW is mandatory, other types are optional. What is supported depends on the user’s client.
  • Added additional details to the spec to make some aspects clearer.

The current version of the specification document can be found at

https://dm3.readthedocs.io/en/doc-latest/

In case you have seen the preceding version, make certain to reload your browser for the newest iteration!

Next steps: We always appreciate comments and will communicate with those who express interest. Also, we are right now finalizing the reference implementation of the current version of the protocol to showcase how it works.
A special focus for the next steps is also to discuss the delivery service architectures and extend the spec if needed (We have already received some feedback suggesting that we should be more explicit in our specification of the delivery services).

In the ongoing coordination process regarding interoperability, it will continue to be interesting to discuss with other protocols/applications how dm3 compatibility can be integrated so that the first protocols are interoperable with each other and to work out what requirements are important from their point of view for the protocol…

5 Likes