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. Moot in terms of trust with a client, but it does reduce how much plaintext gets slung around.
The biggest benefit to this IMO you didn't mention, which is UX — downloading and decrypting 100s of messages in the background tanks user bandwidth usage, battery usage, and perceived performance.
Otherwise, good points.
Login to reply
Replies (2)
I listed the UX gains as well. I just don't think they matter that much for clients that can correctly paginate by time. They will need to assemble the other chats anyway.. so... downloading the extra rooms in the same time-window, to me, is not that big of a deal.
DMs aren't used all that much right now, and maybe clients could only request all DMs within the last X amount of time by default to reduce the amount of bandwidth, only requesting older DMs if the user scrolls up and requests to "load previous" or "search for previous." That would help with the bandwidth considerations.
The benefits for spam mitigation is what I am more interested in. Maybe not a terrible tradeoff.
Are we basically admitting that NIP-17 DMs are the best we're going to get for the time being, and we should just make them as good as they can be. I know there have been some struggles getting MLS to play nice with Nostr, especially for group chats.
I think I more or less understand how your proposal would work, as @Vitor Pamplona explained it. I assume that since you still don't see the pubkey of the sender, each side of a given conversation would have its own public conversation code?