NIP-17は送信者のプライバシーのためにNIP-59のgift wrappingを使用したプライベートダイレクトメッセージを定義します。送信者が公開されるNIP-04 DMとは異なり、NIP-17メッセージは誰がメッセージを送信したかを隠します。受信者は外側のgift wrapで見えます。

仕組み

メッセージは複数の暗号化層でラップされます:

  1. 実際のメッセージコンテンツ(kind 14)
  2. コンテンツを受信者に暗号化するseal
  3. 送信者のアイデンティティを隠すgift wrap

外側のgift wrapはランダムな使い捨てキーペアを使用するため、リレーや観察者は誰がメッセージを送信したかを判断できません。

メッセージ構造

  • Kind 14 - 実際のDMコンテンツ(sealの内部)
  • コンテンツにNIP-44暗号化を使用
  • DM会話内のリアクション(kind 7)をサポート

プライバシー保証

  • リレーは送信者を見ることができない(gift wrapの使い捨てキーペアで隠される)
  • 受信者は見える(gift wrapのpタグ内)
  • メッセージのタイムスタンプはウィンドウ内でランダム化される
  • リレー上で可視のスレッディングや会話グループ化がない

NIP-04との比較

NIP-04 DMはコンテンツを暗号化しますがメタデータは公開されたまま:

  • 送信者pubkeyは公開
  • 受信者pubkeyはpタグ内
  • タイムスタンプは正確

NIP-17はより複雑な実装を犠牲にして送信者を隠します。


主要ソース:

言及箇所:

関連項目: