NIP-B0は、WebブックマークをファーストクラスのNostrイベントとして公開する、パラメータ化された置き換え可能イベント(kind 39701)を定義します。この提案により、ユーザは中央集権的なブックマークサービスに依存することなく、クライアントをまたいで発見、zap、再公開できる、キュレーションされたブックマークコレクションを構築できます。

仕組み

ブックマークはkind 39701のイベントで、dタグはブックマーク対象ページの正規URLです。置き換え可能な仕様により、作者は重複するイベントを生成することなく、そのURLに対する自分のブックマークを更新できます(再タグ付け、タイトル更新、古くなった印を付ける)。contentフィールドはブックマークに関する作者のメモを運びます。タグにはタイトル、説明、画像、そして発見のためのtトピックタグが含まれます。

{
  "kind": 39701,
  "tags": [
    ["d", "https://example.com/an-article-worth-saving"],
    ["title", "Article Title"],
    ["t", "nostr"],
    ["t", "protocol"],
    ["published_at", "1717000000"]
  ],
  "content": "Useful primer on the topic.",
  "pubkey": "...",
  "sig": "..."
}

dタグは作者ごとにブックマークを一意に識別するため、2人のユーザは同じURLをそれぞれ独自の注釈とタグセットでブックマークできます。

発見とキュレーション

すべてのブックマークがファーストクラスのイベントであるため、任意のNostrクライアントは、タグや作者でフィルタリングしてkind 39701イベントを購読することで、ブックマークのフィードをレンダリングできます。キュレーター主導のワークフローが自然に成り立ちます。キュレーターがブックマークのリストを公開し、読者はキュレーターのpubkeyをフォローし、ブックマークはそれらを運ぶ任意のrelayを通じて流れます。中央集権的なディレクトリはありません。

実装

  • deepmarks-public — 3ボックスアーキテクチャ(キュレーター、インデクサ、ビューア)と、キュレーター宛の直接NIP-57 zapで賄われるティアシステムを備えたリファレンスWebクライアント。ファイルストレージのためにNIP-07、NIP-46、NIP-57、NIP-44、NIP-98、NIP-65、Blossom BUD-01/BUD-04と共にNIP-B0を実装しています。

信頼とセキュリティに関する注意

  • ブックマークはデフォルトで公開されます。プライベートな閲覧リストをこの方法で公開してはいけません
  • 再公開はrelayがイベントを保持し続けることに依存します。エフェメラルrelayはブックマークをドロップします
  • published_atタグは公開者が主張するもので、検証可能ではありません

Primary sources:

  • NIP-B0の提案仕様 — 提案されたkind 39701 Webブックマークイベントを追跡
  • deepmarks-public — キュレーターティアシステムを備えたリファレンス実装

Mentioned in:

See also: