---
description: Frequently Asked Questions
---

# FAQs

### What is SendingNetwork?

SendingNetwork is a decentralized communication network, providing, among other services, the ability for users to participate in peer-to-peer chat without using centralized servers. Web3 application developers can add chat and other communication facilities into their apps using SendingNetwork’s SDK and APIs. SendingNetwork for their messaging is the ability to have an integrated view of their social graphs, personal data, messaging contacts and history across all these apps.

### What is special about SendingNetwork?

* Users’ ownership of ID, Social Graph, Social data.
* Private & Group Chat with rich messages solution (texts, files, voice, videos & emojis, etc.) and push notification service.
* End-to-end encryption on all chats, data stored and metadata.
* Powerful APIs with trading extensibility.

### Is SendingNetwork decentralized?

SendingNetwork relies on a completely decentralized P2P network for message relay. The protocol also comes with a built-in DID system that guarantees the ownership of every account.

### How does the protocol work?

SendingNetwork consists of three types of nodes connected through a P2P network: client node, edge node and blockchain. Specifically, client nodes are devices on which clients run SendingNetwork instances. All users’ messages interact through client nodes. Among them, online messages are delivered directly without relying on any nodes. The offline ones are delivered by users’ distributed or trusted edge nodes.

### What is Edge Node?

Edge nodes construct the underlying P2P message network. They help with message relays, provide verifiable storage, support video call streaming, and work as provide network entry for the clients. For more information, please take a look at the [Edge Node Introduction](../network-instructional-articles/key-concepts/edge-node).

### Can I choose my own Edge Node?

Yes, the client can select an Edge Node. If not specified, client node will be randomly assigned several edge nodes according to its wallet address. There is an algorithm ensuring these nodes are located in different areas around the world.

### Where is my data stored?&#x20;

All messages are stored on your device. When the user is offline, the P2P edge network caches all the offline messages. Users can fetch these messages when they get back online. We provide decentralized storage like IPFS or blockchains as a data back up solution.

### Are the messages encrypted?

All messages are end-to-end encrypted, including DMs and group chats. SendingNetwork implements end-to-end encryption using a modified Double Ratchet algorithm based on the Olm/Megolm encryption from the Matrix protocol. This encryption method ensures that only the intended recipients can access and decrypt the messages, preventing unauthorized access even if the data is intercepted during transmission. The Double Ratchet algorithm provides robust security by generating unique session keys for each message, constantly updating encryption keys, and maintaining forward and backward secrecy, ensuring past and future messages remain secure even if current keys are compromised.

### What do you choose double ratchet algorithm over MLS?

MLS faces hurdles in enforcing linear epoch ordering, crucial for decentralized setups lacking a central authority. MLS operates akin to "svn", needing a central coordinator, while SendingNetwork's adapted Double Ratchet, resembling "git", supports group E2E Encryption in decentralized settings. MLS aims to expand E2E Encryption to group chats, but its centralization clashes with decentralized models.

### What is Decentralized Identity (DID)?

DID is a new identity identifier system that supports a verified decentralized digital identity. SendingNetwork designs the wallet-based DID system with the following abilities:

* Achieve many-to-many relationships between Wallets and DIDs: Users can map multiple wallets to a single DID and a single wallet to multiple DIDs.
* Multi-chain support: support for Ethereum and EVM-compatible blockchains.
* Efficient proof mechanism: help message recipients verify the sender's identity quickly.
