Nostrを用いてblogとmicrobloggingの中間的存在が作れるのでは無いか、という思考と実験

2023-02-08
#nostr #blog
  1. はじめに
  2. blogとmicrobloggingの中間?
    1. 求めているもの
  3. 実験
  4. 課題

経緯: note1mujewncmefzs0xgz7u8mmcz36a85du63hc2lulgj690xdtyn8z5s9vgt5e

はじめに

何故か日本でNostrが流行った。

僕がNostrを知ったのは12月くらいで、"post-Elon Twitterが敵対しているSNS"という雑な認識をしていた。 自分の初めの投稿は去年の12/19らしい。 note1x2tv7h06xh3rgmkas85cxq36m3dk24mrpsw00xus5l44y0husjzs5c4lva [1]

特に日本語が流れている様子もなかったのでその後開くこともなかったが、何やら最近日本人が参入し始めたらしいということを何かの記事で知った。 再び開いてみたら、一方的に認知している人々が複数人いたので再開した。

Nostrについて、改めて調べてみるとなかなかどうして愉快なプロトコルじゃあないかと思い、自分で色々リレーサーバを立ててみたり、NIP - Nostr Implementation Possibilitiesと呼ばれる仕様書を読んだりした。

Nostr Implementation Possibilities. Contribute to nostr-protocol/nips development by creating an account on GitHub.
nips

Nostr Implementation Possibilities. Contribute to nostr-protocol/nips development by creating an account on GitHub.

github.com

Nostrやその周辺知識はこのScrapboxが纏まっていて分かりやすい。そのため本稿では説明は割愛する。

invitation link / 最低限のルール / はじめてのNostr【はじめての方はこちら】 / ⚠️編集者の相談はここへ / idea / Scrapboxの使い方 / NIP-51 / nostatus / 投稿の削除 / stok / njump / NIP-05認証バッジの付け方 / Nostr井ラスト倉庫 / OpenTimestamps / うにゅうハウス / プライベートメッ
nostr

invitation link / 最低限のルール / はじめてのNostr【はじめての方はこちら】 / ⚠️編集者の相談はここへ / idea / Scrapboxの使い方 / NIP-51 / nostatus / 投稿の削除 / stok / njump / NIP-05認証バッジの付け方 / Nostr井ラスト倉庫 / OpenTimestamps / うにゅうハウス / プライベートメッ

scrapbox.io

Nostrに対する僕の雑な感想。

よくこんなんでTwitterと比較される立場になろうと思ったな、という実装をしていて凄い

— へいほぅ (@h3y6e) February 7, 2023

Nostrでの雑な投稿。: note1u3n78mf3efdqswl289qqrm635y8ym65fk89ktruwl6e4nzarvl5qarkvmj

[1] 余談だが、投稿内容を確認しに行くのが面倒なのでTwitterみたいに投稿を埋め込むかOGP対応したい。nostr.guruあたりでやりたい。

blogとmicrobloggingの中間?

blogは、それ自体で様々なものを表しmicrobloggingはblogの部分集合ではあるが、ここでは本ウェブページのようなある程度纏まった文章の集合物を指すものとする。 microbloggingとは一般的にはTwitterやmixiボイスMisskey, Mastodonなどの自分の状況や雑記を投稿するウェブサービスのことを表す。

見てもらえば分かるように、僕はあまりblogを更新することが無い一方、microbloggingのほうは好きで幾つかのインターネット上の人格を持ちながら続けている。 しかしmicrobloggingでは収集性が無いというか、後から振り返りたい時に散らかり過ぎている。 例えばTwitterではツイセーブというログ保存サービスを利用しているが、これもTwitter APIが有料化するとかなんとかで続くようには思えない。

Starting February 9, we will no longer support free access to the Twitter API, both v2 and v1.1. A paid basic tier will be available instead 🧵

— Twitter Dev (@TwitterDev) February 2, 2023

blogを雑記として利用出来ないのはテキストを書くことが特段嫌いだからというわけではなく、blogという形式が自分に合っていないからではないかと思っている。

じゃあその良いとこ取りをしたような構造があれば良いのでは?という思考。

求めているもの

これに名前があるのか知らないが、想像しているのはインタラクティブなステージ的コミュニケーション。 ステージは発言者と聴講者に分かれ発言者のみが発言する環境だが、インタラクティブなステージとは聴講者がコメントし、それに対して発言者が回答することも出来る環境。 発言者は聴講者のことを認知していてもしていなくても問題無い。

これ、Nostrを用いればまるっと解決するのでは?と思ったわけである。

実験

現状は、nostrの製作者であるfiatjaf氏が公開しているnocommentというスクリプトを埋め込み、CSSを一部カスタマイズしているだけ。

リレーサーバは皆が使っているであろう wss://nostr-pub.wellorder.net, wss://nostr-relay.untethr.me, wss://relay.damus.io のみを使用している。沢山のリレーサーバに載せても迷惑だと思うので。

See a demo at https://fiatjaf.com/nostr.html. Contribute to fiatjaf/nocomment development by creating an account on GitHub.
nocomment

See a demo at https://fiatjaf.com/nostr.html. Contribute to fiatjaf/nocomment development by creating an account on GitHub.

github.com

その場で鍵ペアを生成して匿名でコメントすることも出来るが、NIP-07に対応しているため、nos2xAlbyといったブラウザ拡張機能を用いることで自分の持っているアカウントで投稿出来る。

↓何でも良いのでコメントしてみよう。

Nostrクライアント上では、このコメントに返信しているように表示される。

課題

これはOS/ブラウザ側の問題なのでどうしようも無いが、ChromeやFirefoxのブラウザ拡張機能はモバイル端末では利用出来ないことが多く、故にNIP-07は利用出来ない。

一応、本ブログはIndieWebのWebmentionpingbackに対応しており、Bridgyを用いることでTwitterやMastodonの投稿は拾えるようにはなっている(埋め込み等はまだしていないがRSSで購読している)。 しかし、ご存知のようにTwitterのStandard Search APIは取得漏れが多いし、Mastodonはglobal searchを提供していないため、完全ではない。

となると、現状はその場で生成されたアカウント(\approx捨て垢)によるコメントを許可する必要があるが、スパムが横行したり治安が大きく悪化したりすることは避けられない。 ただ、これはリレーサーバを適切に選ぶことで解決する課題かもしれないし、専用の有償リレーサーバを用意しても面白いかもしれない。

言語化出来ていない・仕様が固まっていない部分が多いが、理想としてはblogとmicrobloggingの中間?で述べた通り。 Nostrを用いることで何か良い方法を見つけられそうな気がしている。