From 282f3c1ab8ded2cc9d4521b40f7762715eff8824 Mon Sep 17 00:00:00 2001 From: threeseries <132516137+threeseries@users.noreply.github.com> Date: Tue, 9 May 2023 11:22:06 -0500 Subject: [PATCH] Update 103.md --- 103.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/103.md b/103.md index 4d865e2..14ed047 100644 --- a/103.md +++ b/103.md @@ -10,7 +10,11 @@ This NIP defines a kind 16 event which is a kind 4 event (see [NIP-04](04.md) wh # Motivation and usage -It's well-known that direct message metadata is public on nostr since everyone can see who is messaging whom and when. One solution to this problem is for the entire event including its metadata to be encrypted before being sent. This outer event can be encrypted and signed with a random key pair, thus hiding the true sender of the direct message. On receiving a kind 16 event the client should decrypt both the outer and inner content, displaying the decrypted inner content to the recipient. +It's well-known that direct message metadata is public on nostr since everyone can see who is messaging whom and when. One solution to this problem is for the entire event including its metadata to be encrypted before being sent. This outer event can be encrypted and signed with a random key pair, thus hiding the true sender of the direct message. + +Alternatively, one can encrypt the kind 16 with one's own key pair and send to an intermediate pubkey which is responsible for forwarding the message on to the final recipient. This too would provide anonymity as long as the intermediate pubkey is receiving messages from different users, and effort is made to remove correlation based on timing. + +On receiving a kind 16 event the client should decrypt both the outer and inner content, displaying the decrypted inner content to the recipient. # Example: @@ -33,7 +37,7 @@ A kind 4 event: } ``` -After wrapping in kind 16 with a random key pair: +After wrapping in kind 16 with another key pair: ```json {