NIP-72はNostr上のモデレートコミュニティを定義します。コミュニティは、メンバーに表示される前にモデレーターがコンテンツを承認する形で、共有トピックやグループの周りに投稿を整理する方法を提供します。

仕組み

コミュニティは作成者が公開するkind 34550イベントによって定義されます。このイベントにはコミュニティ名、説明、ルール、モデレーターpubkeyのリストが含まれます。イベントは置換可能イベント形式(kind 30000-39999の範囲)を使用するため、コミュニティ定義は時間とともに更新できます。

{
  "kind": 34550,
  "tags": [
    ["d", "example-community"],
    ["name", "Example Community"],
    ["description", "A community for discussing examples"],
    ["p", "<moderator_pubkey>", "", "moderator"],
    ["relay", "wss://relay.example.com", "moderator"]
  ],
  "content": "",
  "pubkey": "<creator_pubkey>",
  "created_at": 1742860800,
  "sig": "<signature>"
}

ユーザーはコミュニティ定義を指すaタグで自分のイベントにタグ付けして投稿を送信します。これらの投稿はまだコミュニティの読者には表示されません。モデレーターが投稿をレビューし、承認された場合、元の投稿をラップするkind 4549の承認イベントを公開します。コミュニティを表示するクライアントは、認識されたモデレーターからの対応する承認イベントがある投稿のみを表示します。

この承認モデルは、コミュニティが読み取りフィルタリングされることを意味し、書き込み制限されるわけではありません。誰でも投稿を送信できますが、承認された投稿のみがコミュニティフィードに表示されます。モデレーターは基盤となるデータのゲートキーパーではなく、キュレーターとして機能します。

考慮事項

承認イベントは独立したNostrイベントであるため、モデレーション判断は透明で監査可能です。あるコミュニティで拒否された投稿も、別のコミュニティで承認される可能性があります。同じコンテンツが独立したモデレーションを持つ複数のコミュニティに存在できます。

Relayのサポートはコミュニティ機能にとって重要です。クライアントはコミュニティ定義と承認イベントの両方をクエリする必要があり、これらのイベントkindを効率的にインデックスするrelayが必要です。


主要ソース:

掲載号: