Communication Process
The Dmail Messaging Protocol encompasses both an application layer, known as Dmail DApp, and a transport layer that developers can directly utilize for message transmission. Its architectural design prominently features endpoints, relayers, and routers.

Multi-Chain Encrypted Communication Process in Dmail Network:
Sender's Interaction with Dmail DApp:
The sender initiates the process by logging into the Dmail DApp.
The DApp currently facilitates login via 18 multiple chains, including WorldID and Google.
Message Encryption and Dispatch:
The sender transmits an encrypted message over their connected network.
This involves: a. Encrypting the message and storing it in a distributed container, creating a unique message URI (Uniform Resource Identifier). b. Packaging the sender and recipient details, subject, URI, and timestamp into a relay message, which is then dispatched to the network's relayer system.
Relayer Verification and Broadcast:
The relayer decrypts the sender’s smart contract, and broadcast those messages to all other connected end-points on multiple chains.
The relayer system, consisting of Source and Destination Message Buses, a Validator, and a Cross-Chain Message Executor, processes the message.
The Validator validates and distributes the message, while the Executor forwards verified messages to the routing system.
Routing and Network Matching:
The router assesses the recipient's address format, aligns it with the unique ID, and directs the message to the intended recipient.
Web2 & Web3 Messages Distribution:
Web2 Distribution: Messages are decrypted by a proxy robot and then forwarded using SMTP and email protocols.
Web3 Distribution: Messages are sent to the validated ID and recipient address in the Web3 network.
Recipient's Engagement:
The recipient accesses their messages through the Dmail DApp.
While recipients can log in from multiple chains, currently, message retrieval is primarily supported via the Internet Computer, with plans to extend this to multiple chains.
Messages Retrieval:
Upon logging in, the recipient’s network and address are converted to a Dmail unique ID, which is used to fetch incoming messages.
Messages linked to the recipient’s ID are retrieved from the distributed container using the message URI, decrypted, and presented to the recipient in their entirety.
Last updated