先日、ツイッターのポリシーに「競合他者へのリンクやプロフィールの共有禁止」という文言が追加され、批判を呼びました。(のちに撤回、ツイートは削除)
Specifically, we will remove accounts created solely for the purpose of promoting other social platforms and content that contains links or usernames for the following platforms: Facebook, Instagram, Mastodon, Truth Social, Tribel, Nostr and Post.
— Twitter Support (@TwitterSupport) December 18, 2022
名指しで指定されていたSNSには大手や、ツイッターから追放されたトランプ氏が設立して物議を醸したものと並んでNostrという名前がありました。つい先週までアクティブユーザーが高々数百人程度という小規模さにも関わらずリスト入りした理由はおそらくツイッターの現CEOであるElon Musk氏から警戒されているためだと考えられます。なぜなら、最近ツイッターの創業者で元CEOのJack Dorsey氏が興味を持ち、Nostrの主要開発者に14BTCの資金提供をしたり、1ユーザーとして助言しているためです。
このNostr、実はライトニングで大活躍しているfiatjaf氏が2年ほど前に開発した分散メッセージプロトコルなのです。LNURL/Lightning AddressやLntxbot、Etleneum (今年7月にサービス終了)などでおなじみの同氏に加えて、CLNプラグインのCommandoを使ってブラウザからライトニングノードに通信する実験をしていた@jb55氏がNostrの主要開発者です。
実はNostrの紹介記事を2021年1月に書こうと下書きまで用意していましたが、当時はまだ立ち上げ後間もなかったこと、単純な技術なので紹介する内容があまりなかったこと、そして将来性が不確かだったことを理由にボツにしました。結論から言うと後者2つの印象は今も変わりませんが、いま話題なので紹介します。
Nostrは分散SNSではない
まず1つ大事なことを説明します。Nostrは分散SNSではありません。
NostrとはNotes and Other Stuff Transmitted over Relaysの略語で、そのまま「Relayサーバーを介して手紙やその他いろいろを通信する」ことが目的のプロトコルです。上記のツイッターの競合としての指名を見るとNostrの主用途はSNSのように見えますが、プロトコル自体はJSONオブジェクトをやり取りする通信のプロトコルなので工夫すれば様々な用途に応用できます。
そう、分散SNSは単に一番最初に流行ったユースケースなのです。
ところが、もう1つ触れなければならない点があります。Nostrを「分散」と表現すること自体もあまり正確ではありません。P2Pの仕組みはなく、ユーザー同士の通信でも必ずサーバーを介するためです。
Nostrの仕組みはユーザー(Client)がいろいろなサーバー(Relay)に接続し、そのすべてにデータを投稿し、すべてからデータを受け取るというものです。多数のRelayが使えることで、もしその中の1つからBANされても他のものが使えるという形で検閲耐性を謳っています。Relay同士は通信しません。自分自身でRelayを動かすこともできますし、そこに投稿できる人、アクセスできる人を制限することもできます。
しかし、BANされたらフォロー・フォロワーも失われデータも失ってしまうという巨大な単一障害点を数カ所にバックアップできるようになったことは確かですが、あくまでクライアント・サーバーの関係に基づいており、一般的には第三者が運営するRelayに依存します。また、スケーラビリティ面でもRelayやユーザーの数だけ増える冗長な通信やデータ保管が課題となってくるでしょう。ただこのシンプルさがクライアントの開発を容易にし、昨今のブームにつながっているのは事実です。
ここから先はそんなNostrの特徴と欠点、それらから導き出される将来像について解説します。