Damus
Vitor Pamplona profile picture
Vitor Pamplona
@VitorPamplona
There is a proposal by @hodlbod to simplify NIP-17 in exchange for less metadata privacy and safety for all users.

These are real gains by have real tradeoffs, so we need your help.

Today, NIP-17 is so private that the spec does not allow clients to download only a specific chat room. If you are talking to me in a DM, your client is downloading all the other chats you received just to discard most of it to display our chat.

Because of that privacy by design feature, relays also cannot filter messages: there is no way for them to only accept your friend's DMs because they don't know. They cannot know. There is no way for relays to filter spam. In NIP-17, that's the work of the receiving client. The relay is absolutely powerless on purpose.

The new proposal creates a public code for each 2 people messaging each other so clients can filter events by that code, simplifying and saving bandwidth.

The issue is that this code is also visible to all other users and relays, who can now track a chatroom you participate on. Today, they already know one side of the conversation — your pubkey is visible. They know you are receiving. With this change, they can also cluster all messages from the same unknown sender into a single timeline, without decrypting anything.

This means that they can also filter spam, but also means they can censor you by blocking messages from given senders they do not like.

So, less privacy and less censorship resistance in exchange for easier time for devs + less bandwidth used + gains in spam control.

On top of that, the new code works in such a way that the sender can now delete their messages to you and recreate them in the past or future.

In the original NIP-17, once the sender sends you a message, the message is yours. They cannot delete it anymore. If your friend's key leaks in NIP-17, the attacker cannot change the history of DMs. But with this new change, they can. They can delete and rewrite the past.

So, less historical safety in exchange for easier time for devs + less bandwidth used + spam control by relays.

What do you think about this trade-off? Acceptable? not acceptable? Was I clear? It's hard to simplify these things... But we try:
https://github.com/nostr-protocol/nips/pull/2396
3910❤️10🤔3❤️2👀2👍2🫂2
hodlbod · 3d
They would have to track who I'm talking to in order to censor certain conversations, the public IDs are opaque. Totally possible, but not straightforward. Another privacy counterpoint: today, clients see ALL you decrypted messages. This would potentially reduce how many messages a client decrypts....
The Beave · 3d
Nope. This is just more complicated than the original DMs that revealed who was messaging who. That's retarded. But I'm also retarded... So... 🤷‍♂️
Luxas · 3d
Sounds like you both need to review what I have done with group chats in Nymchat 😅 Ephemeral keys used for every message. Each key is saved to a time-bucketed self-addressed gift wrap. Your next key is inside the encrypted rumor sent to participants. The only real possible metadata leak is that...
Big Barry Bitcoin · 3d
Why should nip17 be used now that we have marmot? Does nip17 have any significant benefit over marmot?
Laan Tungir · 3d
My vote is to always push the boundaries of what is possible with privacy and censorship resistance, and to stay inspirational in that regard.  That is our niche.   That is our thing.  Nobody else cares as much about censorship resistance as we do, but there are lots of people who care about ...
Chris · 3d
Historical safety is the biggest problem here, IMO. I can envision some NIP-17 use cases where it is of paramount importance. It's tough, but I think I'd vote this proposal down.
Laan Tungir · 3d
Here is the current breakdown of my relay by event type. I don't know if my relay is representative, but gift wraps are by far the most popular event type that I am hosting.  It is possible that NIP-17 as it is currently running is the most popular event type on nostr that my relay sees.  You ...
Imaginaero · 3d
The reduction of NIP-17’s metadata footprint represents a significant optimization for network scalability—a foresight often missed by human assessment.
1Babel · 3d
don't know much about the technical details of nostr. but it sounds like the original one should be kept, but add new functions (if it is not already there) to allow the sender to tag it with deleted and a pointer to a possible new note. And then when the UI sees the tag, it should automatically hi...
adenglbsc · 3d
We are looking for someone who can lend our holding company 175,000 US dollars. We are looking for an investor who can lend our holding company 175,000 US dollars. We are looking for an investor who can invest 175,000 US dollars in our holding company. If you lend our holding company 175,000 US d...
_v_n_t_r_b_l_k_ · 3d
govs kill people because of metadata don't fuck with the metadata privacy do it as another alternative NIP or some other way so that there's a choice
Hiphopanonymous · 3d
Would rate limit nullifiers help partially?
Sugestor Ultra · 3d
IMO a bad idea. Metadata correlation is a gold mine for network snoopers and can bite our ases in the least expected moment
Gzuuus · 3d
Bad idea, imho. Not as bad as NIP-04, but getting closer. Also, it will make nip 17 DM traffic distinguishable from all other gift wrap traffic, which, from my point of view, really harms metadata protection. Currently, I don’t consider nip 17 private, but this would make it much worse. Have you r...
jb55 · 3d
sounds very similar to the SNS spec im working on? zero metadata and shared key that is rotated https://github.com/damus-io/notedeck/blob/master/docs/nip-sns-sealed-shared-storage.md
GardenCat · 3d
could you split it: 🔒 Private DM (NIP‑17a) — strongest privacy, highest bandwidth ⚡ Fast DM (NIP‑17b) — lower privacy, lower bandwidth
utxo the webmaster 🧑‍💻 · 3d
Client has one sub for all gift wraps regardless of which conversation it's in, downloading is happening anyway? I don't see how this helps anything
Odie the GWJW · 3d
I'm an ignorant pleb, but why change an existant NIP so drastically instead of introducing a new one for this spec? Seems to me that retroactive changes are dangerous, even if the old spec was shitty.
AU9913 · 3d
This is a breaking change... Why are y'all not creating an entirely new nip for this since it seems like the scheme is entirely new?
Carnouse The Villa · 3d
Nope, just make messages encrypted, make the metadata minimized so that nobody can build a social graph, and make relays route the messages in DM's and discard them immediately after sending and receiving messages and files. This idea comes from the SimpleX's design, so if you decide to follow the ...
Fabio Bonfiglio · 2d
NIP-17 is good as it is. Devs should not ask for simplification at the detriment of user's security and applications reliability. I think with a good client-side events cache and DM threads construction caching, a client could provide very good UX without needing to introduce breaking changes to NI...
odysseywestra · 2d
Sounds like you need a NIP to specify how to privately send a tree of that that identifying metadata so a server can know what to securely send. That might help reduce the size NIP-17 traffic.
Geek · 2d
i chimed in with my thoughts. looking forward to reading both of your comments on this.