To deliver mesages, instead of user IDs used by all other platforms, SimpleX uses temporary anonymous pairwise identifiers of message queues, separate for each of your connections — there are no long term identifiers.

You define which server(s) to use to receive the messages, your contacts — the servers you use to send the messages to them. Every conversation is likely to use two different servers.

This design prevents leaking any users' metadata on the application level. To further improve privacy and protect your IP address you can connect to messaging servers via Tor.

Only client devices store user profiles, contacts and groups; the messages are sent with 2-layer end-to-end encryption.

https://simplex.chat/#how-simplex-works

Reply to this note

Please Login to reply.

Discussion

Wow, that kind fixes everything then. Why can't we abandon the idea of doing a Nostr-native messaging system and just embed Simplex clients inside Nostr apps?

The biggest hurdle would be interopability.

I don't know if it's feasible to integrate it or not, just brainstorming ideas.

SimpleX also works with relays in a similar model to nostr so maybe these can be the same?

Isn't it possible to implement a social network on top of SMP? Isn't that something they were planning on doing?

It had challenges, however bitmessage was pretty interesting.

https://wiki.bitmessage.org

I’ll checkout SimpleX.

If I understand the SimpleX protocol, this program translates the concept to nostr. The sender creates a new conversation key and directs recipients to a relay of their choosing.

https://gist.github.com/davestgermain/12974fef590fc1edf12e9a25b9dfa7b5#file-safe_dm-py-L82

Is something like this scalable? I imagine it's like a nightmare.