P2P
messaging protocols and apps have various problems that make
them less reliable than SimpleX, more complex to and
analyse, and vulnerable to several types of attack.
-
P2P networks rely on some variant of
DHT
to route messages. DHT designs have to balance delivery guarantee and latency.
SimpleX has both better delivery guarantee and lower latency than P2P, because
the message can be redundantly passed via several servers in parallel,
using the servers chosen by the recipient.
In P2P networks the message is passed through O(log N) nodes
sequentially, using nodes chosen by the algorithm.
-
SimpleX design, unlike most P2P networks, has no global user identifiers
of any kind, even temporary, and only uses temporary pairwise identifiers,
providing better anonymity and metadata protection.
-
P2P does not solve
MITM attack
problem, and most existing implementations do not use out-of-band messages
for the initial key exchange. SimpleX uses out-of-band messages or, in some
cases, pre-existing secure and trusted connections for the initial key exchange.
-
P2P implementations can be blocked by some Internet providers (like
BitTorrent).
SimpleX is transport agnostic - it can work over standard web protocols, e.g. WebSockets.
-
All known P2P networks may be vulnerable to
Sybil attack,
because each node is discoverable, and the network operates as a whole.
Known measures to mitigate it require either a centralized component or expensive
proof of work.
SimpleX network has no server discoverability, it is fragmented and operates
as multiple isolated sub-networks,
making network-wide attacks impossible.
-
P2P networks may be vulnerable to
DRDoS attack,
when the clients can rebroadcast and amplify traffic, resulting in network-wide
denial of service.
SimpleX clients only relay traffic from known connection
and cannot be used by an attacker to amplify the traffic in the whole network.