this post was submitted on 29 Feb 2024
5 points (100.0% liked)

SimpleX Chat

355 readers
1 users here now

Community of SimpleX Chat users – managed by the team.

SimpleX Chat is the first chat platform that is 100% private by design – it has no user identifiers of any kind and no access to your connections graph – it's a more private design than any alternative we know of.

Please ask any questions and make feature suggestions. Your ideas and criticism are very welcome!

https://github.com/simplex-chat/simplex-chat

founded 2 years ago
MODERATORS
 

Hi,

I've just tested SimpleX. Great piece of software, all the options are really well thought ...

Sadly it's not P2P (all the messages pass by servers... ) is there a way to make-it P2P ?

Thanks.

top 6 comments
sorted by: hot top controversial new old
[–] rrobin 5 points 8 months ago (1 children)

Depends a bit on what you mean by p2p.

If you mean it as anyone can run their own server - this is already possible. But since message inboxes are one way you can really only control how the server for the messages your are receiving. The messages you send go to wherever the destination says they should go.

If by P2P you mean fully decentralized with no distinction between clients and servers then the discussion is a bit longer, but right now no, and for practical reasons probably not. Let me elaborate a bit.

First the protocol assumes a client, that is your messaging app, delivers the message to a server which is identified by a hostname/ip (you ability to deliver depends on this server being up and working).

For practical reasons the server is a separate entity, just like in email delivery protocols, because

  1. it needs a stable hostname or ip address
  2. it needs to be reachable most of the time to maximize availability, otherwise messages are not delivered

Now, in practice nothing prevents your client and server from being the same machine, but if the previous two points are not true you will have a bad experience receiving your messages. Specially since most clients are on mobile phones, these two points will likely not be true.

Another thing we could do to get it to be fully distributed would be to run simplex on top of other p2p protocol - anything w/ a DHT that can expose ports to the Internet (Tor, GNUNet, etc). But this has one downside - the client app would need to recognize new types of inbox addresses and connect accordingly.

You could probably achieve this with Tor and some .onion host setup. But then anyone that wanted to deliver to you would need an equivalent setup.

Apologies, I tend to nerd on about distributed systems.

[–] [email protected] 3 points 8 months ago* (last edited 8 months ago)

You souldn't apologie. We should thank you for nerding and give to those interested, valuable information !

[–] PropaGandalf 3 points 8 months ago* (last edited 8 months ago) (1 children)

You mean like a mesh network? Like briar?

I'd love to see the ad hoc, mesh network implementation of briar and the identifierless communication of simplex combined into one single service.

[–] [email protected] 1 points 8 months ago

I couldn't have said it better !

[–] [email protected] 2 points 8 months ago

Simple x is open federation. So to make it P2P you and your friend just need to run simple x relay servers. Then it would be P2P

The idea behind the open federation model, is anybody could run a server preventing a single point of failure.

Briar is the gold standard, but if you think about it, they're using Tor as their relay servers.

Both models require a relay of some description

[–] [email protected] 1 points 8 months ago

Not like your thinking. P2P is rather hard to do and can't just happen. Briar is the alternative and it is totally decentralized.

There also is Jami but it has reliability issues and no security audit