-
![](https://cdn.nostrcheck.me/6bcc27d284f7b10c0ec4252ac90d37b3aaeb30a53fadf2ce798d7d47b67d296e/a3fdffbe8cd8ed05bfb06c74eba0435ccde50ba2ada3fea5416e645af1876406.webp)
@ yugo
2025-01-19 04:53:01
NIP-28 と NIP-29 はどちらも「特定の集まりに向けたチャット機能」を提供する点では似ているが、根本的に異なるのは「参加や閲覧に制限がない誰でも書き込める公開チャンネル(NIP-28)」か「メンバーシップや権限・ロールを管理できるグループ(NIP-29)」かというところだ。
以下の3点に分けて説明する。
1. 参加や書き込みの自由度
2. 管理やモデレーションの主体
3. ユースケース
参加や書き込みの自由度
- NIP-28は誰でも書き込める設計
- Public Chatはその名の通りパブリックであることが前提で、メンバーシップの概念もない。参加や閲覧に制限がないため、誰でも自由に書き込むことができる。
- NIP-29はロールやメンバーシップがある
- NIP-29にはメンバーシップや権限管理(ロール)の概念があり、書き込むにはグループに参加する必要がある。
- 公開/非公開、オープン参加/承認制などの設定をリレー側で柔軟に切り替えられる。そのため、publicタグを設定すれば読むだけは誰でもできるようにする一方でclosedの場合は書き込みに承認が必要…といった柔軟なルール設定ができる。
- また、管理者によるユーザーの追加・削除 (kind:9000, kind:9001) や、リレー自身によるグループ設定 (kind:39000 など) がある。Telegram や Slack の「特定メンバーだけ書き込める」「管理者が追加や除名を行う」ようなイメージ。
管理やモデレーションをリレー/クライアントのどちらで行うか
- NIP-28: クライアント側で軽微なモデレーションを行う
- NIP-28では、リレーはあくまで Nostr イベントを中継しているだけで、メッセージを消す・投稿者を締め出す等の強制管理は想定していない。
- そのため、リレー側が強制的に検閲するわけではなく、クライアントが主にモデレーションを実行する。
- 例えば、Kind 43(Hide message)や Kind 44(Mute user)を使って「誰のメッセージを隠すか/どのユーザーをミュートするか」をユーザー単位・クライアント単位で制御することができ、コンテンツの見え方をコントロールするのはクライアントとユーザーの自由度が高い。
- NIP-29: リレーがグループを管理する
- 逆に、NIP-29はリレーがグループのルールを保持し、それに違反する投稿をブロックしたり、参加ユーザーを追加・除名したりする仕組みがある。
- 複数のリレーに同じグループが存在する(フォークされる)ケースもあり得るが、どのリレーも独自に「このグループ ID ならこういうルール」と管理を行うことが可能。
- そのため、「どの pubkey(ユーザー)が投稿可か」や「グループ名・メタデータ・管理権限はどうなっているか」をリレーのルールで厳密に管理・制御することができる。
- 未管理(unmanaged)状態も許容
リレーが NIP-29 を実装していなくても"unmanaged"なグループとして動作し、誰でも参加可能になる。そこから管理されたmanagedグループに移行することもできる。
ユースケースの違い
- NIP-28: オープンなコミュニティ向け
誰でも入れて、タイムライン的にコメントしていけるTelegramやDiscordのような「誰でも閲覧・参加できるチャンネル」を、分散・検閲耐性をもった形で実現したい場合。
- NIP-29: クローズド or ロール付きのコミュニティ向け
Slack やプライベート Discord、あるいは有料購読者限定グループのように「メンバーシップ制」や「誰が管理者か」「参加申請をどう処理するか」をきっちり運用したい場合。
また、複数リレーで運用しつつ、どこかが落ちても他が存続するといった分散運用も想定できる。
まとめ
- NIP-28 (Public Chat)
- 「公開チャット」を最速で作るのに特化し、チャンネル構造とメッセージ投稿・簡易的なクライアント側モデレーションだけを定義する。
- リレーに追加のルール実装を強いないため、気軽にどこでも利用できる。
- 反面、「誰が書き込みできるか」などの参加制限は標準機能としては備わっていない。
- NIP-29 (Relay-based Groups)
- リレーがグループ管理を主導し、メンバーシップ制や権限・ロールをしっかり運用できるようにする。
- 公開/非公開、オープン参加/承認制などの設定をリレー側で柔軟に切り替えられる。
- 反面、各リレーがこの NIP-29 に対応していないとメンバー権限の管理やグループのクローズド運用はできない。
- 用途に応じて、単純に「みんなで雑談する公開チャンネル」が欲しいのであれば NIP-28 を、メンバー制のプライベートグループを作りたい場合は NIP-29 を選ぶ、といった使い分けになる。