NIP-13 为 Nostr 事件定义了一个工作量证明系统,要求创建事件时付出计算努力,作为防止垃圾信息的机制。

工作原理

工作量证明通过找到具有指定数量前导零位的事件 ID(SHA256 哈希)来证明:

  1. 难度:以前导零位数衡量(例如,20 位 = 平均 2^20 次尝试)
  2. Nonce 标签:事件包含带有 nonce 值和目标难度的 nonce 标签
  3. 验证:relay 和客户端可以快速验证工作已完成
{
  "tags": [["nonce", "12345", "20"]],
  ...
}

难度级别

位数平均尝试次数典型用途
8256最小垃圾信息威慑
1665,536轻度过滤
201,048,576中度保护
2416,777,216强垃圾信息抵抗

重要意义

  • relay 准入:relay 可以要求事件接受的最低工作量证明
  • 速率限制:账户注册等操作要求更高难度
  • 垃圾过滤:客户端可以在信息流中优先显示高工作量证明的事件
  • 信誉引导:新账户可以通过工作量证明展示承诺

其有用特性在于成本不对称。对发送者来说,创建大量可接受的事件变得昂贵,而对 relay 和客户端来说,检查证明仍然很廉价。

权衡

  • 有利于拥有强大硬件的用户
  • 能源消耗问题
  • 不能防止所有垃圾信息,只是提高了成本

工作量证明还将垃圾信息抵抗从账户身份转移到了算力可用性。这在无需许可的环境中有所帮助,但无法区分合法的新用户和资金充裕的垃圾信息发送者。


主要来源:

提及于:

另请参阅: