Can you explain it in 4 lines?
Discussion
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.
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.
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.
For a longer discussion about SimpleX you can listen to the latest opt out episode.