Nostr
整理 发布时间:2026-07-14 | 更新时间:2026-07-14

Nostr(Notes and Other Stuff Transmitted by Relays)
读音/ˈnɒstər/,是一套私密的去中心化的 IM 消息系统。

消息格式#

  • id:事件哈希,唯一标识,SHA256(0, pubkey, created_at, kind, tags, content)
  • pubkey:发布者公钥(身份)
  • created_at:时间戳
  • kind:事件类型(0 = 元数据、1 = 短文本、3 = 关注列表等,由 NIP 定义)
  • content:内容(文本 / JSON / 任意数据)
  • sig:secp256k1 私钥对 id 的签名(防篡改)

消息加密#

NIP-04#

Encrypted Direct Message (deprecated in favor of NIP-17)
消息加密(指定收件人场景)

  • AES key = ECDH(我的私钥, 对方公钥)
  • 发送内容为:iv + 我的公钥 + AES 加密内容

ECDH 为密钥交换算法,见现代加密算法

NIP-44#

Encrypted Payloads (Versioned),
生成临时公私钥用于加密而不是只使用发布者的公私钥,是一种更安全的通信加密方式。

  1. 生成临时私钥和临时公钥

    ss1 = ECDH(长期私钥, 对方公钥)
    ss2 = ECDH(临时私钥, 对方公钥)
    AES key = SHA256(ss1 + ss2)

  2. 发送内容为:iv + 长期公钥 + 临时公钥 + 加密内容
  3. 接收者解密

    ss1 = ECDH(我的私钥, 对方长期公钥)
    ss2 = ECDH(我的私钥, 对方临时公钥)
    AES key = SHA256(ss1 + ss2)

References#


techunder_official 关注「Techunder技术人文」微信公众号,获取最新文章通知

版权所有 © 2026 Techunder (Guanhua Liu) | Copyright All Rights Reserved | 电子邮箱 Email:techunder@163.com

粤公网安备44060502004200号   粤ICP备2026007783号