--- title: "Blueskyの眺め方 初版" date: 2024-02-10T21:44:28+09:00 draft: false tags: ['essay', 'tech'] --- ## はじめに 本稿は分散型SNS「Bluesky」の基礎的な理解を促す目的で記された文章である。主に登録開放以降に初めて参加した新規ユーザを対象にしている。この文章を通じてXと似ているようで違うBlueskyの輪郭が朧げにでも伝わると幸いだ。 ## Blueskyの現状 2024年2月現在、Blueskyは競合SNSと比べて明らかに機能性に乏しく、中には運営陣の方針から将来にわたって実装される見込みが低いものも存在する。まずはそれぞれの違いを下表にて示した。なお、独自機能を持つ他の実装系は本稿では考慮しない。 |機能群|X|Mastodon|Misskey|Bluesky| | - | - | - | - | - | |DM|ある|ある|ある|ない| |非公開化|可能|可能|可能|不可| |ハッシュタグ|ある|ある|ある|ない| |引用投稿|可能|不可|可能|可能| |投稿範囲の指定|限定的|可能|可能|不可| |投稿後の編集|有料|可能|限定的|不可| |検索性|強力|限定的|限定的|発展途上| |モデレーション(検閲)|理不尽|管理者次第|管理者次第|後述| 表が示すようにBlueskyにはDM(ダイレクトメッセージ)もなく、非公開アカウント設定もなく、投稿範囲の指定もできない。ハッシュタグすらもない。見かけがXに似ているといっても、その中身は運営陣の独特な設計思想に基づいている点に留意しなければならない。 なんなら以前はブロック機能もなかった。単に見たくないだけならミュート機能で十分というのが運営陣の認識だったのだが、ユーザからの粘り強い要望を受けてようやく実装された経緯がある。この一件を見ても電子決済やマッチングにまで幅広く手を出そうとしているXとは対極の理念を持っていることが分かるかと思う。 モデレーションの程度も今時のSNSにしては珍しく開放的な方だと言える。というのも、初期状態では暴力・性的な投稿が非表示化されているが、これらは単純な設定変更ですべて可視化できる。つまり、運営陣は過激な表現が流通しうる実態を予め容認しており、投稿そのものを妨げる方針は持っていない。代わりに前もって定められたルールを確実に守らなければ処罰の対象となる。 そのルールとは投稿時に適切なフラグを付与することである。基本的には投稿画像の内容に適したタグ付けがされてあればR-18G相当でも差し支えなく公開できるようだ。実際、日本国内では違法の無修正裸体画像も割とカジュアルに出回っている。詳細は省くがケモナーもけっこう多い。 早くも各所で[報じられている](https://nlab.itmedia.co.jp/nl/articles/2402/07/news174.html)ような、水着の二次元イラストで規制を受けたり投稿を削除されるといった処罰に直面したユーザは、ほとんどの場合このルールを守っていなかった過ちに起因していると思われる。僕の知るかぎり、黎明期の頃から力作のえちち画像を上げまくっている骨太の絵師が何人かいるが、少なくとも彼ら彼女らは処罰されていない。 ただし何事にも例外はあり、ローティーン以下に見える(すなわち幼児に見える)人物画のアダルトコンテンツは明確に規制されている。同様に、人種差別をはじめとする差別行為全般も厳格に禁止されているので、これらの表現を嗜好する人はどこか他の場所を探すべきだろう。 とはいえ低頭身の人物画を過剰に規制するのも、それはそれで生まれつき華奢な体格の人は性表現の題材になる資格がないのか、とか、いわゆる小人病の人々への差別にあたるのではないか、といった別の問題にも繋がりかねない。運営陣もその辺りの機微は心得ているのか、未成年を印象付けるアクセサリ類や着衣(ランドセルや制服など)、強制性の有無などを根拠に判断しているように見える。 この通り処罰の決定プロセスは必ずしも一方的ではなく、相応の注意を経た上で行われている。しかし今後、ユーザ人口が増加するにつれて残念ながら最終的には機械的にならざるをえなくなっていくだろう。なんにしても、新規ユーザの皆さんには自分のいたSNSではなくBlueskyのルールをどうか尊重してほしい。 ところで冒頭の説明に「分散型SNS」との題目を用いたが、現行のBlueskyはまだ分散化しておらず今はXやIngstagramと同じく中央集権型のSNSとして運用されている。したがって、以上の説明はBlueskyのすべてに当てはまるわけではなく、あくまで分散化される以前の公式サーバに適用されているものだと理解しておく必要がある。 ## 最初にやっておくと嬉しい設定 **■リプライの表示範囲を制御する** ![](/img/258.png) もし、諸君らがSNSに手慣れたユーザで、もう何十人かフォローしているのであればタイムラインに知らない人の返信が表示されていることに気づくだろう。Blueskyの初期設定ではフォローの投稿に対する返信をなるべく表示する仕様になっている。上記画像の「返信のフィルター」に変更を加えると、返信の表示をフォローのみに絞ったりLikeの数で選り分けられる。 ついでにリプライ繋がりのTipsを一つ挙げると、自分の投稿にリプライで話の続きを書いていくやり方はBlueskyでは通用しない。自分自身への返信はフォロワーのタイムラインに表示されず埋もれてしまうからだ。これを知らずに自己言及を繰り返していると、なぜかさっぱり反応をもらえないまま勝手にしょんぼりする羽目になる。 **■外部公開の有無を決定する** ![](/img/259.png) 透明性を良しとするBlueskyの理念から、すべてのユーザのプロフィールおよび投稿内容はデフォルトで外部に公開されている。つまり、Blueskyに登録していないユーザも諸君らの投稿を読めるし、検索エンジンを経由して容易に見つけられる。どうしても最低限のプライバシーがほしい人は「アプリがログアウトしたユーザーに自分のアカウントを表示しないようにする」を有効にされたし。 **■全年齢対象ではないコンテンツを表示する** ![](/img/260.png) 初期状態では暴力・性的表現はもちろん職場での閲覧に適さない程度の表現(NSFW)も一律で非表示に設定されている。「モデレーション」➜「コンテンツのフィルタリング」で成人以上の生年月日を入力すると自由に設定が行える。前述のルールにより、イラストレータは自身の投稿にフラグを付与しているため、イラストが目当てならこれらの制限をすべて外しておくと面倒が少ない。 **■日本語話者を発見する** リコメンドにまみれた競合SNSと異なり、Blueskyではフォロー0だと本当にタイムラインになにも表示されない。見知った友人や他のSNSで関わりのあるユーザが容易に見つかるような人なら心配はいらないが、そういった取っ掛かりがまったくない人は「フィード」から「Japanese Cluster」を検索して購読、ホームにピン留めしておくことをおすすめしたい。 すると、Blueskyにいる日本語話者ユーザのほぼ全員の投稿がまとめて流れてくるようになる。じきにこの手のフィードは人口増加に伴って実用性を失ってしまう(表示対象が増えすぎて閲覧が追いつかなくなる)が、当面の間はフォローしたいユーザを探す助けになるだろう。 ## Blueskyの特長「フィード機能」 なにかとシンプルに作られているBlueskyだが、他にはない珍しい特長もある。「フィード機能」だ。これは特定の条件を満たす投稿を収集して一覧表示させるための仕組みで、少々プログラミングに覚えがある人なら誰でも無料で作成できる。前述の「Japanese Cluster」も公式で提供されているフィードの一つである。 この機能は人々を交流させる意図をもって設計されている従来のSNSとBlueskyの決定的な違いを表している。Blueskyが重視するユーザ体験とは交流ではなく購読なのだ。理論上は誰一人もフォローせず、誰とも人間関係を持たなくともフィード機能のみで求める情報を取捨選択できる。 さっそく「フィード」➜ 検索ウインドウから興味のあるワードを検索してみよう。大半のフィードは個々人が雰囲気で作成しているのでジャンルにばらつきや重複が見られるものの、Blueskyの成長に応じて徐々にユーザの需要に適う主力機能に育っていくはずだ。 ## カスタムドメイン機能で自分だけの名前を手に入れる ![](/img/261.png) ドメインを所有している人には他にも嬉しい機能がある。「設定」➜「ハンドルを変更」から説明通りにDNSレコードを追記すると自分のドメインをユーザ名として利用できる。これはセルフブランディング(特に個人のWebページ上で創作物を発表している人など)においても、自己証明を行う上でも非常に役立つ。 とりわけ第三者になりすまされる危険性が高い、企業や著名人の公式アカウント運用者各位にはぜひともこの機能を活用してもらいたい。Xでは月額料金と引き換えに認証バッヂを与える仕組みを採っているが、元々持っているドメインにDNSレコードを付け足すぶんには手間もお金もかからない。 かくいう僕も当ブログのドメインをユーザ名にしている。内部的には「did=did:plc:xxx」が固定の識別子として働いていて、可変のハンドルやカスタムドメインがそこに紐付けられているようだ。 ## サードパーティクライアントの活用 もし諸君らが日がなSNSに入り浸る廃人なら、公式クライアントのさっぱりとした作りには早晩物足りなさを感じているに違いない。幸いにもBlueskyはサービス当初よりAPIが無償公開されており、すでに多くのサードパーティクライアントが存在する。[かなりたくさんある](https://scrapbox.io/Bluesky/%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88)のでどれが自分に合っているか都度試すだけでも大変なほどだ。 ちなみに僕は[TOKIMEKI Bluesky](https://tokimeki.blue)というクライアントを使っている。万人の手から失われて久しいあのTweekDeckを彷彿させるマルチカラム表示が可能で、さらには今日ではオーパーツと化したユーザストリーム(リアルタイム更新)にも部分的に対応している。既存の分散型SNSのユーザにはどれも親しみ慣れた機能だが、いずれにせよ選択肢の豊富さに事欠く心配はない。 ![](/img/262.png) 2024年2月現在、僕はBlueskyの風景はこのような感じだ。「HOME」カラム(フォローしている人の投稿が時系列順に表示される)を中心に、左右それぞれにフィードカラムを設置している。左から順に「Discover」(トレンド投稿が表示される。イラスト多め。)、「Japanese Cluster」、「Popular with Friends」(フォローがLikeした投稿が表示される)、「N-Feed」(自分の投稿と関連度の高い投稿が表示される)、「RepostNextPost」(自分の投稿をリポストした人の次の投稿が表示される)を並べている。 完全なユーザストリームに対応しているのは「HOME」カラムのみとはいえ、他のカラムも設定で最短10秒ごとに自動更新させられるため情報の荒波に乗らないと気が済まないデジタル益荒男にはまさにうってつけだ。誰もが自分の望む形で情報に触れられるインターネットの原初の姿がここにある。 なお、公式以外の手にパスワードを渡す潜在的リスクを前もって取り除くために「設定」➜「アプリパスワード」からサードパーティクライアント専用のパスワードを生成しておくと、万が一流出してしまっても安全性を確保できる。どの開発者も細心の注意を払ってデータベースを管理していると思われるが、何事にも手違いはありうるので互いに用心しておくに越した話はない。 ## 上級者向けのややこしい話をざっくりと 流行るかどうかではなく理念に惹かれてやってきたユーザからすると、最終的にBlueskyがなにを目指しているのか大いに気になるところである。かといって開発途中の部分が多いこのプラットフォームについて詳しい説明を記すのは実際的にも僕の能力的にも困難ゆえ、ここは一つざっくりとした話で何卒容赦願いたい。 まず、Blueskyの背後でなにかと暗躍している(予定の)分散型プロトコルが「AT Protocol」と呼ばれる代物だ。これはMastodonやMisskeyなど他の分散型SNSが採用している「ActivityPub」とは異なる新開発のプロトコルで、アカウントポータビリティや透過性に長けているのが特長とされる。 かねてよりActivityPubは懐の広い設計仕様を持つ反面、様々な問題が指摘されており、サーバを移す際に投稿データを移行できないだとか、フォロー情報のインポートも不完全な形になりやすいといった不都合を抱えている。他のサーバ同士と相互通信できるといっても、情報取得に関わる諸々の支障から微妙にサーバ間の壁を感じてしまう。 こういった事情が災いしてか、ただでさえ人気のサーバにユーザが集中しやすい風潮も相まって、ActivityPubの分散型は実際には分断型でしかないとも揶揄されている。肥大化する巨大サーバと孤立気味の小規模サーバに分かれてしまっているのだ。前者は莫大なサーバ維持費に苦しみ、後者はむやみやたらな創設と廃止が目立つ。そして前述の通り、サーバ間の移動は完璧な形には程遠い。 AT ProtocolはこうしたActivityPubの技術的課題を解消すべく設計されている。具体的には、負荷の高い機能部分を公式が運用することで完全な移住機能とデータの保持、サーバ間の違いを意識させない高度な透過性を果たすという。以下でAT Protocolの内側を雑に説明していく。 --- ![](https://bsky.social/about/images/blogposts/federation-architecture-diagram.png) **■PDS** PDSとはユーザ情報が登録されるサーバである。Blueskyが正式に分散化した暁には誰でも自由にPDSを構築して個人の空間を所有できる。友人、知人、同好の士を集めて特定のテーマに沿ったPDSを作るのも趣向の一つだ。この辺りはActivityPubとさして変わりがない。 **■Relay(BGS)** 他方、ActivityPubとの最大の違いはPDS同士が直接相互接続するのではなく、BGSと呼ばれる巨大なサーバを一旦中継して繋がるところにある。おそらくはルートDNSサーバ的な役割に近い。公式が運用する他に非営利団体や研究施設、大学などによって運用されることが期待されている。 勘の鋭い人ならもう気づいたかもしれないが、このようにAT Protocolの分散化はなんらかの権威的存在を前提に置いている。要するに、いくら個人のPDSを建てたからといって一切の規則から解放されるとは限らず、仮に「bsky.social」サーバの利用規約からは逃れられても、より上位のBGSの運営母体が策定するルールには従わなければならないと想定される。 あるいはLinuxパッケージのミラーリポジトリを提供するような形式で、理化学研究所やJAISTなどがBGSをホスティングしてくれたら日本の国内法の範囲で自由にやれる余地はある。しかし現状では西洋的価値基準の枠組みを逸脱するのは難しいと判断すべきだろう。 **■AppView、DID-PLCなど** アルゴリズムや検索、タイムラインの生成に関わる演算はここで処理される。例によって負荷が極めて高く、相互接続にも不可欠なため個人でこれらを構築するのは現実的ではない。特にDID-PLCは各ユーザの固定識別子を半永久的に保存する役割を持つ。これによりPDSの状態に関係なく完全なアカウントポータビリティが保証される。 これらのサーバ群もなんらかの権威的存在が運用するものと考えられるが、だとするとやはり最上位のモデレーション権限は個人以外の誰かが一括して持つ形にならざるをえない。この形態を現実的な視座に立った分散型と見るか、無駄の多い中央集権型の派生と見なすかは人それぞれだ。 --- 以上の内部構造から察するに、AT ProtocolにおいてPDSの個人所有はローカルルールの策定や、単純な趣味嗜好を除いてはさしたる意味を持たないようだ。むろん、Blueskyの運営陣にも強烈な葛藤があったに違いない。分散化を極限に推し進めると利便性や持続可能性が失われ、利便性や持続可能性を推し進めるとどうしても中央集権的に偏ってしまう。 両者の釣り合いをなんとか取ろうとした結果、権威的存在を置くのはやむをえないとしつつもなるべく単一の営利企業に依存しない現行の構造に至ったのだろう。なににつけてもベストの実現は常に難しく、ベターな落としどころを探るのがせいぜいといった現実のほろ苦さが伝わってくる。それでも僕はこのプロトコルの行く末を見ておきたいし、どうであれ個人のPDSも建てるつもりでいる。しばらくはActivityPubとAT Protocolの二足の草鞋を履きこなすのも悪くはない。 ## おわりに 登録開放以降、予想に反して数多の新規ユーザがBlueskyに殺到した。わずか数日で累計500万人近くに迫った登録者の中には、著名なイラストレータや漫画家、ニュースサイト、民間施設、報道機関までもが軒を連ねている。皮肉にも分散化が行われていないおかげで意思決定のハードルが低かった(所属PDSを選ばずに済む)ことや、古き良きTwitterに似た平易なUIが功を奏したらしい。 聞いた話ではBlueskyはAT Protocolのデモンストレーションでしかなく、究極的にはSNSのみならずあらゆるWebサービスを分散化させる汎用プラットフォームを目指しているという。未来のAT Protocolは今の我々には想像もつかない姿かたちをしているかもしれない。それを実現させうる推進力を得るには、まずもって豊富なユーザ人口が不可欠との結論に議論の余地はない。 もし新規ユーザの皆さんがBlueskyに住み着いてくれれば、AT Protocolはそれだけ大きく育つ糧を手に入れられる。どうか一日かそこらでXに帰ってしまわず、この新たなプロトコルの芽吹きを長い目で見守ってほしい。たとえすぐには理想が叶わずとも、そうした選択肢を持ち続けるだけで競合SNSへの圧力となり、ひいては業界全体に健全性をもたらしめるのである。