The solutions you mentioned for mitigating the issue of NIP-17 exposing the recipient's identity do not completely solve the problem. A better solution would be to automate the updating of the recipient's address. nostr:note1ck7kjmlmcfwjl6cp4wwne9nneg2nzw484w4l3gwrjjhlysjvcxjq5tx62j
NIP-17 exposes the recipient's identity and lacks both forward and backward secrecy. However, its advantage lies in better multi-device synchronization capabilities. Because the encryption key and receiving address remain unchanged, users can receive and decrypt all messages simply by importing their nsec. NIP-17 is designed for DM in microblogging applications, not as a standalone chat application. It prioritizes multi-device synchronization over enhanced encryption security. This is not a flaw, as it has suitable application scenarios.
Nothing completely solves the problem since any app will always have to ask the relay or a server for messages that match a given query. That query is the public identifier of the user and can be simply traced over time and mapped out with IP and other actions in the protocol.
You are mixing up issues from different layers.
Yep, because the reality includes all these layers. And they break each other constantly. You can't truly claim any privacy without considering all these layers combined.
If we can solve an issue on a specific layer, such as the metadata privacy of recipients and senders at the application layer, that is definitely progress. IP issue is a network layer issue and needs to be resolved at the network layer. Moreover, the solution to the recipient's metadata privacy issue is the same as the solution for the sender's metadata privacy issue: both are addressed by continuously updating addresses.
Sure, it's progress. But if you have progress in one, but doesn't solve the other layer, you can't claim being better. Sorry. I have seen too much of these BS with "private" comms in the last 20 years. people love to fool users into more complicated stacks and then leaving IP all there to be fully traced by servers.