3.2 X Node Protocol
The X Node Protocol provides support for peer-to-peer messaging, custom intranet messaging, and Web3 social functions.
A network relay is a transport protocol that facilitates communication between two peer nodes through a third-party relay peer. In many scenarios, peer nodes cannot be accessed on public networks through their NAT (Network Address Translation) or do not share their transport protocols. As a result, direct communication is not possible.
To address connectivity issues, such as NAT, libp2p defines a protocol known as p2p-circuit. When a peer node cannot monitor a public address, it can dial a relay peer that maintains a long-lived connection. Other peer nodes can indirectly connect to their destination addresses by dialing the p2p-circuit address.
The X Node Protocol allows for collaborative node selection in scenarios with multiple source and destination nodes. To achieve a network-wide set gain, the node selection protocol should provide sufficient collaborative nodes for each sending node, forming several groups, as illustrated in the diagram below. Collaborative nodes within each group can correctly decode the information from sending nodes with a high probability.
In the context of distributed scenarios, a simple static collaborative node selection strategy has been proposed. This strategy ensures that all sending nodes in the network can achieve a set gain of n + 1, where n is the number of collaborative nodes. Initially, each node maintains a priority collaboration table, with the node prioritizing support for the first n nodes in the table. There are various design and implementation methods for the priority collaboration table, and one simple approach is [i + 1, i + 2, ..., M, 1, 2, ..., i - 1], where i is the node's identifier.
In a centralized control scenario, the central control node possesses channel information, allowing it to select the optimal solution from all possible solutions. This capability enables additional performance gains.
Last updated