Simplex Chat is very popular in the Nostr community; whenever someone posts a note asking which chat app is secure, many people recommend Simplex Chat. We also think Simplex Chat is a great app.
So, many people ask what is the difference between Keychat and Simplex Chat? Is Keychat's security as good as Simplex Chat's? Is it really possible to create a chat app as secure as Simplex Chat on Nostr? Why not just use Simplex Chat? Why reinvent the wheel?
A common misconception in the Nostr community is that Nostr is not suitable for private things.
"Nothing about any of the protocols we’ve developed requires centralization; it’s entirely possible to build a federated Signal Protocol-based messenger, but I no longer believe that it is possible to build a competitive federated messenger at all." — Signal Founder Moxie https://signal.org/blog/the-ecosystem-is-moving%C2%A0
This is because the encryption process is completed on the client side, and relays only pass the encrypted messages.
Keychat and Simplex Chat both use the Signal protocol to encrypt messages, so both meet the following security requirements 1-4:
Anti-Forgery
Anti-Forgery ensures that the sender of a message is verifiable and the message has not been tampered with.
End-to-End Encryption
End-to-end encryption ensures that only the sender and receiver can decrypt and read the message content, protecting it from unauthorized access by servers or other network devices.
Forward Secrecy
Forward secrecy ensures that even if the current key is compromised, historical messages cannot be decrypted, since each message uses a new encryption key, which is deleted after use.
Break-in Recovery
Break-in Recovery ensures that if the current key is compromised, future messages cannot be decrypted, and the system can recover from the attack. This feature is also known as backward secrecy.
Metadata Privacy
Protecting the privacy of communication involves more than just protecting the content of messages; it also includes protecting the identities of the communication parties and other data.
Regarding the fifth point, metadata privacy. The designs of Keychat and Simplex Chat are different.
Simplex’s metadata privacy protection scheme
"Simplex chat is the first messenger without user IDs."
“To deliver messages, 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.”
“Temporary anonymous pairwise identifiers
SimpleX uses temporary anonymous pairwise addresses and credentials for each user contact or group member.
It allows to deliver messages without user profile identifiers, providing better meta-data privacy than alternatives.”
We can understand this mechanism as, if a Simplex Chat user has 10 friends, they have 10 IDs, using different IDs with different friends?
Keychat’s metadata privacy protection scheme
Current chat applications and email have forgotten that an address is not the same as an ID, treating the ID as the address. Emails and current chat applications send messages as [from: Alice's ID to: Bob's ID]. Regardless of how your geographical address changes, when Alice sends an email to Bob, it’s always [from: Alice's ID to: Bob's ID]. This compromises metadata privacy.
However, letters work differently; they are [from: Alice's current geographical address to: Bob's current geographical address].
Keychat separates the receiving address and sending addresses from the ID, and the receiving address and sending addresses are also different. Keychat messages are [from: Alice's one-time sending address to: Bob's almost one-time receiving address]. This makes it difficult for outsiders and relay administrators to determine who is sending messages to whom.
Which scheme do you think is easier to understand and better protects metadata privacy?
Finally, Keychat also uses ecash sat as a stamp for messages, with relays funded by stamp revenue to sustain operations.
Keychat
npub1h0uj...rwx8
Keychat is the super app for Bitcoiners.
Sovereign IDs, Bitcoin Wallet, Secure Chat, Mini Apps — all in Keychat.
Sovereign. Security. Richness
Contact us for feedback 👇
https://www.keychat.io/u/?k=npub1h0uj825jgcr9lzxyp37ehasuenq070707pj63je07n8mkcsg3u0qnsrwx8
The new version of Keychat, v1.16.1, is now available for download.
Users can now generate multiple IDs with a single seed phrase.
View quoted note →
GitHub
Releases · keychat-io/keychat-app
Keychat is the super app for Bitcoiners. Autonomous IDs, Bitcoin ecash wallet, secure chat, and rich mini apps — all in Keychat. Autonomy. Securi...
View quoted note →Bitcoin is the Internet’s native money.✌️ View quoted note →
There is an ongoing discussion about the sustainability of relay operations; here are our thoughts. View quoted note →
Keychat not only draws design inspiration from the postal system but also from Bitcoin wallets.
1.
Bitcoin wallets use a seed phrase.
Similarly, Keychat uses a seed phrase.
2.
Bitcoin allows users to maintain multiple wallets, enhancing privacy.
Similarly, Keychat users can have multiple IDs, enhancing privacy.
3.
Bitcoin wallet users can use their own Bitcoin node.
Similarly, Keychat users can use their own Nostr relay.
4.
Bitcoin wallets do not reuse addresses and continuously update their receiving addresses for better privacy.
Similarly, Keychat continuously updates its receiving and sending addresses to protect metadata and enhance privacy.
5.
Sending Bitcoin requires a transaction fee, which prevents spam and increases miner income. Especially as block rewards diminish over time, transaction fees will become the primary source of income for miners, allowing mining operations to continue sustainably.
Similarly, sending Keychat messages requires ecash sat stamps, which prevent spam and generate revenue for relay operators, enabling long-term operations. View quoted note →
1/N
Keychat's one-on-one chats meet the five requirements mentioned in the note below.
When designing its group chat features, Keychat prioritizes meeting these same five requirements as much as possible, rather than focusing on supporting a larger number of group members.
Keychat now offers a "small group" feature, which is intended for a limited number of participants.
When a group member sends a message within a small group, they are essentially sending an individual one-on-one message to each participant.
This method simulates a group chat through multiple one-on-one private chats.
Consequently, it almost retains the security features of one-on-one chats and meets the aforementioned five requirements. View quoted note →
Secure messaging needs to meet these five requirements as much as possible:
1. Anti-Forgery
Anti-Forgery ensures that the sender of a message is verifiable and the message has not been tampered with.
2. End-to-End Encryption
End-to-end encryption ensures that only the sender and receiver can decrypt and read the message content, protecting it from unauthorized access by servers or other network devices.
3. Forward Secrecy
Forward secrecy ensures that even if the current key is compromised, historical messages cannot be decrypted, since each message uses a new encryption key, which is deleted after use.
4. Break-in Recovery
Break-in Recovery ensures that if the current key is compromised, future messages cannot be decrypted, and the system can recover from the attack. This feature is also known as backward secrecy.
5. Metadata Privacy
Protecting the privacy of communication involves more than just protecting the content of messages; it also includes protecting the identities of the communication parties and other data. View quoted note →
Who will pay the bill, the relay operator or the user? View quoted note →
Keychat encourages users to use as many trusted Cashu mints as possible.
Users can add an unlimited number of Cashu mints on Keychat.
Keychat encourages relays to accept as many trusted Cashu mints as possible.
View quoted note →
View quoted note →It is indeed quite challenging.
But ecash sat and LN sat give Keychat superpowers that other chat app do not have, allowing it to provide services that other chat app cannot achieve.
We are still in development. View quoted note →
Thanks for testing.
This time, we have ecash sat and Lightning Network sat as our weapons, so this is not a war we are destined to lose. View quoted note →
- instant messenger with perfect forward privacy
We already have an instant messenger with perfect forward privacy. View quoted note →
Keychat users can choose which relays to use. They can also choose not to use Keychat relays at all.
Relays can charge for stamps, but they can also operate for free, although free relays often have other restrictions, such as proof-of-work requirements for messages and frequency limits.
Relays decide which ecash sats issued by mints can be used as stamps.
If a user uses ecash sats issued by a mint that the relay trusts, the relay receives the ecash sats and forwards the message.
When a relay accumulates a certain amount of ecash sats, the relay requests the mint to convert these ecash sats into Lightning Network sats.
If a user uses ecash sats from a mint that the relay has not previously encountered, the relay first receives the ecash sats and then attempts to convert them into Lightning Network sats.
If the conversion is successful, the new mint can be temporarily considered trustworthy, and the message continues to be forwarded.
If the conversion is not successful, the new mint is added to a blacklist, and the message is not forwarded. 
