NIP-704 ====== Key derivation for Encrypted Direct Messages ----------------------------------- `draft` `optional` `author:motorina0` This NIP defines a way for two clients to derive `one-use-only` keys for sending and recieving `kind:4` events. ## Motivation The content of `Direct Messages` (NIP-04)[https://github.com/nostr-protocol/nips/blob/master/04.md] is encrypted, but everyone can see who is chatting with whom. This is far from ideal from a privacy perspective. ## Suggestion For the maximum of privacy the two participants of a `Direct Message` exchange SHOULD use a different public key for each `kind:4` event. This means that each participant has to: - build a `direct message top key` from which it will derive keys to send and keys to recieve (listen for) `kind:4` events - share this `direct message top key` with its DM peer Each client has a `master` key (denoted with `m`). This key can be the profile `nsec...`, but it is not mandatory. ## BIP32 purpose [https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki](BIP32) is used to derive the paths. This NIP defines purpose `25709` (`dm` -> `0x646d` -> `25709`) for deriving `Direct Messages` related keys. `m/25709'/1237'/[']`