トップ画像
Nostrやろう!

執筆者: こつ子

最終更新: 2025/04/05

1.はじめに

皆さんはSNS好きですか?私は大好きです。
世の中には沢山の種類のSNSがありますが、今回ご紹介するのは、よくSNSに用いられるプロトコルである「Nostr」です。

2.そもそも「Nostr」とは?

皆さんの中でNostrを知っている方はどのくらいいるのでしょうか?かなりマイナーなものなので知っているという人は少ないと思います。

Nostrというのは通信プロトコルの名前です。つまり、SNSサービスやソフトウェアの名前ではないのです。ほとんどの場合、NostrはSNSを構築するために用いられますが、実装次第ではゲームの通信やインターネットフリマに用いることもできます。(Nostrで通信する麻雀アプリとか開発されてます)今回はSNSとして活用されているNostrに焦点を絞ってお話します。

Nostrの実態というのはシンプルで、電子署名されたJSONファイルをリレーサーバと呼ばれるユーザーのデータを保存、送信するサーバーを介して受け渡ししているだけです。

Nostrのサーバーのイメージ図

上図のように自身の投稿を複数のサーバーに送信、他者の投稿を複数のサーバーから受信することができます。この時、同じサーバーを共有している者どうしは互いの投稿を認識することができるというわけです。上図の場合はaさんとbさん、bさんとcさんなどが互いのことを認識することができるというわけですね。多くのSNSは一つの大きな会社が一つのサーバーを用いて運営されていることが多いですが、Nostrは様々なサーバー運営者によって成り立っているといえるでしょう。
また、複数のサーバー管理者によって成り立っていることのメリットとして、「一つのサーバーがダウンしてもサービスが止まらない」「一つの団体によって独占されることがない」「いつでもサーバーやクライアントを変更でき、その際にアカウント情報や築いた交流の多くを引き継げる」「気軽にサーバーを立て、少ない責任でサーバー運営し、気軽に辞めることができる」などがあげられます。

まぁこのあたりは実際に触ってみるのが一番だと思います。

3.実際にNostrで投稿してみる

長々とNostrについて語りましたが、ここからは実際にNostrを用いて投稿してみましょう。始める方法は幾つかありますが、今回はブラウザの拡張機能を用いることにします。Nostrにおいて秘密鍵が漏洩するということはアカウントが乗っ取られることと同義であり、仕組み上、一度漏洩してしまうともう回復することはリレー運営者にもクライアント運営者にもできません。そのため、「セキュリティのためにはクライアントアプリにすら秘密鍵が知られるべきではない」という考えが存在します。先ほども話したようにNostrは複数の団体、複数のサーバーによって成り立っています。同じ分散型SNSのプロトコルとして有名なActivityPubでは、アカウントを管理する存在というものがありますが、Nostrは仕組み上、設計思想上、アカウントを管理したりモデレーションしたりする存在がいません。アカウントを管理する団体がいないため、運営に泣きつくことすら許されず、アカウントを作り直すか諦めるしかない、そのくらい秘密鍵の漏洩というものは重大インシデントなのです。

そのためブラウザの拡張機能を用いてブラウザ側で投稿を暗号化し、クライアントアプリにすら秘密鍵を渡さずにNostrを利用する仕組みが作られています。今回はこのNostr用拡張機能を導入してアカウントを作ってみましょう。

Google Chromeユーザーの場合

1.「nos2x」を導入する

https://chromewebstore.google.com/detail/nos2x/kpgefcfmnafjgpblomihpgmejjdanjjp?pli=1

上記のサイトからnos2xをダウンロードしてChromeに拡張機能を追加してください。

2.chrome右上の拡張機能ボタン(パズルピースのようなアイコン)を押し、nos2xを選択

3.nos2xの「start here」を押す。

4.private keyにある「generate」ボタンを押し、その後、下の「save」ボタンを押す。

nos2x

FireFoxユーザーの場合

1.拡張機能の「nos2x-fox」をダウンロードする

https://addons.mozilla.org/ja/firefox/addon/nos2x-fox/

上記のサイトからダウンロードできます。

2.右上の拡張機能(パズルピースみたいなアイコン)を押し、拡張機能の管理画面からnos2x-foxを選ぶ

3.nos2x-foxのオプションを開く

4.Private keyの項目にあるGenereteを押し、Save keyで保存する

nos2x-fox

スマートフォンの場合

残念ながら現状スマートフォンはこれらの拡張機能に対応していません。(Androidは一様代替品があるようですが...)

今回はNostterを用いるか、ネイティブアプリである「Damus」や「Amethyst」を用いるようにしましょう。


はい、あなたのアカウント(秘密鍵)完成です。メールも電話番号も不要でしたね。なんならアカウントを作った実感すらなかったですね。なにはともあれ、Nostrを始めるはできました。では、ついにNostrのクライアントアプリからNostrの世界にログインしてみましょう。

クライアントアプリにログイン

日本でよくオススメされるNostrクライアントアプリは「nostter (https://nostter.app/)」なのですが、どうもセキュリティ向上のためにIPアドレスを用いたアクセス制限を行っており、そのなかで岡山大学のWi-FiはIPアドレスの都合でブロックされてしまっているようです。学外でこの記事を読んでいる人はNostterにアクセスし、「ログイン>拡張機能でログイン>拡張機能から出るポップアップから認証」で使用できます。

しかし、学内でNostrを見たいという人は困りますので、今回はもう一つのよくオススメされる「Rabbit」というWebクライアントを使います。

Rabbit(https://rabbit.syusui.net/#/)

さて、上記のリンクからRabbitにアクセスすると拡張機能から何らかのポップアップが出てくると思います。これは先ほど皆さんにインストールしてもらったnos2xから出ているものです。拡張機能を用いてログインしてもよいか確認しにきているというわけです。ポップアップに従って認証しましょう。

すると色々タイムラインに流れてくるようになりましたね。

次は左上のペンのマークを押してみましょう。すると「いまどうしてる?」という文字が書かれたテキストボックスが出てきたと思います。ではそこに「Hello! Nostr」と打ち込み紙飛行機のボタンを押しましょう。するとまたポップアップが出てきましたね?これも認証しましょう。するとあなたの投稿がrabbitにデフォルトで登録されているリレーサーバーに飛んでいったはずです。

他にも従来のSNSのようにプロフィールを設定したり、投稿に画像を含めたりすることができます。(ただしNostrに投稿した画像はリレーサーバーではなく、nostr.build等の外部画像投稿サイトに保存される点に注意)

また、投稿内や相手の投稿に対するリアクションに絵文字を用いることができるのも特徴です。(使える絵文字はクライアントごとに異なります。)

様々な投稿をみたり、いいねしたり、フォローしたりしてみましょう。

また、「ブロードキャスト」という機能を用いて、他者の投稿を自分が接続しているリレーサーバーに再度投稿することができます。(いわゆるリツイートにあたる機能)

また、Nostrに限った話ではないのですが、複数のサーバーにあなたの投稿が送信される以上、一度送った投稿を完全にこの世から消し去ることは不可能と思った方がよいです。まぁ現代インターネットで生きる上のでの常識ですね。デジタルタトゥーには気を付けよう!

4.まとめ

最近、SNSの移行についての話題を耳にすることがちょくちょくあるかもしれませんが、毎回Nostrはあまり名前に上がりません。Nostrのことをもっと知ってもらいたいと思って今回の記事を書きました。これが少しでもNostrを知るきっかけになれば幸いです。

取得に失敗しました

2024年度 入部