I am not aware of a "multitude of specs." I know of three.
1. NIP-04, which should only be used with auth relays, due to the metadata it leaks about both sender and receiver.
2. NIP-17, which definitely has the shortcoming of being unable to filter DMs based on who the sender is, since the metadata with sender info is hidden. More private, but yes, more susceptible to spam without some other mitigating factor.
3. NIP-EE, which uses MLS and may well be the future of DMs and group messages, but is not yet ready for prime-time.
There are a couple clients that are doing a bit of their own thing, too, like @Keychat, but that's outside of any NIPs that I am aware of.
As far as whether I find any problems with your argument, only a couple. First, you already identified why it will never happen. Users expect to be able to DM for free. Requiring payment to send a DM is a fantastic way to reduce spam, but only if users are on-board with it.
I also don't think it would result in a convergence on a particular spec. If anything, I think it would result in more fighting about it. You would have folks like us on one side, shouting about how requiring paid "postage" is the most effective way to reduce spam, especially if users themselves can set the amount of postage required to DM them, while others would be shouting about how making people pay for things is a barrier to adoption, and stubbornly keeping DMs in their clients free for everyone.
Heck, Keychat is already an example of a client that has MLS-based DMs with paid postage, yet its existence hasn't resulted in every other client converging on that spec, because most users simply don't want to pay to send a DM, even if it would mean they receive less spam.
Login to reply
Replies (1)
Signal and MLS keep state (they ratchet keys every message), so they’re kinda awkward for microblog DMs. For Nostr DMs, it basically comes down to NIP-4 or NIP-17.
Since you can’t know what the other person’s client supports, a tiny DM mini-app could just send both versions—one NIP-4, one NIP-17. Their client opens whichever it understands and they reply like normal. Downside: a separate mini-app isn’t as smooth as hitting “DM” on someone’s profile.
NIP-4 vs NIP-17 vs Signal Protocol vs MLS Protocol
Microblog DMs and standalone chat apps represent different scenarios and application types.
Microblog DMs prioritize multi-device synchronization over enhanced security, while standalone chat apps favor better security over multi-device synchronization.
NIP-4 and NIP-17 are suited for microblog DMs, while the Signal and MLS protocols are ideal for standalone chat app.
NIP-4 and NIP-17:
These protocols are suited for microblog DMs due to their efficient multi-device synchronization, as the encryption key and receiving address remain unchanged. Importing an nsec key allows users to receive and decrypt DM messages, which is ideal for microblog DMs.
However, this same feature becomes a disadvantage for standalone chat apps because it compromises forward secrecy and backward secrecy, and exposes the recipient's identity.
Signal Protocol and MLS Protocol:
These protocols update the encryption key with each message, and the receiving address can also be updated. This feature is best suited for standalone chat apps due to its robust security features.
However, this advantage turns into a disadvantage for microblog DMs due to poor multi-device synchronization capabilities. Simply importing an nsec key is not sufficient to receive and decrypt messages in such scenarios.
NIP-4 vs NIP-17:
Both NIP-4 and NIP-17 do not conceal the recipient’s identity. However, NIP-17 conceals the sender's identity, unlike NIP-4.
Signal Protocol vs MLS Protocol:
The Signal Protocol is best suited for one-on-one chats and small group chats.
The MLS Protocol is ideally suited for large-scale group chats.
View quoted note →