generated at
NIP-65
>Relay List Metadata

NIP-65は、Outbox modelを実現するための仕組みである

hr
翻訳

リレーリストメタデータ

あるユーザからのコンテンツを発見したり他のユーザからの最新のコンテンツを受け取ったりするための推奨リレーを広告するために、 kind:10002 を用いる上書き可能イベントを定義する。

このイベントにはリレーURIと read または write マーカーを持つ r タグのリストを含めなければならない(MUST)。マーカーが省略された場合、そのリレーは両方の目的で用いられる。

content は使わない。

10002.json
{ "kind": 10002, "tags": [ ["r", "wss://alicerelay.example.com"], ["r", "wss://brando-relay.com"], ["r", "wss://expensive-relay.example2.com", "write"], ["r", "wss://nostr-relay.example.com", "read"], ], "content": "", ...other fields }

このNIPは、( kind:3 スタイルのリレーリストのような)クライアントが使うリレーを設定する用途で設計されたリレーリストを完全に置き換えるものではない。クライアントは、 kind:10002 のリレーリストが見つからない状況で他のリレーリストを用いてもよい(MAY)。

Readリレー と Writeリレー をいつ使うか

あるユーザからのイベントを探す際は、クライアントはそのユーザの kind:10002 に含まれる書き込み先(write)リレーを用いるべきである(SHOULD)。

あるユーザに関するイベントを探す際(そのユーザがタグ付けされているとき)は、クライアントはそのユーザの kind:10002 に含まれる読み取り元(read)リレーを用いるべきである(SHOULD)。

イベントを配信する際は、クライアントは以下のようにすべきである(SHOULD):
イベント発行者の 書き込み先(write)リレーに配信する
そのイベントにタグ付けされている各ユーザの 読み込み元(read)リレーに配信する

動機
ユーザごとに固定のリレーを使うという従来のモデルでは、大規模なリレーの運用者に権力が集中する:
ほとんどの人は、投稿を多くの人に見てもらうために一部の人気の高いリレーに送信している
多くの人は、より多くのデータを得るためにたくさんのリレーに接続している(→大量のイベントが重複)
イベントはリレー間で(多くの場合、たくさんのリレーに)複製されている

このNIPにより、クライアントが各ユーザ個人の最新のリレーセットに直接接続できるようになり、人気の高いリレーにイベントをブロードキャストする必要がなくなる。

総論(Final Considerations)
1. クライアントは、 kind:10002 のリストを小さく(2~4個)保つよう案内すべき(SHOULD)
2. クライアントは、可能な限りたくさんのリレーに kind:10002 のイベントを拡散すべき(SHOULD)
3. kind:10002 のイベントは、ユーザがよく使うリレーを他人に広告することを主目的とすべき。クライアントは、データを取得するためのリレーを選択する際に他のヒューリスティクスを用いてもよい。
4. 最大限のプライバシーを保つため、DMは送信者の書き込み先リレーと受信者の読み取り元リレーのみに配信されるべき(SHOULD)
5. リレーが NIP-11 のドキュメントでこのNIPをサポートしていることを告知してきた場合、そのリレーは購入者やホワイトリストで許可したユーザに限らず、広範囲のユーザからの kind:10002 のイベントを受け入れる意思があると考えてよい

関連記事