8. How It Works

8.1 Architecture

Sending.Network 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 Sending.Network 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. Edge nodes are computing nodes owned by users or trusted providers, providing computing services for their clients and caching their users' offline data.

All private data is only stored on users’ clients. This fundamentally prevents the nodes from snooping on users’ personal data.

Blockchain is where social graph data is stored. Sending.Network allows users to back up all their data to the blockchain and to be able to restore them at any time.

Route Protocol

Sending.Network especially designed three different network protocols for instant communication in the P2P network environment, they are libp2p protocol, fast routing protocol, and anonymous routing protocol. The libp2p protocol is similar to the general P2P network protocol, which has a substantial data throughput but a relatively significant network delay. We use it to maintain latency-insensitive transactions in the network, such as the discovery of nodes, maintenance of public chat rooms, etc.

The fast routing protocol preferentially selects high-performance and high-bandwidth routing nodes, usually edge nodes, bringing higher message forwarding speed. The user's regular encrypted communication uses this protocol to obtain chat latency comparable to that of a centralized server. Anonymous routing protocols have enhanced privacy protection for users who do not want to expose their communication counterparts. In addition to high performance, all nodes participating in message forwarding support the SGX instruction set. All message forwarding takes place in a trusted execution environment so that no one can know the identities of both communicating parties simultaneously.

Balance Between Performance and Privacy

Compared with the libp2p protocol, the fast routing protocol can bring users a better chatting experience, but with a service fee to these high-performance nodes. At the same time, although anonymous routing protocols can further enhance chat privacy, introducing TEE will lead to higher costs and certain performance penalties. Therefore, users need to make trade-offs between different routing schemes according to their actual needs for performance and privacy.

Last updated