Skip to content

Instantly share code, notes, and snippets.

@AsaiToshiya
Last active December 1, 2023 14:28
Show Gist options
  • Save AsaiToshiya/2f0ba90167d1841e37206194e05f8dc4 to your computer and use it in GitHub Desktop.
Save AsaiToshiya/2f0ba90167d1841e37206194e05f8dc4 to your computer and use it in GitHub Desktop.
ANIP-01: 簡易的な非公開メモ

ANIP-01

Note

Asai's NIP

簡易的な非公開メモ

draft optional

この ANIP は、content を暗号化して kind: 1 テキスト メモを簡易的に非公開にする方法を定義します。

Note

「anything the user wants to say」ではなくなる。

Note

別の kind に分けるべき?

Note

nostr-protocol/nips#898 (comment)

This would be an unnecessary abstraction that would just add complexity for no gain. We have enough kinds to have different functionality segregated in different events and clients to implement just the parts they want.

NIP-51 のプライベートなフォロー セットNIP-87 の Access Requests と組み合わせることで、非公開アカウントを実現することができます。

Note

多分。

暗号化鍵

暗号化鍵は、content を暗号化/復号化するための鍵です。任意の方法で共有することができます。

暗号化

暗号化鍵の秘密鍵とユーザーの公開鍵を使用して、NIP-04content を暗号化します。tagsencrypted タグを追加します。

{
  "content": "knRMQiM3eY/mD6nchn49pA==?iv=zdavs98esfnTmOrMIKK6eg==",
  "tags": [
    ["encrypted"]
  ],
  ...
}

Note

暗号化鍵の公開鍵を encrypted タグの値として指定できるようにすると、暗号化鍵を選択できるようになる。

復号化

encrypted タグが存在するメモに対して、NIP-04content を復号化します。共有シークレットは暗号化と同じです。

セキュリティー警告

  • 暗号化鍵の漏えいに対して脆弱です。
  • メタデータは公開されます。

ライセンス

パブリック ドメイン

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment