damus-io / damus

iOS nostr client
GNU General Public License v3.0
1.96k stars 289 forks source link

private DM via double ratchet #2258

Open alltheseas opened 1 month ago

alltheseas commented 1 month ago

https://damus.io/note1a7fyrgd542lu3gzykfwfwx54pdvdfzcj9uyd5wf4hcqekmgzq82q8j8dsq

via @erskingardner

E2EE DMs are coming to Nostr 🔒

After being nerd sniped by hearing NVK 🌞⚡️ mention OTR for the millionth time on the Bitcoin Review podcast, I spent the last few weeks digging into OTR, the Signal protocol, and a grab-bag of other cryptography.

The end result is that I (am pretty sure at least) that I found a way to do E2EE (end-to-end encrypted) DMs on Nostr in a way that is both forward and post-compromise secure AND doesn't require any centralized servers.

Demo video: https://share.cleanshot.com/nMKk6cn0

Live demo app: https://drdm-demo.vercel.app/

And finally, the NIP (for those of you with bikes in need of a shed): https://github.com/nostr-protocol/nips/pull/1206

Huge thanks to Max Hillebrand and @PABLOF7z for the chats while I worked out the details.

alltheseas commented 1 month ago

can above mechanism be used to improve zap privacy @jb55 ?

jb55 commented 1 month ago

private zaps are quite private already