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 | 強力なスパム耐性 |
ユースケース
- リレー入場:リレーがイベント受け入れに最小PoWを要求できる
- レート制限:アカウント登録などのアクションに高い難易度を設定
- スパムフィルタリング:クライアントがフィードで高PoWイベントを優先できる
- 評判のブートストラップ:新規アカウントがPoWを通じてコミットメントを示せる
制限
- 強力なハードウェアを持つユーザーに有利
- エネルギー消費の懸念
- すべてのスパムを防ぐわけではなく、コストを上げるだけ
関連
- NIP-01 - 基本プロトコル