NIP-13:工作量证明
NIP-13 为 Nostr 事件定义了一个工作量证明系统,要求创建事件时付出计算努力,作为防止垃圾信息的机制。
工作原理
工作量证明通过找到具有指定数量前导零位的事件 ID(SHA256 哈希)来证明:
- 难度:以前导零位数衡量(例如,20 位 = 平均 2^20 次尝试)
- Nonce 标签:事件包含带有 nonce 值和目标难度的
nonce标签 - 验证:中继和客户端可以快速验证工作已完成
{
"tags": [["nonce", "12345", "20"]],
...
}
难度级别
| 位数 | 平均尝试次数 | 典型用途 |
|---|---|---|
| 8 | 256 | 最小垃圾信息威慑 |
| 16 | 65,536 | 轻度过滤 |
| 20 | 1,048,576 | 中度保护 |
| 24 | 16,777,216 | 强垃圾信息抵抗 |
用例
- 中继准入:中继可以要求事件接受的最低工作量证明
- 速率限制:账户注册等操作要求更高难度
- 垃圾过滤:客户端可以在信息流中优先显示高工作量证明的事件
- 信誉引导:新账户可以通过工作量证明展示承诺
限制
- 有利于拥有强大硬件的用户
- 能源消耗问题
- 不能防止所有垃圾信息,只是提高了成本
相关
- NIP-01 - 基础协议