Dm3 Disassembled for Easier Understanding.

Dm3 Disassembled for Easier Understanding.

In this post I will give a breakdown on decentralized messaging for web3 (Dm3) in a way that will be easily digested by newbies. Let’s Begin...

TABLE OF CONTENT

WHAT IS DM3?

WHAT MAKES DM3 DIFFERENT?

HOW DOES DM3 WORK

CONCLUSION

WHAT IS DM3?

Dm3 protocol is designed to provide a secure, decentralized infrastructure for messaging that is not controlled by a single entity, such as a company or government using established web3 services.

It protects your communication and allows you to collaborate with other members of the web3 community.

What makes Dm3 different?

So what makes Dm3 different?

It is ENS (Ethereum Name Service) based:

ENS is a decentralized naming system that maps human-readable names to Ethereum addresses, smart contracts, and other resources on the Ethereum blockchain. It allows users to access Ethereum resources using easy-to-remember names rather than long, complex Ethereum addresses.

It is also easier for users to interact with Ethereum resources, such as sending funds since ENS names are stored on the Ethereum blockchain, which is ultimately makes it secure and cannot be altered and they are resistant to tampering.

Being ENS based means that Dm3 is decentralized, not controlled by any single entity which makes it resistant to censorship and can be used by anyone around the world.

Dm3 is truly decentralized:

As the name implies Dm3 (decentralized messaging for web3) is not controlled by any single entity, but rather is maintained by a decentralized network of computers (nodes) that work together to validate and record transactions which enables it to be a secure, transparent, and censorship-resistant platform.

It’s end-to-end encrypted communication system which ensures that only the sender and the intended recipient of a message can read its contents. It prevents third parties (such as internet service providers, governments, or hackers) from intercepting and reading the contents of the communication.

It also ensures that the communication cannot be tampered with or altered in transit, as the message is encrypted and decrypted using a shared password or key that is known only to the sender and the recipient.

Open source protocol:

An open source protocol is a set of rules or standards that govern the way in which a system or network functions. It is typically developed and maintained by a community and are made freely available for anyone to use, modify, and distribute and this allows for a high degree of collaboration and innovation within the community, as developers can build upon and improve the protocol over time.

It encourages innovation, as developers are free to build upon and improve the protocol without being limited by proprietary restrictions.

Dm3 can be integrated as a widget:

It makes it convenient because widgets are small, self-contained applications that can be easily embedded in other applications or websites, they are also easy to use because widgets are designed to perform a specific task or set of tasks which makes it easy for users to interact with Dm3 even if they are not familiar with blockchain technology or cryptocurrency.

Widgets can be accessed from a wide range of devices, including desktop computers, laptops, tablets, and smartphones. This makes it easy for users to access the Dm3 from any device with an internet connection and it makes more accessible to a wider audience.

Users completely own their inbox:

Being able to really own your inbox means to have full control over your messaging communications and the information contained. This includes being able to access, manage, and delete your messages as you see fit, without interference from third parties.

HOW DOES DM3 WORK

The following example shows how the delivery would work if User A sent a message to user B. Let’s name user A “Kate” and user B “Noah”.

- Kate types her message for Noah into the dm3 app and submits it.

- The dm3 app asks on-chain (ON-CHAIN are transactions or data that are recorded on the blockchain and are therefore secure, transparent, and fixed) for Noah’s dm3 profile.

- To do so, the app queries the eth.dm3.profile text record linked to his ENS name and this profile contains Noah’s public encryption key, his public signing key, and the URL to the delivery service he uses.

- The message content is signed using Kate’s private signing key and encrypted using Noah’s public encryption key.

- After the message is encrypted, it is sent to the delivery service used by Noah via its WebSocket API which is a protocol that allows a client (such as a web browser) to establish a connection with a server and communicate with it in real-time over the web. It allows the server to send data to the client without the need for the client to request it, and vice versa.

- The delivery service pushes the message to Noah’s instance of the dm3 app. The app decrypts the message using Noah’s private encryption key.

- The app then queries Kate’s dm3 profile and uses it to check whether the message signature is valid and if the signature is valid, Noah is able to read the message.

In summary, dm3 allows you to easily write a signed and encrypted message to another ENS domain owner, without having any single point of failure. Nobody can take a domain name as long as the associated private key is kept secure.

When dm3 is first used, public signing and encryption keys are generated based on the key in the user’s Ethereum wallet and the associated private keys can be regenerated at any time using the key in the Ethereum wallet.

The location where the messages are stored can also be freely chosen. It can be locally in the browser, a local file, IPFS which is a web3 storage, or the user’s own personal cloud.

NOTE: Even if the user chooses a centralized cloud provider such as Google Drive, Google has no power to read or manipulate messages or gain any control over the user’s account/ENS Domain.

In conclusion, it is believed that dm3 is a better and more secure communication protocol and would be an essential way to communicate within web3.