NIP-13:工作量证明
NIP-13 为 Nostr 事件定义了一个工作量证明系统,要求创建事件时付出计算努力,作为防止垃圾信息的机制。
工作原理
工作量证明通过找到具有指定数量前导零位的事件 ID(SHA256 哈希)来证明:
- 难度:以前导零位数衡量(例如,20 位 = 平均 2^20 次尝试)
- Nonce 标签:事件包含带有 nonce 值和目标难度的
nonce标签 - 验证:relay 和客户端可以快速验证工作已完成
{
"tags": [["nonce", "12345", "20"]],
...
}
难度级别
| 位数 | 平均尝试次数 | 典型用途 |
|---|---|---|
| 8 | 256 | 最小垃圾信息威慑 |
| 16 | 65,536 | 轻度过滤 |
| 20 | 1,048,576 | 中度保护 |
| 24 | 16,777,216 | 强垃圾信息抵抗 |
重要意义
- relay 准入:relay 可以要求事件接受的最低工作量证明
- 速率限制:账户注册等操作要求更高难度
- 垃圾过滤:客户端可以在信息流中优先显示高工作量证明的事件
- 信誉引导:新账户可以通过工作量证明展示承诺
其有用特性在于成本不对称。对发送者来说,创建大量可接受的事件变得昂贵,而对 relay 和客户端来说,检查证明仍然很廉价。
权衡
- 有利于拥有强大硬件的用户
- 能源消耗问题
- 不能防止所有垃圾信息,只是提高了成本
工作量证明还将垃圾信息抵抗从账户身份转移到了算力可用性。这在无需许可的环境中有所帮助,但无法区分合法的新用户和资金充裕的垃圾信息发送者。
主要来源:
提及于:
另请参阅: