みなさんこんにちは、きみのぶです。本当にお久しぶりですね。なんとか更新を簡単にしていかないと、とブログの作り方自体も変えました。これが良い方に働けば良いのですが。。まぁ、もう一つの思惑もあるのですが。 ちなみに、この記事は書き始めて2週間以上かかってます。リハビリもしないとですね。
さて、先日、約二ヶ月とちょっとの闘病生活を経て、母が亡くなりました。62歳でした。入院後は一度も家に帰ることはありませんでした。
少し落ち着いた頃、ようやく母のSNSアカウントで、ご挨拶をつぶやきました。 母の世界に割り込むのは、母の築いたコミュニティとして興醒めも良いところなので、一度だけ。レスはたまに見ましたが、一切、何もしていません。ただ、沢山レスを頂いていて、母が居る世界だけではなく、居た世界がそこにあっても良かったのだ、と、僕はアカウントを残すという決断をようやく肯定できました。
ただ、アイコンを見て、それがTwitterでは無いことを思いだし、うっすらとした悪寒を禁じ得ませんでした。
この場所はいずれ無くなる。或いは、見ることが出来なくなる。
いつだって、サービスはもちろんそれを提供している企業や団体に依存します。無くなるのは必然です。実際にGeoCitiesなんかは無くなりましたからね。完全に失われました。悲しみが深い。
プラットフォームの寿命とコンテンツの寿命
割と真剣に考えたんですよね。一体どうすると、人の何かを残せるのだろうか、みたいな。僕であれば、ブログや成果物ですね。Self-hosted LiveSyncなんかは、ありがたいことにかなり皆さんに愛されています。こういうのも残していきたい。これは幸いgitのリポジトリなので、GitHubが潰えてもローカルにcloneして貰えれば完全に歴史も込みで保存して貰えます。ベアリポジトリにpushして、誰かにそのまま渡すこともできますし、開発者相手であればそれで十分でしょう。[1]
ソースコードは大丈夫。ではこう言う中編テキストはどうだろう? もしかしたら需要があるのでは無いだろうか。そんな風に考えたんです。母もウェブサイトやってたはずですからね。 このあたりも悩んで、ブログもまたGitHub管理することにしました。ただ、何が炎上するかはわからないですし、記事という形をまずは取りたい。なので、プライベートリポジトリでやることにしてます。これがvitePressに移行した理由です。僕が滅した際には、公開されるでしょう。 GitHub Pagesで公開しないのは、これは必ずしも技術コンテンツではない、という所です。
SNSは?
一番の強敵、SNS。 僕は一応、Fediverseアカウントとして、雑談はMissKey.io、告知はMozilla.socialを使っていました。どちらもActivePubなアカウントです。
特にMozilla.socialは、いろんな意味で安定して長年使えるアカウントだろうと思っていました。いや、信仰があった、と言い換えるべきでしょうね。これが、12/24にはそのサービスを終了するとアナウンスをするまでは。カンパとかでなんとかなりそうな話でもなかったので、実に悲しい話です。
そんな状況下で、果たして、インスタンスに影響を受けないSNSというのはあるのだろうか、或いは、逆に孤独な領主として、Mastodonサーバを運用すべきなのだろうか…。そんな感じに結構悩みましたが、少し前に始めていたNostrを再考し「これしかない」と思い当たったのです。そしてメインにするにはちょっと寂しいとも思い、この筆を執りました。
Nostrとは
Nostrとは、自分が発行した非対称鍵のキーペアを中心として、それで署名されたデータをその人の投稿とし、その署名されたデータをリレーサーバと呼ばれるもので交換し、タイムラインとして表示させたり、色々できるネットワーク --- 難しい説明をさし引くと、「サーバでは無く自分が作ったキーペアに『アカウント』の実態を持ったサーバの無いX(Twitter)風マイクロブログ」 を実現する仕組み[2]です。
はじめてこれを知ったのは結構前なのですが、その当時はmattnさんが話題にしてたかな……という感じで、正直それほどピンと来てませんでした。しかし、今回の出来事、つまりTwitterがあんな風になっちゃったり、母親の残した世界がああも不安な状況になったときに、ようやくその凄さを実感したのです。
Nostrは本質的にどこかに所属するという事がありません。自分のアイデンティティは、秘密鍵と公開鍵のキーペアのみです。これをアカウント的に使います。 そして、その秘密鍵によって署名された発言を、リレーサーバに配信して貰うように依頼して配信してもらいます。同時に、リレーサーバが配信してくれる他の人の発言なんかをもらいます。 そして、その発言につけられた署名を元に束ねて、ある一人の発言として表現しているだけなのです。プロフィール自体もそうだから凄いですよね。
その代わり、アカウントの正当性のようなものは、別の手段で証明するしかありません。これは開発者であれば、GitHub Pagesに自分の公開鍵を置き、そのURLをプロフィールで指し示すことにより、証明することができます。
惜しむらくは非常にアカウントが長いことでしょうか。公開鍵そのものなので、これは仕方がないのかもしれませんが。。そして、URLでもなんでもないので、結構共有するのに難儀するのですが、僕はこのツールを使わせて貰って、公開鍵をURLとして共有[3]しています。
そう、どこにも所属していないので、URLなんか無いんですね。この、本質的にどこにも所属していないのに、それでいてその人の発言がどこにでも存在でき、一つにまとめたり、フォローしてタイムラインとして見られる。これがNostrの凄いところなのです。
ただ、そこには、明確な、あらゆるプラットフォーマーに左右されない自由があります。なぜならリレーサーバ自体も自分でホストすることができるのです。「ここに繋いでくれたら、僕の発言は見れます」「ミラーはご自由に。僕の署名があるものは僕の発言です」というのはとても素晴らしいことでしょう。
一方で、投稿が削除できないという制限もあります。とはいえ、これに関しては、実のところもともと大して保証されていない話でしかないのです。スクショ共有されたり。真摯に訂正記事を書いていこう、という話でしか解決しないと思ってます。「消すと増える」なのですよ。
Nostrを始めよう
Nostrを始めるのはめちゃくちゃ簡単です。 何らかのNostrクライアントを開いて「始める」とするだけです。大抵はそのクライアント内でアカウントになるキーペアを作成し管理できます。大切なのは秘密鍵をエクスポートしておくことぐらいです。
次の記事では、実際にnostterでNostrをはじめてみたいと思います。
ホントは改ざんを防止するためにPGPで署名すべきかもですね。 ↩︎
他にも、長文を載せたり、色んな事が出来るようになってますが、基本はこれです。 ↩︎
ちなみに、https://njump.compile-error.net/[email protected] といった形のURLも作れるですが、結局外部に依存してしまうので、僕は公開鍵のURLを共有しています。 ↩︎