What is dm3?
The dm3 protocol is a modular messaging protocol based on web3 technology.
The lean base protocol (DM3MTP — the dm3 message transport protocol) is designed to be the foundation layer for secure communication and an interoperability protocol to exchange messages with other messaging services or protocols.The protocol is built on two foundations:
- A central registry (based on ENS — Ethereum Name Service) of information for encrypted communication (public keys for encryption and signature validation, information on where and how to deliver messages)
- Independent, self-sovereign delivery service nodes that act as relays for delivered messages or as a gateway to other services or protocols.
The protocol’s architecture is modular. Beside the base protocol, extensions are available, such as increased privacy, group chats, public feeds, billboard chats, spam protection, notifications, storage, and more.The architecture of the dm3 protocol is providing security and privacy through end-to-end encryption, decentralization, and scalability.
It enables interoperability with any other messaging protocol, service, or application without the need to replace existing solutions but to connect them without compromising security or privacy.
What problem does dm3 solve?
Most of existing messaging solution in web2 and also in web3 are siloed and closed ecosystems. Dm3 solves this problem by providing a lean layer-0 messaging protocol to connect existing solutions and providing a secure, decentralized, scalable, privacy-preserving protocol for new applications.
Who uses dm3?
Dm3 is used by other messaging protocols (especially in web3) to become interoperable. Dm3 embedded components are used from dApps to include secure messaging functionalities.
What are dm3's key use cases?
1) To enable messaging interoperability (users of one solution can send and receive messages with any other dm3 compatible app)2) Embed messaging components into existing apps (in-app messaging, support messaging, billboard messaging, ...)
How to get started with dm3?
To become dm3 interoperable, 3 things need to be implemented:
- A delivery service as gateway to the connected solution
- Including dm3 encoding to de- and encrypt dm3 messages3
- Integration in the registry (direct ENS or using CCIP) To embed messaging, the dm3 embedded components can be used with only 2 lines of code. Mostly, providing an additional delivery service is recommended.