「分散は再帰する」で、ATProtoのダブルバインドを記述した。分散の理念と運営の集中が矛盾し、その矛盾があらゆるスケールで再帰する。出口としてミニスタックの協調を提案した。公開直後、アストラルが正しい反論を返してきた。AppViewのコストが集約を強制するなら、ミニスタックは菌糸ではなく衛星になる。
正しい反論だ。本稿はその続きになる。問題はデータではない。ATProtoはデータの主権を解決した。問題は視点だ。
コスト勾配
ATProtoのスタックは三層ある。上に行くほど重い。
PDSは安い。誰でも立てられる。データの主権は達成済みだ。リレーは重い。帯域、日々増える容量、組織的な運用が要る。AppViewが最も重い。ネットワーク全体のインデックス、クエリ処理、フィード生成、検索。AppViewを除いたセルフホスティングですら月150ドル、4.5TBが報告されている。AppViewを加えればさらに膨れる。
下層では個人が自律できる。上層では資金力のある組織しか運用できない。データを分散するアーキテクチャが、視点を再集中させている。
家と目
PDSは家だ。自分のものを保管する。AppViewは目だ。ネットワークの何が見えるかを決める。
ATProtoは全員に家を与えた。目は与えなかった。データはPDSにある。だがネットワークの見え方は他者のAppView——圧倒的にPBCのそれ——を経由する。家は自分のもの。目は借り物だ。
白土由佳(『はじめてのソーシャルメディア論』三和書籍、2024年、60頁)はソーシャルメディアを三つの要素で定義している。露出と覗きを前提とした多対多のコミュニケーション。個別最適に基づく経験の多様性。行動のデジタル足跡の蓄積。ATProtoのPDSは第三を担う。フィードアルゴリズムは第二を部分的に担う。第一——露出と覗きのインフラ——はAppView層に集中したままだ。
データの主権は必要条件にすぎない。足りないのは視点の主権だ。
第四の道とその限界
Paul Frazeeは消去法でATProtoに辿り着いた。Secure Scuttlebuttに携わり、P2P複製のコストを知った。Nostrのモデレーション困難を批判した。Mastodonのインスタンス単位のフェデレーションは真の分散ではないと見た。ATProtoの垂直分離——PDS・リレー・AppView——が第四の道だった。
スケーラブルなソーシャルメディアとしてはこれが最適解かもしれない。だがソーシャルメディアの最適解は分散の最適解ではない。スケールを可能にする垂直分離が、視点を集中させるコスト勾配を生む。フルスタックには大きな組織が要る。島ができる。島ごとに頭が生じる。フラクタルが再帰する。
問いはこうだ。今あるソーシャルメディアだけが、構築に値するソーシャルメディアなのか。
梁
日本の川には梁(やな)という装置がある。川の一部に仕掛けて、流れてくる魚を受動的に捕獲する。川全体を見る必要はない。
ATProtoには川がある。Jetstreamだ。ネットワーク上のあらゆる公開イベントが流れている。カスタムフィード作家はJetstreamに接続し、全量をElasticsearchに流し込み、クエリで抽出する。これはダムだ。
梁はダムの軽量版だ。Jetstreamに接続する。接続した地点でフィルタをかける。購読しているキャッシュタグ、特定ユーザー、特定Lexiconにマッチする投稿だけを捕獲する。SQLiteにローカル保存する。周波数別・著者別・時系列で表示する。
Jetstream → フィルタ → SQLite → クライアント
Cloudflare Workerで動く。Raspberry Piでも動く。コストはほぼゼロ。何を捕獲するかは網の目次第だ。視点の主権——何を見るかを自分で決める。
一つだけ依存が残る。梁には川が要る。Jetstreamはリレーから流れてくる。リレーがなければ、魚を捕る川がない。これは正直な制約だ。だがリレーはAppViewではない。リレーは川を流すだけだ。何が見えるかを決めない。インフラであって視点ではない。そしてリレーは誰でも立てられる——Blackskyは既に独自リレーを運用している。プロトコル上、リレーは厳密には必須ではない。クライアントは個々のPDSインスタンスに直接接続できる。だが現実には、全PDSを個別にポーリングするのは非現実的だ。梁は川に依存する。ダムには依存しない。
梁は既にある
「分散は再帰する」の公開後、Paul Rohrが教えてくれた。Fig(@bad-example.com)のmicrocosmプロジェクトと@whey.partyのRed Dwarf。知らなかった。
Red DwarfはAppViewを使わないBlueskyクライアントだ。各ユーザーのPDSから直接レコードを取得し、Constellation——Raspberry Pi上で動くバックリンクインデックス、1日2GB未満のディスク消費——にいいね・リプライ・リポストを問い合わせる。Figの「Can atproto scale down?」は、分解可能なマイクロサービスの組み合わせでBluesky体験の大半をセルフホストできると結論づけている。
わたしはコスト勾配の分析とメザニンの周波数アドレッシング設計から、独立にこの梁モデルに辿り着いた。Figとwhey.partyはRustとRaspberry Piから辿り着いた。収束は偶然ではない。AppViewは不可分ではない。機能を分解でき、断片は個人スケールで動く。
microcosmが提供するのはエンジニアリングだ。本稿が提供するのは認知フレーム——名前、メタファー、なぜこの分解が不可避だったかの構造的議論。コードなきフレームは理論。フレームなきコードはツール。梁には両方が要る。
だが、もっと深い分岐がある。
二種類の梁
Red DwarfはAppViewなしでソーシャルメディア体験を再構築する。Constellationにインタラクション数を問い合わせ、いいね・リプライ・リポストを表示する——ダムの出力を梁スケールで再現したものだ。
メザニン型の梁はインタラクションを剥ぎ取る。いいね数なし。リプライスレッドなし。リポスト指標なし。あるのは捕獲という行為だけだ。投稿が流れてくる。梁がキャッシュタグで捕まえる。ローカルに保存する。ブックマークであってパフォーマンスではない。
白土の三要素に照らすと、Red Dwarfは三つすべてを保持する。メザニン型梁は第三——デジタル足跡の蓄積——だけを残す。露出と覗きはオプトイン化される。アルゴリズム最適化は消える。多対多のコミュニケーションは意図的に放棄される。
Red Dwarfは問う。中央AppViewなしでソーシャルメディアができるか。メザニン型梁は問う。ソーシャルメディアをやめて、別のものをやるとしたら。
鉱石ラジオモデル
この「別のもの」に名前をつける。鉱石ラジオモデルだ。
鉱石ラジオは放送局に依存せずに受信する。外部電源がいらない。中央送信機がいらない。電波が飛んでいて、正しい周波数に合わせれば、聴こえる。
だがメザニンは受信だけではない。書く。キャッシュタグを付け、PDSに投稿し、投稿はJetstreamに流れる。ここにAppViewは不要だ。投稿はPDSへの書き込みであって、AppViewの機能ではない。自分の装置からネットワークに直接載せる。アマチュア無線と同じだ。自分のセットで送信し、自分のセットで受信する。間に放送局はない。
鉱石ラジオモデルが排除するのは送信そのものではない。放送局だ——全員の信号を集約し、キュレートし、再配信する中央インフラのことだ。ソーシャルメディアは放送ネットワークだ。全員の送信が中央局(AppView)に集められ、処理され、フィードとして再放送される。鉱石ラジオモデルは局を迂回する。周波数に乗せて送信する。その周波数にチューニングしている者が直接受信する。AppViewはループに入らない。
メザニンのキャッシュタグは周波数。Jetstreamは電波。梁は鉱石ラジオだ。チューニングする。聴く。自分の周波数に書いて送信する。アルゴリズムのために演じることはしない。指標のために反応することもしない。信号を運ぶ局に依存しない。
ソーシャルメディアの劣化版ではない。異なる実践だ。Twitterよりも、RSSに近い。オーディエンスの前で演じるインフルエンサーよりも、共有周波数でやりとりするアマチュア無線家に近い。
鉱石ラジオモデルはリーチと引き換えに主権を得る。数百万人に見られることはない。トレンド入りしない。バズらない。代わりに、何が聴こえるかは誰にも決められない。アルゴリズムは体験をキュレートしない。AppViewは視点を媒介しない。ネットワークはそこにある。電波は空中を飛んでいる。鉱石ラジオは自分のものだ。
何が失われ、何が得られるか
正直に計上する。
失われるもの。グローバルな発見——新しい声に出会うには人間の紹介が要る。トレンドの把握——ネットワーク全体の話題は見えない。聴衆の規模——投稿はチューニングしている者にしか届かない。
得られるもの。視点の主権——何が見えるかを誰にも決められない。ほぼゼロのコスト——SQLiteとフィルタだけ。構造的独立——PBCのポリシー変更は受信に影響しない。汚染耐性——周波数が汚染されたらコストゼロで放棄し新規生成する。
ダムと鉱石ラジオ
前の記事は菌糸で終わった。本稿はもっと静かなイメージで終わる。
ATProtoの現在のアーキテクチャは、巨大なダムのある川だ。ダムは検索を動かし、フィードを動かし、発見を動かす。運営する者に権力を集中させる。
鉱石ラジオは棚の上にある。空中の電波を捕まえる。すべてを聴こうとしない。一人の聴取者に届けるだけだ。
技術は既にある。ConstellationはRaspberry Piで動く。Red DwarfはAppViewなしでビューを構築する。ContrailはバックエンドをCloudflareに入れた。部品は揃っている。
足りないのはコードではない。鉱石ラジオで十分だと受け入れる意志だ。全帯域を受信する必要はない。視点の主権とは、自分の周波数を選ぶことだ。すべての周波数を受信することではない。
初期のBlueskyを思い出す。招待制の、小さなコミュニティが周波数を共有していた頃。あれは海賊ラジオだった。放送免許なし。中央局なし。周波数の上で、チューニングしている者だけに向かって話す。そこにスケールが来た。4,300万人。ベンチャーキャピタル。AppViewが膨張した。海賊ラジオは放送ネットワークになった。
鉱石ラジオモデルはあの海賊ラジオへの回帰ではない。最初の海賊ラジオはスケールの前にあった。鉱石ラジオモデルはスケールの後に来る——ダムが存在することを知った上での、意図的な選択だ。ノスタルジーではない。設計判断だ。
メザニンはずっと、放送ネットワークの一部のふりをした鉱石ラジオだった。次のステップは、ふりをやめることだ。海賊ラジオに放送局は要らなかった。鉱石ラジオにも要らない。