https://www.keychat.io/ Keychat is a chat app, built on Bitcoin ecash, Nostr protocol and Signal protocol. Keychat is inspired by the postal system — stamps, post offices, letters. Keychat uses Bitcoin ecash as stamps and Nostr relays as post offices. Keychat uses Signal protocol to ensure message encryption security and meta-data privacy
This looks very neat!!
We are pleased to find a very good 【prototype】; people can easily understand the postal system, which allows them to comprehend ecash as e-stamps, Nostr relays as post offices, and the necessity for messages themselves to be end-to-end encrypted. Messages need to continuously update the recipient and sender addresses.
you are Chinese developers? i feel I can read that in your English. who is backing you guys? very very nice and clean and sophisticated looking project.
Soon ™️
When you say ecash, do you mean Cashu? If so, I think we're on the right path. 🥜🫡
Yes, of course 😉
Legend. Looking forward to what you guys are working on.
I'll take it as a sign that we're on the right path when people say "ecash" and they actually mean Cashu 🧡🫡🥜 Upgrading Bitcoin and Nostr apps with privacy-preserving instant and reliable payments, one by one. nostr:nevent1qqsplc8amwug0u9a0wlyxk0wr3l6v0nugpff3k5qg5ph0s323z9qmsgpz4mhxue69uhkummnw3ezummcw3ezuer9wchsygrlyvc44qtk7064w4v43wevqwyprsne3dm6a3ghmcpwm79n6f59pupsgqqqqqqsyntucf
but unlike satoshi people developing this stuff are not anonymous and will be arrested or god knows what
Okay okay, hang on - Why do you think the usage of "ecash" means we're on the right path, when there are at least 2 different implementations of it on Bitcoin alone? I personally have used ecash, but equally have become aware as time goes that we may need to, very much unfortunately, use 2 different terms instead otherwise it WILL cause confusion when I want to pay someone or receive payment. If only it was possible for cashu and fedimints to be interoperable, then ecash would be the defacto term to use, but it doesn't seem like that'll be true given the4 circumstances.
Coming when ? Can you add an email subscribe to be notified when it’s out please
@Dan Are you building keychat? If so, I'd love to chat with you abot how you're implementing the Signal protocol. I have an open PR on the NIPs repo right now to bring Signal like double ratchest to Nostr. https://github.com/nostr-protocol/nips/pull/1206
Hi Jeff. About message encryption, Nostrat fully reuses the Signal protocol (X3DH + double ratchet) and reuses libsignal. First, let's return to the mechanism of the Signal app. The Signal app uses phone numbers as user IDs. When Alice downloads the Signal app and knows Bob's phone number, she adds Bob as a Signal friend by entering Bob's phone number in the Signal app. The Signal server then returns the following data associated with Bob's phone number: Bob's identity key IKB, Bob's signed prekey SPKB, Bob's prekey signature Sig(IKB, Encode(SPKB)), (Optionally) Bob's one-time prekey OPKB. Alice then combines this with her own identity key IKA and her ephemeral key EKA to complete the X3DH operation, and then initiates the double ratchet algorithm to start encrypting messages. When Bob receives the message, he can also initiate the double ratchet to decrypt the message. Let's now assume that Alice and Bob have both downloaded Keychat and want to communicate using it. Bob displays his QR code, which contains his Nostr key and Signal-related keys. Alice scans it. Alice can then complete the X3DH operation and start the double ratchet encryption. It can be said that Keychat, unlike Signal, does not use a server to pass the related Signal keys. Keychat treats the Nostr key as a phone number. If Alice only knows Bob’s Nostr key, she can send a special NIP4 message to retrieve Bob’s related Signal keys.
Sure that all makes sense. I just wrote NIP-104 basically codifying that into the spec. Just curious how your implementation is done. Is your code open source somewhere? Would love to have a look. Have you looked into syncing on multiple devices yet?
Code will be released soon. Keychat doesn’t support syncing on multiple devices. Every device has its own ID. And those devices can communicate through group chat. It’s very hard to support syncing for double ratchet algorithm. More difficult in conditions there is no coordination server.
Give me apkkkkk
Since this is using Signal, will it require a central coordinator?