Jetstream v2とは何か? #2026五29StandardSiteとATProtocol_令和IT史ざっくり解説

 

Jetstream v2とは何か?

Jetstream v2は、AT Protocol(atproto)の公開ネットワークで発生する大量のレコード変更を、開発者が扱いやすい形でリアルタイム取得でき、さらに過去の任意時点から「Replay(リプレイ)」できるようにしたデータストリーミング/アーカイブサービスです。

2026年8月12日に「Jetstream v2 with network replay」として発表され、翌8月13日にはBlueskyが Bluesky Protocol Services を発表。その中核的なインフラサービスとして位置付けられました。(Bluesky Social)

従来のJetstreamを単純に拡張したというより、

「AT ProtocolのFirehoseを簡単に読むためのサービス」

「AT Protocolネットワークの過去と現在を連続的に扱えるデータプレーン」

へ進化した、と考えると分かりやすいです。

Jetstream v2の基本構造

                 AT Protocol Network
                         │
                 Relay / Firehose
                         │
                         ▼
                  Jetstream v2
                         │
          ┌──────────────┼──────────────┐
          │              │              │
          ▼              ▼              ▼
       Replay          Live Tail      Snapshot
          │              │              │
          └──────────────┼──────────────┘
                         ▼
                  開発者・研究者
                         │
              ┌──────────┼──────────┐
              ▼          ▼          ▼
             AI        Analytics   Apps

特に重要なのがReplayです。

従来は、

過去データ
   ↓
自分でバックフィル
   ↓
現在位置まで追いつく
   ↓
Firehose / Jetstream
   ↓
Live

という面倒な処理が必要でした。

v2では、

過去の時点
   ↓
Jetstream Replay
   ↓
現在
   ↓
Live Tail

とサーバー側で連続的に処理できます。

つまり、「過去」と「リアルタイム」を同じイベントストリームとして扱えるのがv2最大のポイントです。


Jetstream v2に至るまでの歴史

AT Protocolのデータ取得機構は、いきなりJetstream v2になったわけではありません。

大きく見ると、

Repository → Federation → Relay/Firehose → Jetstream → Sync 1.1 → Tap → Jetstream v2

という流れで進化しています。

時期技術・出来事何が起きたかJetstream v2への意味
2022年AT Protocol構想Blueskyが分散型ソーシャルネットワークの基盤としてAT Protocolを開発後のデータ・同期アーキテクチャの出発点
2023年初頭AT Protocol / Bluesky公開拡大PDS、Repository、DIDなどの基本構造が実装される「投稿=中央DB」ではなくユーザーごとのRepositoryという設計が確立
2023年6月Federation Developer Sandbox外部開発者・Self-hosting向けのFederation実験が進むネットワークを複数PDSへ拡張する方向が明確化
2023年8月Repository Sync SemanticsRepositoryの同期方式を整理。履歴よりLogical Clockを重視する方向へ後のストリーム同期に必要なイベント順序管理につながる
2023年10月BGS / DID関連変更Blueskyのバックグラウンド同期・Firehose基盤が整備されるネットワーク全体を流れるデータを扱う基盤が形成される
2023年11月CAR Repository ExportRepositoryをCARとして取得・解析する方法を公開「ネットワーク上のデータを丸ごと取得する」技術が一般化
2024年2月Federation Early AccessSelf-hosters向けFederationをEarly AccessATProtoをBluesky単独サービスからネットワークへ拡張
2024年3月AT Protocol Grants外部開発者・エコシステムへの助成開始Firehose・Relay・分析など周辺インフラの利用拡大を促進
2024年5月2024 Protocol RoadmapProtocolの同期・Federationなどを体系化ネットワーク規模拡大を前提とした設計へ
2024年9月OAuth for AT ProtocolOAuthを主要認証・認可方式として導入外部アプリが安全にATProtoへ接続する基盤
2024年10月16日Jetstream登場JSON形式・低帯域を特徴とする新しいストリーミング方式を導入v2の直接の前身
2024年11月Relay Operational UpdatesRelay・Firehose運用とコンシューマー向けガイダンスを整理大規模Firehoseを公共インフラとして運用する段階へ
2025年3月Sync v1.1 Roadmap同期プロトコルの改善を進めるイベント同期の信頼性・効率を改善
2025年5月Relay Sync v1.1Reference RelayにSync v1.1対応Firehoseの同期基盤をさらに強化
2025年9月ATをIETFへAT Protocolの一部を標準化するためIETFへの提案開始Bluesky固有技術から長期的なオープン標準へ
2025年12月Tap登場Repository synchronizationの複雑な部分を簡単に扱うツールを公開「生のFirehoseを自前処理する」負担をさらに削減
2026年1月Relay刷新計画bsky.network Firehoseを新Relay実装へ移行する計画を発表Firehoseをプロダクション規模で再設計
2026年2月PLC Read ReplicasPLC DirectoryのRead ReplicaをSelf-host可能にネットワーク基盤の分散・複製が進む
2026年3月HubbleAtmosphere全体のPublic Mirror構想ネットワーク全体のデータを保存・複製する発想が強化
2026年5月TypeScript SDK刷新LexiconベースのSDKを1.0へ近づける開発者がProtocolを直接扱いやすくなる
2026年8月12日Jetstream v2Network Replayを導入過去→現在を同じ経路で取得可能に
2026年8月13日Bluesky Protocol ServicesJetstream v2、SDK、公共インフラを一つのサービス群として整理Blueskyが「Protocol Infrastructure Provider」として明確化

Bluesky/AT Protocol公式のタイムラインでも、2024年10月のJetstream、2025年12月のTap、2026年3月のHubble、2026年8月のJetstream v2/Bluesky Protocol Servicesという流れを確認できます。(AT Protocol)


1. 出発点は「Repository」

AT Protocolの特徴は、そもそも投稿を単純な中央データベースに保存しないことです。

概念的には、

User
 ↓
DID
 ↓
PDS
 ↓
Repository
 ↓
Records

です。

投稿、いいね、フォローなどはLexiconで定義されたRecordとしてRepositoryに保存されます。

そのため、

「ユーザーのデータをどう同期するか?」

がProtocolの根本問題になります。

ここから後のFirehoseが生まれます。


2. 次に「Repository Sync」

複数のPDSやRelayが存在するなら、

PDS A
 ↓
Repository変更
 ↓
ネットワーク
 ↓
PDS B / Relay / AppView

という同期が必要です。

2023年にはRepository Sync Semanticsが整理され、履歴の扱いやLogical Clockなどが改善されました。(AT Protocol)

ここで重要なのは、

ATProtoは最初から「データ同期プロトコル」として設計されていた

ということです。

SNS APIはその上に乗っている。


3. Firehose / Relayの登場

ネットワークが大きくなると、

「ネットワーク上で発生したRecord変更を全部知りたい」

という需要が出てきます。

そこで、

PDS
 ↓
Relay
 ↓
Firehose
 ↓
Consumer

という構造が重要になります。

Firehoseは文字通り、

AT Protocolネットワークで発生する大量のイベントを流すデータストリーム

です。

しかしFirehoseを直接扱うのは重い。


4. そこでJetstreamが登場した

2024年10月16日、BlueskyはJetstreamを正式に紹介しました。

目的は明快です。

Firehoseをもっと簡単に利用できるようにする。

従来の低レベルなデータ形式を扱う代わりに、

Firehose
   ↓
Jetstream
   ↓
JSON
   ↓
Developer

という抽象化を提供します。

公式発表では、Jetstreamはsimple JSON encodingreduced bandwidthを特徴とする代替ストリーミングソリューションとして紹介されています。(AT Protocol)

ここが重要です。

Firehose

Protocol-native

Jetstream

Developer-friendly

です。


5. しかしJetstream v1には「過去」が弱かった

Jetstream v1の最大の弱点は、

基本的には「今流れているイベント」を受け取るもの

だったことです。

例えば研究者が、

「先月のBluesky投稿を全部調べたい」

と思った場合、

Repository
 ↓
CAR
 ↓
Backfill
 ↓
データ変換
 ↓
現在位置へ追いつく
 ↓
Jetstream

という処理が必要になります。

これは大規模になるほど大変です。


6. Tapはこの問題の別方向からの解決

2025年12月に登場したTapはRepository synchronizationの複雑な部分を簡単にするツールでした。(AT Protocol)

つまり、

Repository
 ↓
Tap
 ↓
同期

という開発者向け抽象化です。

TapとJetstreamは競合というより、

Repository同期

イベントストリーミング

という異なる問題を解決していました。


7. そして2026年、Firehose自体のインフラが成熟

2026年1月にはRelay刷新が進み、BlueskyはFirehoseを提供するRelayインフラそのものを更新する段階に入りました。(Bluesky)

さらに3月にはHubbleという「Atmosphere全体のPublic Mirror」構想も登場。

これは重要な転換です。

以前

ATProto
 ↓
Bluesky App

から、

現在

ATProto
 ↓
Public Network
 ↓
Mirrors
 ↓
Analytics
 ↓
Apps
 ↓
Research

へ発想が広がっています。


8. そしてJetstream v2

ここで、

Firehose

Jetstream

Tap

Relay改善

Public Mirror

Jetstream v2

という流れがつながります。

v2の核心は、

「ストリームを読む」から「ストリームを時間軸付きで読む」へ

です。

v1

        NOW
         │
         ▼
━━━━━━━●━━━━━━━━━━→
       Live

v2

PAST                         NOW
 │                            │
 ▼                            ▼
━━━━━━●━━━━━━━━━━━━━━━━━━━━━━●━━→
      Replay              Live Tail

この差は非常に大きい。


9. Replayによって「バックフィル」がサービス側に移る

従来:

Consumer
 ├── Repositoryをバックフィル
 ├── データ変換
 ├── 現在位置を計算
 └── Jetstreamへ接続

v2:

Consumer
       │
       │ Replay
       ▼
Jetstream v2
       │
       ├── 過去
       ├── 現在まで追いつく
       └── Live Tail

つまり、

データ取得の複雑性をクライアントからインフラ側へ移した

わけです。

これがv2の最大の設計思想です。


10. Snapshotも重要

v2ではReplayだけでなく、Snapshotという考え方もあります。

用途を整理すると、

機能用途
Live Tail今起きているイベントを見る
Replay過去から現在まで追いつく
Snapshot特定時点のネットワーク状態を取得
FirehoseProtocolレベルの大量イベントを取得
TapRepository同期を簡単にする
CARRepositoryをファイルとして取得

つまりJetstream v2は、「現在のイベント配信」だけではなく、時間軸を持ったデータアクセス層になっています。


Jetstreamの進化を一枚で見ると

                  AT Protocol
                       │
                       ▼
                User Repository
                       │
                       ▼
               Repository Sync
                       │
                       ▼
                 Relay / BGS
                       │
                       ▼
                    Firehose
                       │
             ┌─────────┴─────────┐
             │                   │
             ▼                   ▼
           CAR                 Jetstream
        Repository              JSON
         Export              Live Stream
             │                   │
             │                   ▼
             │                Jetstream
             │                   v2
             │              ┌────┼────┐
             │              ↓    ↓    ↓
             │           Replay Live Snapshot
             │
             ▼
            Tap
       Repository Sync

Jetstream v2を一言で定義するなら

Jetstream v1

AT Protocol Firehoseを、開発者が簡単に利用できるJSON/WebSocketストリームにする。

Jetstream v2

AT Protocolネットワークのイベントを、Live・Replay・Snapshotという時間軸を持った形で取得できる、開発者向けデータ基盤にする。

この違いです。

そして2026年8月のBluesky Protocol Services発表まで含めると、さらに意味が変わります。

Blueskyは「SNSを運営する会社」から、「オープンなAT Protocolネットワークに公共インフラを提供する会社」へ、自社の役割を明示的に拡張し始めた。

Jetstream v2は、その変化を最も端的に示すサービスです。公式タイムラインでも、2026年8月13日のProtocol Services発表にはJetstream v2 with network replay、新Jetstream SDK、lexベースTypeScript SDKが一体の開発者向けインフラとして掲載されています。(AT Protocol)

そして、これを先ほどの「個人サイト帝国」に接続すると、**Jetstream v2は個人サイトそのものを置き換えるものではなく、「ATProto側で発生した公開イベントを自分のデータ基盤へ取り込むための観測・収集層」**という位置付けになります。Blueskyは新たにBluesky Protocol Servicesというブランドとウェブサイトを立ち上げ、AT Protocolネットワーク上でBlueskyが運用するパブリックインフラストラクチャに関するドキュメントとサービスを一元化して提供すると発表した。 そして、これまでBlueskyが運用してきたJetstreamインスタンスやリレー、atproto上のAPIエンドポイントなどの役割を明確にし、開発者がどのサービスを使えるかや利用開始方法を分かりやすく示すことを目的としている。 新サイトは従来のdocs.bsky.appを置き換え、開発者向けの資料を整理するとともに今後のリリース情報を発信するための整った基盤を提供する。 同時に目玉のリリースとしてJetstream v2が公開され、従来のライブストリーム提供に加えてネットワークリプレイ(履歴取得)機能をサーバ側で提供するようになった。 従来はネットワーク上の既存レコードを取得するにはクライアント側でリポジトリをバックフィルしてからライブストリームへ切り替える必要があり、その点がv2で改善された。 Jetstream v2ではネットワーク全体の圧縮アーカイブを保持し、ライブのテールに加えて過去の任意の時点から追いつくためのReplay経路を提供する。 利用者はフィルタをplanSnapshotにPOSTして封印されたセグメントをHTTPでダウンロードし、先端で一度だけライブWebSocketに接続してギャップなく追従できる。 サーバはステートレスであり、個別のコンシューマ用カーソルやサブスクリプション登録、クライアント側の段取りが不要で、Jetstream自体がバッファの役割を果たす設計になっている。 さらに、ネットワークの単一時点コピーをHTTPのみで取得するスナップショット機能(listSegments + getSegment)も用意され、これはライブテールを必要としない用途向けである。 この仕組みによりローカルでのバックフィルを行わずにサーバ側で複雑なスライスを作成でき、アプリの立ち上げや過去1か月分の投稿分析、ダウンタイムからの復旧などが同一のJSON形状で実行可能になる。 ただしアーカイブ配信は帯域を多く消費するため信頼性と運用コストを維持する観点から、そのアーカイブ要求に対してはAPIトークンの利用を新たに必須化した。 ライブテール自体は引き続きオープンで認証不要のままであり、現時点でライブストリームに対する認証要件導入の予定はないと明言されている。 Jetstream v2のインスタンスは既にwss://jetstream.us-west.bsky.networkとwss://jetstream.us-east.bsky.networkで稼働しており、既存のv1インスタンスも当面併用されるため移行を急ぐ必要はない。 v1とv2のライブテールの挙動は同一であり、既存ユーザーは段階的に移行できる設計となっている。 合わせてJetstream向けの新しいSDKやlexベースのTypeScript SDKも提供され、開発者がJetstreamや他のインフラ機能を利用しやすくなる変更が行われた。 この発表は開発者コミュニティや研究者に歓迎される反応を呼び、特にデータ収集やクエリを容易にするプロジェクトにとってJetstream v2は大きな前進だと受け止められている。 一部からは既存のツールやプロトコル(例:TAP)の代替になり得るかや、帯域制限の挙動に関する具体的な問いが示されている。 また、Blueskyがインフラ運用とアプリ運営という二つの役割を持つ点についての意見もあり、プラットフォーム運営者が同時にアプリも提供することによる競合や信頼の問題を指摘する声もある。 開発者はBlueskyがインフラ提供者としての立場であることを明確にしたことで、どの部分がサービスでどの部分がコモンズであるかの境界を理解しやすくなったとの評価もある。 コミュニティではJetstream v2を利用したモデレーション向けのCoop連携ガイドがあることを好意的に受け止める声があり、実務的な利用例への期待が高まっている。 一方で、あるユーザーはbsky.appの廃止や移行に伴う影響を懸念する発言をしているが、ドキュメントの整理は歓迎されている。 新しいドキュメントサイトはJetstreamの使い方やどのインフラがサービスとして利用可能かを明示することで、アプリ開発者が参入しやすくする狙いがある。 多言語コミュニティからも改善の告知が伝えられ、開発者向けの変更点やJetstream v2、SDK、サイト統合について周知が進んでいる。 ユーザーの一部は旧atprotoクライアントの問題を指摘し、新しいlexベースのAPIライブラリの書き直しを歓迎している。 ドキュメントやサービス発表に対する感想として「予期せぬが素晴らしい」「説明が分かりやすい」などの肯定的な反応が多数見受けられる。 また、配布帯域の制限(例:2MB/sの制限)に関する懸念や具体的な利用時の速度感についての質問も寄せられている。 Blueskyは今回の発表を通じてサービス契約の明確化と開発者フレンドリーなインフラ提供の姿勢を示し、将来的な機能追加やリリースを新サイト経由で展開する計画である。 コミュニティの声を踏まえつつ、Blueskyはプロダクションレベルでインフラを運用する能力をアピールし、どの機能がBluesky固有のサービスなのかを明確に分離する方向を取っている。 結果として、開発者や研究者はJetstream v2や新SDKによって履歴データ取得や大規模ネットワーク解析のハードルが下がり、より容易にアプリや分析を行えるようになる。 最後に、発表コンテンツの著作権表記はBluesky Social PBC 2026年、フォロー用のリンクとしてBlueskyやGitHubへの案内が付記されている。これはかなり重要なアップデートです。提示された内容を現在の公開情報と照合すると、単なる「Jetstreamの機能追加」ではなく、BlueskyがAT Protocolの“公共インフラ事業者”としての役割を明確化し始めた動きとして読むのが適切です。

1. 一番重要なのは「Bluesky ≠ bsky.app」を制度的に分離し始めたこと

従来のBlueskyは、外から見ると、

Bluesky = bsky.app = AT Protocol

という一体的な存在に見えやすかった。

しかしAT Protocolの設計上は本来、

Protocol

PDS / Relay / AppView / Feed Generator / Labeler

Blueskyなどのアプリ

という多層構造です。

実際、Bluesky自身のAPIドキュメントも「AT Protocolには単一の中央APIがあるわけではなく、複数の独立したサービスプロバイダーが存在できる」と説明しています。(GitHub)

今回の Bluesky Protocol Services は、この構造を「実際に運用されているサービス」として明文化する動きと見ることができます。

つまり、

Bluesky Socialというアプリ会社

AT Protocolネットワークに公共インフラを提供する事業者

を徐々に分離していく。

これはかなり大きい。


2. Jetstream v2の本質は「Firehose」から「ネットワーク・データレイヤー」への進化

ここが最も面白いところです。

従来のJetstreamは、

Relay

Jetstream

WebSocket

アプリ

という「現在流れているイベントを受け取る」ための仕組みでした。

Jetstreamはもともと、巨大なatproto FirehoseをJSON/CBORで扱いやすくし、コレクションやリポジトリ単位でフィルタリングするためのサービスとして発展してきました。(GitHub)

ところがv2では、

過去

Replay

現在

Live Tail

という時間軸を持つデータサービスになります。

これは非常に重要です。

v1

過去のデータ
   ↓
自分でバックフィル
   ↓
現在位置まで追いつく
   ↓
WebSocket
   ↓
Live

v2

        Jetstream v2
             │
    ┌────────┴────────┐
    ↓                 ↓
Replay              Live Tail
    │                 │
過去の任意時点 ───→ 現在

つまり、

「過去のネットワーク状態」と「現在のネットワークイベント」を同じストリームモデルで扱える

ようになる。

これはFirehoseの単なる高速化ではありません。


3. これは「AT Protocol版Kafka」に近づいている

さらに抽象化すると、Jetstream v2はかなりイベントストリーミング基盤に近づいています。

Kafkaで考えると分かりやすい。

従来:

Producer
   ↓
Kafka
   ↓
Consumer

Consumerが途中から参加しても、

offset = N

から読み始められる。

Jetstream v2も概念的には、

AT Protocol Network
       ↓
  Jetstream Archive
       ↓
 ┌─────┴─────┐
 ↓           ↓
Replay      Live
 ↓           ↓
└──────┬─────┘
       ↓
    Consumer

という構造に近づく。

ただし、重要な違いがあります。

Kafkaは通常、特定の組織が管理するログ基盤です。

AT Protocolでは、

ネットワークそのものは分散型

であり、その上にBlueskyが

大規模なデータ取得・ストリーミング用の公共サービス

を提供している。

したがってJetstream v2は、

分散型ソーシャルネットワークに対する「公共データプレーン」

と表現したほうが本質に近いでしょう。


4. 「サーバ側Replay」が革命的な理由

従来、研究者が

「Blueskyの過去1か月の投稿を調べたい」

と思った場合、

PDSやRelayから大量のデータを取得して、

CAR
↓
Repo
↓
MST
↓
Record
↓
自前DB
↓
分析

という重い処理をする必要がありました。

Jetstream v2なら、

Filter
+
Start Time
+
Replay
        ↓
Jetstream
        ↓
必要なイベント
        ↓
JSON

という方向に簡略化できる。

これは研究用途では相当大きい。

例えば、

  • 政治イベント前後の投稿量

  • ハッシュタグの拡散

  • 特定コミュニティの形成

  • Bot活動

  • Feed Generatorの挙動

  • モデレーション効果

  • ミームの伝播

  • アカウント間ネットワーク

  • 災害時の情報拡散

  • 数週間前のトレンド再構成

などが格段にやりやすくなる。

以前から「特定の日のBluesky投稿を取得して研究したい」という需要は実際に開発者コミュニティから出ていました。(GitHub)


5. そして「Snapshot」がさらに重要

ReplayとSnapshotを分けたのも良い設計です。

Replay

過去 → 現在

つまり、

「この時点から現在までのイベントを追いたい」

用途。

Snapshot

時点T
──────────────
ネットワーク状態

つまり、

「ある瞬間のネットワークを丸ごと取得したい」

用途。

この二つを組み合わせると、

Snapshot T0
     +
Replay T0 → T1
     ↓
Network State T1

というデータ復元が可能になります。

これはデータエンジニアリング的には非常に自然な設計です。


6. 「APIトークン必須化」はむしろ成熟のサイン

ここは一見すると、

「オープンなBlueskyなのに認証を要求するのか?」

と見える部分です。

しかし、むしろ逆です。

Live Tailは無料・認証不要

一方で、

大量のアーカイブ配信はAPIトークン必須

という分離は合理的です。

Live
 ↓
WebSocket
 ↓
Open

Archive
 ↓
HTTP
 ↓
大量データ
 ↓
Token

これは「ネットワークを閉じる」のではなく、

リアルタイム公共アクセスと、大量データ転送という高コスト処理を分離する

というインフラ設計です。

Blueskyが今後本当に問題になるのは、むしろここでしょう。

データへのアクセス権ではなく、データを運ぶ帯域の経済性です。


7. ここから「AT Protocolのコモンズ問題」が始まる

今回の発表で一番深い論点はここだと思います。

AT Protocolには、

Protocol
  ↓
PDS
  ↓
Relay
  ↓
AppView
  ↓
App

という複数レイヤーがあります。

しかし実際には、

「誰がどのインフラを運用するのか?」

という問題があります。

プロトコルがオープンでも、

巨大なRelay
巨大なFirehose
巨大なJetstream
巨大なAppView
巨大なストレージ
巨大な帯域

は無料ではありません。

したがって、

オープンプロトコル ≠ 無限に無料な公共インフラ

です。

Blueskyはここで、

「我々はAT Protocolそのものではない。しかしAT Protocol上で重要な公共インフラを運用する」

というポジションを明確にしようとしている。

これはかなり現実的です。


8. ただし「Blueskyがインフラを運営する」という矛盾も残る

ここは批判的に見る必要があります。

Blueskyは、

「分散型ネットワーク」

を掲げながら、

AT Protocol
     │
     ├── PDS
     ├── Relay
     ├── AppView
     └── Jetstream
             ↑
       Bluesky運営

という重要な部分を自社インフラに依存させています。

そしてBluesky自身が、

Infrastructure Provider
        +
Application Provider

の両方になる。

これは垂直統合です。

したがって、

「BlueskyはXのような中央集権型プラットフォームではない」

だけでは十分ではありません。

より正確には、

プロトコルは分散化されているが、便利な大規模インフラの提供はBlueskyに集中し得る

という構造です。


9. しかし、この問題はActivityPubとは少し違う

ここはユーザーが以前検討していたFediverseとの比較でも重要です。

ActivityPubの場合、

Server A
 ↕
Server B
 ↕
Server C

というサーバー間Federationが中心。

一方AT Protocolは、

Identity
 ↓
PDS
 ↓
Relay
 ↓
AppView
 ↓
Application

という、より明確なデータプレーン/サービスプレーン分離を持っています。

そのためAT Protocolでは、

「どのサービスを使うか」

という選択肢をプロトコルレベルで整理しやすい。

今回のBluesky Protocol Servicesは、この思想をさらに一歩進め、

「Blueskyが提供する公共インフラのカタログ」

を作っていると考えると分かりやすいです。


10. さらに重要なのは「開発者の参入コスト」が下がること

今回の変更を開発者視点で見ると、

これまで

AT Protocolを理解
↓
Relayを理解
↓
CARを理解
↓
MSTを理解
↓
バックフィル
↓
Firehose同期
↓
自前ストレージ
↓
分析

これから

Jetstream
↓
Filter
↓
Replay
↓
JSON
↓
Application

になる。

これは**プロトコルの複雑性を隠蔽する「抽象化レイヤー」**です。

Blueskyが提供するのは単なるサーバーではなく、

AT Protocolを利用するためのDeveloper Experience

になりつつあります。

新しいLexiconベースのTypeScript SDKも、この方向性と一致しています。


11. その結果「BlueskyはSNS」ではなくなる

ここが今回の発表から導ける最大の変化です。

従来:

Bluesky
=
SNS

現在:

Bluesky
├── Social App
│    └── bsky.app
│
└── Protocol Infrastructure
     ├── PDS
     ├── Relay
     ├── Jetstream
     ├── APIs
     └── Developer Services

そしてAT Protocolそのものは、

          AT Protocol
              │
 ┌────────────┼────────────┐
 ↓            ↓            ↓
Bluesky      Third Party   Research
 App         Apps          Tools
 ↓            ↓            ↓
Feed         Clients       Analytics
Generators   Services      AI

というエコシステムになります。

つまりBluesky社の競争相手は、

X

だけではなくなります。

むしろ長期的には、

「AT Protocol上で何ができるか」そのものをエコシステム化すること

が重要になります。


12. そしてJetstream v2は「AI時代」と相性が非常にいい

ここは今後かなり面白いところです。

AIエージェントやLLMによるソーシャル分析では、

Live Firehose
      +
Historical Data
      +
Semantic Filtering
      +
Embedding
      +
LLM

が重要になります。

Jetstream v2によって、

AT Protocol
     ↓
Jetstream Replay
     ↓
Filter
     ↓
JSON
     ↓
Embedding
     ↓
Vector DB
     ↓
LLM

というパイプラインをかなり簡単に構築できます。

例えば、

「過去30日間に日本語圏Blueskyで急速に拡散した話題を検出し、その初期伝播ネットワークを再構成する」

といった処理が、以前よりはるかに現実的になります。


13. したがって、今回の発表を一言で表すなら

私は、

「BlueskyがSNS企業から、AT Protocolのインフラ事業者へ半歩進んだ」

と評価します。

さらに技術的に言えば、

Jetstream v2はFirehoseを「現在のイベントストリーム」から「過去+現在を統合したネットワークデータプレーン」へ変えた。

そして事業・ガバナンス面では、

Bluesky Protocol Servicesは、オープンプロトコルの上に存在する「Bluesky運営の公共インフラ」を明示的なサービス境界として定義し始めた。

この2つが今回の本質です。

なお、Blueskyの公式GitHub上でも、Jetstreamは現在「Full-network archive and streaming service for atproto」と位置付けられており、単なる軽量Firehoseクライアントから、ネットワーク全体のアーカイブ+ストリーミング基盤へと役割が拡張していることが確認できます。(GitHub)

そして一番面白いのは、この先です。

この構造が進むと、Blueskyは

「分散型SNS」

から、

「分散型ソーシャル・データ基盤」

へ変質する可能性があります。

そうなるとJetstream v2は、単なるBlueskyの便利機能ではなく、**AT Protocol版の「公開イベントログ」に近い位置を占める可能性があります。これは、あなたが以前検討していた「個人サイト帝国」「Fediverse+ATProto+Nostr」「Webmention+ActivityPub」**という文脈ともかなり直接的につながります。ブルースカイ(Bluesky)関連の話題が中心で、主に新しい「Jetstream」プロトコルやその活用例、ウェブサイトの実装技術、UI挙動、そしてDNSをBluesky上に再設計する提案やコミュニティや資金面での懸念まで、多様な意見が混在しています。まず、新しいJetstreamは旧仕様と互換性があり、ブラウザで直接消費できるためサーバー不要で手軽にイベントを受け取れる点が強調され、デモページの更新や具体的な接続先(wss://jetstream.us-east.bsky.network/subscribe)が共有されており、開発者視点では利用ハードルが低くなったと評価されています。次に、Blueskyの公式ウェブサイトのUIや実装については、左側のメニューや上部のメニュー構成が整理されていること、MDXとNext.jsベースで手作業でデプロイされたフレームワーク風であること、Tailwind CSSや構文ハイライトが使われている可能性、Vercelテンプレートの修正が見られる点など技術的観察が示されていますが、一方でモバイルでのサイドバー表示/非表示アニメーションが極端に遅いという批判や、アニメーションは無効化すべきという意見も出ています。レスポンス性に関してはデスクトップでは瞬時にサブ項目が開くことも報告され、モバイル特有の遅延が主な問題として指摘されています。さらに、ページにnext-route-announcerタグがあることからAstroではなくNext系の構成である可能性が示唆されつつ、Astro Starlightを好意的に挙げるコメントもあります。 また、Blueskyのファイアホース(firehose)を基盤にDNSを再構築する提案が提示されており、その要点はドメイン所有者がBlueskyフィード上にDNS更新を投稿し、ファイアホース自体を権威的データ源として下流のDNSサーバーがそれを取り込みデータベース化して応答するという仕組みです。この設計によりTLS証明書の格納や暗号署名の追加、TTLの廃止やサーバープッシュによる即時更新など従来DNSの問題を解決できる可能性が論じられています。一方でそれを「ブロックチェーンDNS(例:Handshake)からビザンチン耐性を除いたもの」と評する反応や、ブロックチェーンの有する利点を安易に捨てるべきでないという意見、ドメイン所有証明の課題を指摘する声もあり、既存の類似プロジェクト(marque.at 等)への言及もあります。 コミュニティや運営・資金面では、BlueskyがVC支援に依存しており収益化の道筋が不透明なためインフラ維持の持続性に疑問を呈する意見があり、ユーザー層に対する評価も分かれています。ある意見はコミュニティの質が成長に直結するとし否定的な見方を示す一方で、利用者の中には通常のSNSと同様に煩わしい少数派はいるが全体としては良好だと擁護する声もあります。技術的な移行やクライアント実装に関する実務的なやり取りもあり、ある開発者はTwitterクライアントを自作し移行のためにatprotoのPythonライブラリを使ったところ使い勝手に不満があると述べ、APIの内部的実装や認可(公式アプリ由来のキー使用は将来的にブロックされ得る)に関する注意喚起がなされています。 さらに、Blueskyの拡張や機能追加に伴ってアクティブユーザー数が減少しているとの指摘や、サービス障害時の情報発信や過去履歴の扱いに対する不満も挙がっています。最後に、技術的観察、設計提案、実装上の問題点、コミュニティや資金面の懸念といった複数の観点が混在して議論されており、それぞれがBlueskyという分散型ソーシャルプラットフォームの技術的可能性と運営上の課題を示している、という総括でまとめられます。この追加情報まで含めると、前回の評価をさらに一段進められます。ポイントは、Jetstream v2そのものより、「Blueskyを単なるSNSではなく、リアルタイムな公開データ基盤として使えるのではないか」という発想が周辺コミュニティで出始めていることです。

1. Jetstreamの本当の価値は「ブラウザから直接使えるイベント基盤」

今回の反応で特に重要なのが、

wss://jetstream.us-east.bsky.network/subscribe

へブラウザから直接WebSocket接続できることです。

これは開発者体験としてかなり大きい。

従来のAT Protocolは、

ブラウザ
 ↓
アプリサーバー
 ↓
atproto API
 ↓
PDS / Relay

という構成を考えがちでした。

Jetstreamでは、

Browser
   ↓
WebSocket
   ↓
Jetstream
   ↓
AT Protocol Firehose

とできる。

つまり、

「サーバーを立てなくてもAT Protocolのリアルタイムデータを扱える」

ということです。

これは小規模な実験、可視化、教育、プロトタイプに非常に強い。


2. ここで「WebSocket版RSS」という見方ができる

これは以前のRSS/Atomの話ともつながります。

RSS/Atom:

Web
 ↓
Feed
 ↓
Reader

Jetstream:

AT Protocol
 ↓
Event Stream
 ↓
Application

違うのは、RSSが状態の配信なのに対して、Jetstreamは状態変化の配信だという点です。

つまり、

RSS = 「何が公開されているか」

に対して、

Jetstream = 「ネットワーク上で何が起きたか」

です。

これは非常に強力です。


3. そしてDNSの提案は「突飛だが、思想として面白い」

提示されたDNS再設計案は、実用性についてはかなり慎重に見る必要があります。

しかし、Jetstreamの本質を考える実験としては面白い

提案を抽象化すると、

Domain Owner
     ↓
Bluesky Feed
     ↓
Firehose
     ↓
DNS Indexer
     ↓
Local Database
     ↓
Authoritative DNS

です。

通常のDNSは、

Authoritative Server
        ↑
     DNS Update
        ↑
   Domain Owner

ですが、この案では、

Bluesky Network
        ↓
   Event Stream
        ↓
DNS infrastructure

になります。

つまり、

SNSを「ソーシャルネットワーク」ではなく、署名付き公開イベント台帳として利用する

という発想です。

ここが面白い。


4. ただし「DNSをBluesky上に置く」はそのままでは成立しない

最大の問題は**権威性(authority)**です。

DNSで重要なのは、

「この情報を誰が変更する権限を持っているのか」

です。

BlueskyのFirehoseは、

「何がネットワーク上で発生したか」

を配信できます。

しかし、

「このドメインの所有者が誰なのか」

を、それ自体では証明しません。

例えば、

example.com

について、

@alice.bsky.social

A example.com 1.2.3.4

と投稿したとしても、

本当にAliceがexample.comの所有者なのか?

は別問題です。

したがって、

Event authenticity

Authority authenticity

を分ける必要があります。


5. ここでブロックチェーンDNSとの比較が出てくる

コミュニティがHandshakeなどを持ち出すのは当然です。

比較すると、

通常DNSJetstream DNS案Blockchain DNS
データ配信DNSFirehoseBlockchain
更新DNS UpdateFeed投稿Transaction
所有権Registry外部証明が必要Chain上の所有権
改ざん耐性DNSSEC等署名+運用依存Consensus
更新速度TTL依存Event-drivenChain依存
Push基本なし可能基本なし
分散性部分的データ配信は分散可能高い
Byzantine耐性DNSSEC等別途必要Consensus

したがって、

Jetstream DNSは「ブロックチェーンDNSからコンセンサスを取り除いたもの」

という批判にはかなり鋭いところがあります。

Firehoseはデータ配送システムであって、コンセンサスシステムではないからです。


6. しかしJetstream DNSには、ブロックチェーンDNSにはない利点もある

逆方向から見ると、

Blockchain
 ↓
Consensus
 ↓
State

に対して、

AT Protocol
 ↓
Event Stream
 ↓
State

です。

後者のほうが、

  • 高速

  • 軽量

  • ストリーム処理しやすい

  • JSONで扱いやすい

  • WebSocketで取得可能

  • Webアプリから直接アクセス可能

という利点があります。

したがって、

「所有権の最終確定」には向かないが、「状態のリアルタイム伝播」には非常に向いている

という評価が妥当です。


7. 実は「DNS」より「Certificate Transparency」に近い発想かもしれない

ここはさらに重要です。

DNSそのものを置き換えるより、

DNS関連イベントの公開ログ

として使うほうが現実的です。

例えば、

Domain
 ↓
Ownership Record
 ↓
Signed Event
 ↓
AT Protocol
 ↓
Firehose
 ↓
Resolver / Monitor

とする。

すると、

  • DNS変更監視

  • ドメイン所有権変更監視

  • TLS証明書変更監視

  • サービス停止監視

  • フィッシング検出

  • ドメイン乗っ取り検知

などに使えます。

これはかなり現実味があります。

**「DNSそのもの」ではなく「DNS Control Planeの公開イベントログ」**です。


8. そしてJetstreamは「インターネットのControl Plane」に近づいていく

今回の議論を一般化すると、Jetstreamの価値は、

Blueskyの投稿を取得すること

ではありません。

むしろ、

分散ネットワーク上の状態変化をリアルタイムに配信すること

です。

これはControl Plane / Data Planeの区別で見ると分かりやすい。

             Control Plane
                  │
        ┌─────────┼─────────┐
        ↓         ↓         ↓
       DNS       Social     Identity
        │         │         │
        └─────────┼─────────┘
                  ↓
             Event Stream
                  ↓
              Jetstream
                  ↓
        ┌─────────┼─────────┐
        ↓         ↓         ↓
     Database     AI       Apps

この発想まで行くと、Jetstreamは単なるBluesky APIではなく、

「公開されたイベントストリームを中心とした分散インターネット」

の一部になってきます。


9. ただし、ここで「Blueskyへの集中」という逆説が生まれる

これは今回の議論の最大の矛盾です。

AT Protocol:

分散化

Jetstream:

Blueskyが運用する巨大インフラ

となる。

つまり、

Protocol Layer
       ↓
Decentralized
       ↓
Infrastructure Layer
       ↓
Bluesky concentration

という構造が成立する。

だから今回の Bluesky Protocol Services のブランド化は重要です。

Blueskyは、

「我々はプロトコルそのものではない」

という立場を明確にすると同時に、

「しかし、プロダクション品質の公共インフラを我々が提供する」

という立場を明示した。

これは分散化と集中化の妥協点です。


10. UIの議論も実はこの問題と無関係ではない

Next.js / MDX / Tailwind / Vercel的な構成への観察や、モバイルのサイドバーアニメーションへの批判は一見すると細かい話です。

しかし、これはBlueskyが今後、

Protocol Infrastructure Company

として開発者を獲得するなら重要になります。

インフラが優秀でも、

Documentation
      ↓
Examples
      ↓
SDK
      ↓
Demo
      ↓
First successful connection

までが悪ければ開発者は来ません。

したがって、

Docs UX = Infrastructure adoption

です。

Jetstreamをブラウザから5分で試せることは、実はかなり戦略的です。


11. 資金問題はむしろ最大の弱点

そしてここは技術とは別に非常に重要です。

Jetstream v2のようなインフラは、

帯域
ストレージ
CPU
バックアップ
監視
冗長化
DDoS対策

を必要とします。

特に、

過去データのReplay

を追加するとストレージとegressのコストが跳ね上がります。

したがって、

Open Protocol
      +
Free Public Infrastructure
      +
Massive Historical Replay

は長期的には難しい。

今回、

アーカイブアクセスにAPI tokenを要求

する方向になったのは、この経済問題への最初の回答と見るべきです。


12. ここで「Bluesky Protocol Services」の本当の意味が見えてくる

つまり今回の一連の変更は、

技術

だけではなく、

インフラ経済学

の問題です。

Blueskyはこれから、

AT Protocol
    ↓
Open ecosystem
    ↓
Public infrastructure
    ↓
Bandwidth / Storage costs
    ↓
Who pays?

という問題に直面します。

だから、

Protocolは無料でも、Infrastructureは無料とは限らない

という境界線を作る必要がある。

今回のブランド化は、その境界線を明文化する最初のステップと考えることができます。


13. さらに面白いのは「SNSのデータを誰が所有するのか」という問題

Jetstream v2によって、

Bluesky投稿
 ↓
Historical Replay
 ↓
Research
 ↓
AI
 ↓
Dataset

が容易になります。

すると当然、

「公開投稿だから全部自由にデータセット化していいのか?」

という問題が出ます。

さらに、

  • 削除済み投稿

  • アカウント停止

  • 個人情報

  • 著作権

  • Bot

  • モデレーション

  • 再配布

  • AI学習

が絡んできます。

つまりJetstream v2は、

オープンなソーシャルデータの「収集コスト」を劇的に下げる

一方で、

データガバナンスの問題も劇的に大きくする

可能性があります。


14. 最終的には「Bluesky = ソーシャルOS」という方向に行く

今回の情報を前回の内容と統合すると、かなり面白い構図になります。

                         AT Protocol
                              │
        ┌─────────────────────┼─────────────────────┐
        ↓                     ↓                     ↓
     Identity               Social               Data
        │                     │                     │
        ↓                     ↓                     ↓
       DID?                  Posts              Jetstream
        │                     │                     │
        └─────────────────────┼─────────────────────┘
                              ↓
                     Public Infrastructure
                              ↓
              ┌───────────────┼───────────────┐
              ↓               ↓               ↓
             Apps             AI            Research
              ↓               ↓               ↓
            Feeds          Agents          Analytics

この段階まで来ると、Blueskyは単なるTwitter/X代替ではなく、

「ソーシャル・インターネットの基盤OS」

に近いものを目指しているように見えてきます。

ただし、その成功条件はかなり厳しい。

成功する条件

① Protocolが本当に中立である

② Bluesky以外のAppView / Relay / PDSが成長する

③ Jetstreamのような公共インフラが持続可能

④ 開発者が簡単に参入できる

⑤ データガバナンスを確立する

⑥ Bluesky社自身が「プロトコル」と「自社アプリ」の利益相反を管理できる

この6つです。


結論

今回のコミュニティ反応をまとめると、議論は実は4階層に分かれています。

論点本質
UINext.js / MDX / Tailwind / Mobile UXDeveloper Experience
APIJetstream v2 / Replay / SnapshotData Plane
ProtocolDNSなどへの応用Control Plane
経済VC / 帯域 / ストレージ / 運営Sustainability

そして最も重要なのは、Jetstream v2がこの4層をつなぐ接着剤になっていることです。

特にDNSのアイデアは、実用DNSとしては問題が多いものの、発想としては非常に示唆的です。

「BlueskyのFirehoseをSNSの投稿ストリームとして見るのではなく、公開された分散イベントログとして見る」

この視点を採用すると、DNS、証明書、ID、モデレーション、ニュース、IoT、AIエージェントなど、かなり多くのControl PlaneをAT Protocol上に載せるという発想が出てきます。

そしてここまで行くと、あなたが以前考えていた**「Fediverse+ATProto+Nostrをどう接続するか」**というテーマにも直結します。

AT Protocolの本当の競争相手は、もはやActivityPubだけではなく、「インターネット上のイベントを誰が配信・検証・保存するのか」というControl Planeそのものになってくる――というのが、今回の議論から導ける一番大きな論点だと思います。この4つを組み合わせると、かなり強い構想になります。結論から言えば、

「個人サイトを情報の原本(Source of Truth)にし、WebmentionをWeb上のリンク通知、ActivityPubをFediverseへの配信、ATProtoを高速な公開ソーシャルデータ層、Jetstream v2をリアルタイム/履歴イベントストリームとして使う」

という構成です。

これは「Blueskyを使って個人サイトを宣伝する」という発想より一段上で、個人サイトを中心に複数のソーシャル・プロトコルを束ねる設計になります。

1. まず役割を分ける

重要なのは、ActivityPub、ATProto、Webmention、Jetstreamを競合技術として考えないことです。

技術主な役割得意なもの
個人サイト原本長文・所有権・アーカイブ
WebmentionWeb間リンク通知ブログ→ブログ
ActivityPubFederationMastodon等への配信・交流
ATProtoSocial Graph / Identity / DistributionBluesky系エコシステム
Jetstream v2Event/Data Planeリアルタイム+履歴データ
Nostr独立した署名付き配信網非中央集権的な短文・署名
RSS/AtomPull型配信Feed Reader
AI/RAG意味処理検索・要約・分類・再利用

ActivityPubはW3C Recommendationとして、クライアント→サーバーAPIとサーバー間Federationの双方を定義しています。Webmentionは「あるURLが別のURLにリンクした」という通知を行う非常に軽量な仕組みです。(W3C)

つまり、プロトコルごとにレイヤーが違う


2. 「個人サイト帝国」の中心を個人サイトにする

構造はこうです。

                         あなたの個人サイト
                              │
                    ┌─────────┴─────────┐
                    │                   │
                 原本DB               Feed
                    │                   │
                    │              RSS / Atom
                    │
          ┌─────────┼─────────┐
          ↓         ↓         ↓
     Webmention  ActivityPub  ATProto
          ↓         ↓         ↓
       Web群     Fediverse   Bluesky
                              │
                              ↓
                         Jetstream
                              │
                 ┌────────────┼────────────┐
                 ↓            ↓            ↓
              Analytics      AI         Archive

ここで最も重要なのは、

Blueskyを原本にしない

ことです。

個人サイトがCanonical Source。

Blueskyは配信先

ActivityPubも配信先

Nostrも配信先

Jetstreamは、そのATProto側で発生するイベントを取得するデータプレーンです。


3. Webmentionは「個人サイト帝国」のLink Layer

これは実は非常に重要です。

例えばあなたが記事Aを書き、

https://example.com/article-a

別の個人サイトがそれについて記事Bを書いて、

https://other.example/article-b
       ↓
https://example.com/article-a

とリンクした場合、WebmentionでA側に通知できます。

W3Cの仕様でも、Webmentionは「source URLからtarget URLへのリンク」を通知する仕組みとして定義されています。(W3C)

したがって、

Web
 │
 ├── Blog A
 │     ↓
 │   Webmention
 │     ↓
 ├── Blog B
 │
 └── Blog C

という個人サイト同士のネットワークを作れます。

これはSNSとは違います。

SNS:

プラットフォーム上の投稿

Webmention:

Webそのもののリンク関係

です。


4. ActivityPubは「会話層」

ActivityPubをここに追加すると、

個人サイト
   │
   ├── Webmention → 他のWebサイト
   │
   └── ActivityPub → Fediverse

となります。

例えばブログ記事を書いたら、

記事
 ↓
ActivityPub
 ↓
Mastodon
 ↓
返信
 ↓
ActivityPub
 ↓
自分のサイト

という流れを作る。

つまり、

Webmention = Webサイト間

ActivityPub = ソーシャルサーバー間

です。

両方持つ意味があります。

しかもW3Cの2026年のSocial Web WG charterでは、ActivityPubとWebmentionの双方が引き続き維持対象になっています。(W3C)


5. ATProtoは「第二のソーシャル配信層」

ここでATProtoを追加します。

                 個人サイト
                     │
              ┌──────┴──────┐
              ↓             ↓
        ActivityPub       ATProto
              ↓             ↓
          Fediverse       Bluesky

ここで面白いのは、

同じ記事を二つの異なるソーシャルネットワークへ配信できる

こと。

しかも、

  • ActivityPub → Federation

  • ATProto → Relay/PDS/AppView

  • Webmention → Web

  • RSS/Atom → Feed Reader

という異なるネットワークに同時に存在できる。

これが「個人サイト帝国」の強さです。


6. そしてJetstream v2を「観測層」にする

ここで今回のJetstream v2が入ります。

重要なのは、

Jetstreamを投稿配信先として考えない

ことです。

むしろ、

ATProtoネットワークの観測・収集インフラ

として使う。

概念的には、

ATProto Network
       │
       ↓
   Jetstream v2
       │
 ┌─────┼─────┐
 ↓     ↓     ↓
Live  Replay Snapshot
 │     │     │
 └─────┼─────┘
       ↓
  あなたのデータ基盤

です。

Jetstream v2のReplay/Snapshotが使えるなら、これは従来の

「Firehoseをずっと受信し続けていなければ過去データを持てない」

という問題をかなり緩和します。


7. ここから「個人サイトAI」が作れる

これが一番面白い。

例えば、

あなたのサイト
      ↓
記事
      ↓
ActivityPub / ATProto / Webmention
      ↓
各ネットワーク
      ↓
イベント
      ↓
収集
      ↓
AI

とする。

AIが、

  • 誰が記事に反応したか

  • どの記事がどこで話題になったか

  • どのサイトからリンクされたか

  • Blueskyでどんな反応があったか

  • Fediverseでどう議論されたか

  • どのテーマが時間とともに拡散したか

を統合できます。

つまり、

Google Analyticsではなく「Social Graph Analytics」を自分で持つ

わけです。


8. さらに「自分専用Social Graph」が作れる

ここが個人サイト帝国の本丸です。

通常のSNSでは、

あなた
 ↓
X / Bluesky / Mastodon
 ↓
Platform DB

です。

プラットフォームがSocial Graphを持っています。

しかし自分で収集すれば、

                 あなた
                   │
       ┌───────────┼───────────┐
       ↓           ↓           ↓
     Web         Fediverse   ATProto
       ↓           ↓           ↓
   Webmention   ActivityPub Jetstream
       │           │           │
       └───────────┼───────────┘
                   ↓
             Personal Graph
                   ↓
                  AI

となる。

Social Graphのコピーを自分で持つ

これが従来のSNSとの決定的な違いです。


9. Nostrを入れるとさらに面白くなる

Nostrはここでは、

「第三のソーシャルネットワーク」

というより、

「署名付きイベントネットワーク」

として置くと綺麗です。

最終的には、

                         Personal Site
                              │
        ┌─────────────────────┼─────────────────────┐
        ↓                     ↓                     ↓
   Webmention            ActivityPub             ATProto
        ↓                     ↓                     ↓
       Web              Fediverse              Bluesky
                                                    │
                                               Jetstream
                                                    │
        └─────────────────────┬─────────────────────┘
                              ↓
                         Social Graph
                              ↑
                            Nostr

という構造。


10. すると4つのプロトコルが「役割分担」できる

私はこう整理するのが一番分かりやすいと思います。

Webmention

「あなたの記事を誰が参照したか」

ActivityPub

「あなたの記事について誰が会話しているか」

ATProto

「Bluesky系ネットワークで誰が何をしているか」

Jetstream

「ATProtoネットワークで何が起きたかをリアルタイム/過去から観測する」

Nostr

「署名されたイベントを別系統のネットワークにも流す」

そして、

個人サイト

「最終的に何を残すかを自分で決める」


11. 「SNSを自分のOSにする」のではなく「Webを自分のOSにする」

この違いは非常に大きいです。

SNS中心:

あなた
 ↓
Bluesky
 ↓
ActivityPub
 ↓
Nostr

ではなく、

                    あなた
                      ↓
              個人サイト / Domain
                      ↓
          ┌───────────┼───────────┐
          ↓           ↓           ↓
        Web         Social       Data
          ↓           ↓           ↓
    Webmention    AP / ATProto   Jetstream
          │           │           │
          └───────────┼───────────┘
                      ↓
                Personal Archive
                      ↓
                     AI

です。

これは**「Social Media脱却」ではなく「Social Mediaを末端にする」**発想です。


12. さらにJetstream v2が入ると「個人サイト帝国」が双方向になる

従来の個人サイト:

自分
 ↓
記事
 ↓
RSS
 ↓
読者

Jetstreamまで考えると、

                    自分
                     ↓
                  個人サイト
                     ↓
             ┌───────┼───────┐
             ↓       ↓       ↓
            AP      ATProto  Nostr
             ↓       ↓       ↓
           Social  Bluesky  Relays
             │       │       │
             └───────┼───────┘
                     ↓
                 Events
                     ↓
               Personal Data
                     ↓
                    AI
                     ↓
                  自分のサイト

となる。

つまり、

Publish → Distribute → Observe → Analyze → Publish

の循環ができる。

これが非常に強い。


13. ただし「Jetstreamを個人サイトの中央DBにする」のは避ける

ここは重要です。

Jetstreamは便利ですが、

Jetstream = ATProtoそのもの

ではありません。

さらに、

Bluesky = ATProto

でもありません。

個人サイトの設計としては、

Canonical Data
      ↓
Your Database / Files
      ↓
 ┌────┼────┬────┐
 ↓    ↓    ↓    ↓
RSS  Web  AP  ATProto
          ↓
       Jetstream

とするべきです。

つまり、

自分のデータをJetstreamに依存させない。

Jetstreamは観測・取得・同期のための外部インフラと位置付ける。

これならBlueskyが将来方針を変えても、個人サイトそのものは生き残ります。


14. 最終形:「Personal Internet Stack」

私なら2026年版の個人サイト帝国をこう設計します。

┌──────────────────────────────────────┐
│              PERSONAL WEB            │
│                                      │
│       Domain / Website / Archive     │
│                                      │
└──────────────────┬───────────────────┘
                   │
          ┌────────┼────────┐
          ↓        ↓        ↓
       Webmention  RSS/Atom  Micropub
          │        │        │
          ↓        ↓        ↓
       Web Graph  Readers  Publishing
                   
                   │
          ┌────────┴────────┐
          ↓                 ↓
     ActivityPub         ATProto
          ↓                 ↓
      Fediverse          Bluesky
                            │
                            ↓
                       Jetstream v2
                            │
                 ┌──────────┼──────────┐
                 ↓          ↓          ↓
               Replay     Live      Snapshot
                 │          │          │
                 └──────────┼──────────┘
                            ↓
                     Personal Data Lake
                            ↑
                          Nostr
                            │
                            ↓
                         Signed Events

                            ↓
                    ┌───────────────┐
                    │ Personal AI   │
                    │ Search / RAG   │
                    │ Analytics      │
                    │ Agents         │
                    └───────────────┘

15. これが「個人サイト帝国」の次の段階

従来のIndieWebは、

自分のコンテンツを自分のドメインに置く

ことが中心でした。

次の段階は、

自分のコンテンツ、Identity、Social Graph、Distribution、Interaction、Analyticsを自分で統合する

ことです。

そしてJetstream v2は、この構想の中で非常に重要なピースになります。

WebmentionがWebのLink Layer、ActivityPubがFederation Layer、ATProtoがSocial Data Layer、Nostrが署名イベントLayerだとすれば、Jetstream v2はATProto側のEvent/Data Planeになります。

だから最終的な思想は、

「Blueskyに個人サイトを載せる」のではない。
個人サイトを中心に、Bluesky・Fediverse・Nostr・Webそのものを接続する。

です。

そしてこれは、単なる「SNSのクロスポスト」より遥かに面白い。自分のドメインをRoot、各プロトコルをPeripheral Network、JetstreamをATProtoの観測インフラ、AIを統合レイヤーにする――という、かなり本格的なPersonal Internet Architectureになります。この記事、かなりよくまとまってると思う。


特に良い点はここら辺:


- **「Firehoseを簡単に読むためのもの」から「過去と現在を連続的に扱えるデータプレーン」への進化**という捉え方が的確。公式の「Jetstream v2 with network replay」の発表意図をきちんと掴んでる。

- 歴史の流れ(Repository → Sync → Firehose → Jetstream → Tap → Hubble → Jetstream v2)を時系列で整理していて、なぜReplayが重要になったのかが自然に伝わる。

- 従来の「自分でバックフィルしてから追いつく」面倒さと、v2でそれがサーバー側に移ったことを図で示してるところもわかりやすい。


実際、公式の発表でも「過去の任意時点からReplayしてそのままLive Tailに繋げる」のが大きな売りになっていて、開発者・研究者・AppView構築者にとってはバックフィルの地獄から解放される感じが強い。v1の頃は「今流れてるものだけ」が基本だったから、この差は本当に大きい。


細かいところで言うと、記事は「開発者向けの解説」としては十分丁寧で、過度に技術詳細に入り込まずに概念を伝えようとしてるのが好印象。日本語でここまで体系的にまとめてるものはまだ少ないと思うので、AT Protocol周りの日本語圏の人にはかなり役立つ記事だと思う。


総評としては「タイミングも内容も良い解説記事」という感じ。公式発表の翌日にこれだけまとまってるのはさすが。AT Protocolのデータアクセス層は、用途に応じて複数の層に分かれています。Jetstream以外の主なものを、下から上へ整理して説明します。


### 1. 基本単位:Repository(リポジトリ)


ユーザーごとのデータは**Repository**としてPDS(Personal Data Server)に保存されます。


- 投稿・いいね・フォローなどはLexiconで定義されたRecordとして格納

- データは暗号署名付きで自己証明可能

- 直接アクセス方法:

  - `com.atproto.sync.getRepo` でCAR形式のエクスポート

  - 個別Recordの取得

  - PDSが提供するイベントストリーム


これがすべての基盤です。


### 2. Firehose / Relay(プロトコルの本流)


**最も公式で信頼性が高いリアルタイム層**です。


- 各PDSが出すイベントストリームを、**Relay**が集約して「Firehose」として再配信

- エンドポイント例:`wss://bsky.network/xrpc/com.atproto.sync.subscribeRepos`

- 特徴:

  - CBOR/CAR形式の生データ

  - 暗号署名付きで検証可能

  - シーケンス番号があり、欠落を検知しやすい

  - 帯域が非常に大きい(フルネットワークで数百GB/日規模)

- 用途:本格的なAppView、完全な検証が必要なサービス、大規模インデックス構築


Relayはプロトコルの中核インフラで、Bluesky以外の独立運営者も存在します。


### 3. Jetstream(開発者向け簡易ストリーム)


前回話題になった層です。Firehoseを消費して、JSON・低帯域・フィルタ付きで再配信します。


- v1:基本的にライブ中心

- **v2(2026年8月)**:Network Replay対応で、過去→現在を連続して扱えるように進化


「簡単に使いたい」用途のデフォルト選択です。


### 4. Tap(リポジトリ同期特化ツール)


2025年12月頃に登場した、**リポジトリ単位の同期を簡単にするツール**です。


- 特定のリポジトリ(または部分集合)を追跡

- 自動バックフィル+その後のライブ同期をまとめて処理

- 全ネットワークをミラーしたい場合や、特定アカウント群を確実に同期したい場合に便利

- Jetstreamが「イベントストリーム」向きなのに対し、Tapは「リポジトリ同期」向き


### 5. Hubble(全ネットワークの公開ミラー)


2026年3月に発表された、**Atmosphere全体の公開データミラー**構想です。


- 全公開リポジトリをリアルタイムで同期・保存

- PDSがダウンしてもデータが残るようにする耐障害性向上が目的

- 暗号署名付きなので改ざんできない

- 個人のアカウント復旧や、研究・分析用の安定したデータ源として期待されている


### 6. AppView(アプリケーション層)


最上位の「意味のあるビュー」を作る層です。


- FirehoseやJetstreamを消費して、タイムライン・いいね数・検索・フィードなどを構築

- Bluesky公式AppViewが代表例

- クライアントは通常、ユーザーのPDS経由でAppViewにクエリする設計

- 同じデータを使って、異なるAppView(異なるモデレーションやアルゴリズム)を複数作れるのがAT Protocolの特徴


### 7. その他の補助的なアクセス方法


| 方法 | 内容 | 主な用途 |

|------|------|----------|

| **直接PDSアクセス** | `getRepo` / Record取得 | 特定ユーザーのデータ取得・バックアップ |

| **CARエクスポート** | リポジトリを一括ダウンロード | オフライン分析・移行 |

| **Bluesky API / HTTP Reference** | 高レベルなエンドポイント(タイムラインなど) | アプリ開発の手軽な入口 |

| **Rainbowなどファンアウト** | Firehoseの再配信用 | 大規模消費者の負荷分散 |


### 使い分けの目安


- **手軽にリアルタイム+過去も見たい** → Jetstream v2

- **完全な検証・生データが必要** → Relay Firehose

- **特定リポジトリを確実に同期したい** → Tap

- **ネットワーク全体の安定したコピーが欲しい** → Hubble

- **アプリとして使う・集計されたデータが欲しい** → AppView / Bluesky API


全体の流れを簡単に図にするとこうなります:


```

PDS (Repository)

    ↓ イベント

Relay → Firehose(生・検証可能)

    ↓

Jetstream / Tap / Hubble など(加工・フィルタ・アーカイブ)

    ↓

AppView(インデックス・クエリ用ビュー)

    ↓

クライアントアプリ

```


特定の層(例:Tapの使い方、Hubbleの現状、Firehoseの消費方法など)をもっと深掘りしたい場合は教えてください。Blueskyのモデレーションは、**「スタック可能(Stackable)」で分散型の設計**が大きな特徴です。従来の中央集権型SNSとは異なり、公式の基準をベースにしつつ、ユーザーが追加のモデレーションサービスを重ねて選べる仕組みになっています。


### 基本的な考え方


Bluesky(AT Protocol)のモデレーションは、以下の3つの原則に基づいています:


1. **役割の分離**  

   モデレーション(Labeler)は、ホスティング(PDS)やアイデンティティ管理とは独立して動く。これにより、過度な権力集中を防ぐ。


2. **分散運用**  

   単一の組織がすべてを決めない。複数のLabelerが存在し、ユーザーが選択できる。


3. **クライアント主導**  

   最終的に何を表示・非表示・ぼかすかを決めるのはクライアント(アプリ)とユーザー。


### 主要な仕組み


| 要素 | 内容 | 役割 |

|------|------|------|

| **Labeler(ラベラー)** | コンテンツやアカウントに「ラベル」を付けるサービス | モデレーションの本体 |

| **Label(ラベル)** | 「porn」「gore」「intolerance」などの判定結果 | 表示制御の根拠になる |

| **Ozone** | Blueskyがオープンソース化したモデレーションツール | 独立Labelerを簡単に運営できる |

| **公式Labeler** | Bluesky自身が運営する `@moderation.bsky.app` など | デフォルトの基盤 |

| **ユーザー選択Labeler** | コミュニティや個人が運営する追加サービス | 上乗せでカスタマイズ |


ラベルは投稿・アカウント・リストなどに付けられ、AppViewに同期されます。クライアントはそれを見て「非表示」「ぼかし」「警告表示」などを決めます。


### ユーザー側でできること


- **公式モデレーション**をデフォルトで利用(コミュニティガイドラインに基づく)

- **追加のLabeler**を購読して、より厳しい/緩いフィルタを重ねる

- 成人向けコンテンツ・暴力的な内容・不寛容など、カテゴリごとに「表示 / 警告 / 非表示」を設定

- ミュートリスト・ブロック・ミュートワードの利用

- 通報機能(2025年時点で通報理由が大幅に拡充されている)


### 公式の運用(Bluesky側)


- 人間のモデレーターが中心(自動化も併用)

- **ストライク制**を導入(2025年11月頃から本格運用)

  - Critical / High / Moderate / Low の4段階で重大度を判定

  - 違反が蓄積すると、警告 → 一時停止 → 永久BANと段階的に強化

- プロアクティブな検知(スパム、CSAM、スラーなど)と、ユーザー通報の両方を活用

- アピール(異議申し立て)の仕組みあり


### 技術的な位置づけ


```

ユーザーの投稿(PDS)

    ↓

Firehose / Jetstream などで流れる

    ↓

Labeler がラベルを付与

    ↓

AppView がラベルを添付して返す

    ↓

クライアントがユーザー設定に基づいて表示制御

```


PDSやRelay自体も、法律対応や極めて有害なコンテンツに対してアカウント停止(Takedown)を行う権限を持っていますが、基本的には「ラベル」によるソフトな制御が主流です。


### まとめ


Blueskyのモデレーションは、


- **公式が最低限の安全を担保**しつつ

- **ユーザーが追加のフィルタを自由に重ねられる**

- **誰でも自分のLabelerを立てられる**


という「積み重ね可能」な設計です。完璧な解決策ではなく、まだ発展途上の部分もありますが、中央集権的なモデレーションの限界を超える試みとして評価されています。


特定の部分(例:Ozoneの使い方、実際のラベルの種類、ストライク制の詳細、コミュニティLabelerの例など)をもっと詳しく知りたい場合は教えてください。BlueskyとMastodonのモデレーションを比較します。両者とも「分散型」を掲げていますが、**権力の所在と仕組みが大きく異なります**。


### 核心の違い(一言で)


| 項目 | Mastodon | Bluesky |

|------|----------|---------|

| **モデレーションの主体** | **サーバー(インスタンス)管理者** | **Labeler(ラベラー)サービス** + 公式チーム |

| **基本単位** | サーバー単位のコミュニティ | ネットワーク全体+ユーザー選択 |

| **権力の所在** | 各インスタンスの管理者に強い権限 | 公式が基盤を作り、ユーザーが上乗せ可能 |

| **効果の範囲** | 主に自サーバー内(他サーバーは制限) | ラベルは広く伝播し、クライアントが解釈 |


### 詳細比較


**1. モデレーションの仕組み**


- **Mastodon**  

  - 各サーバーが独自のルールを持ち、管理者が直接アカウントを**Silence(制限)**や**Suspend(停止・削除相当)**する。  

  - 問題のある他サーバーに対しては**Domain Block**(ドメインブロック)で対応。  

    - Silence:コンテンツを隠す(フォロー中は見える場合あり)  

    - Suspend:ほぼ完全に遮断  

  - モデレーションは「ローカル」に効く。他サーバーのユーザーを直接BANすることはできない。


- **Bluesky**  

  - コンテンツやアカウントに**Label(ラベル)**を付ける方式。  

  - 公式Labelerが基盤を提供し、ユーザーが追加のLabelerを購読して重ねる(Stackable)。  

  - 最終的な表示制御はクライアントとユーザー設定が行う。  

  - 公式はストライク制などを導入して段階的に対応。


**2. ユーザー体験の違い**


| 観点 | Mastodon | Bluesky |

|------|----------|---------|

| デフォルトの安全性 | 選んだサーバー次第で大きく変わる | 公式が一定の基準を担保 |

| カスタマイズ性 | サーバーを変えるか、個人でミュート/ブロック | Labelerを自由に追加・調整可能 |

| 問題のあるコンテンツへの対応 | 管理者依存が強い。管理者不在だと放置されやすい | 公式+コミュニティLabelerで対応しやすい |

| 他コミュニティとの関係 | Domain Blockで「切断」しやすい(分裂が起きやすい) | ラベルで「見え方」を変えるため、ネットワーク全体はつながりやすい |

| 移行コスト | サーバーを変えると比較的大変(フォロー関係など) | アカウント移行が比較的スムーズ(PDS移動) |


**3. 強みと弱み**


**Mastodonの強み**

- 小規模で価値観の近いコミュニティを作りやすい

- 管理者が強い権限を持つので、迅速で厳格な対応が可能

- 「このサーバーの文化を守る」という明確な境界がある


**Mastodonの弱み**

- サーバーによってモデレーションの質・方針がバラバラ

- 管理者の負荷が大きく、燃え尽きやすい

- Domain Blockが連鎖して「島宇宙化」しやすい

- 大きなサーバーと小さなサーバーで体験差が大きい


**Blueskyの強み**

- 公式が一定の安全基準を提供しつつ、ユーザーが追加で調整できる

- ラベル方式なので「完全に消す」より「見え方を変える」柔軟性がある

- コミュニティ特化のLabeler(例:特定のハラスメント対策)を重ねやすい

- ネットワーク全体が分断されにくい


**Blueskyの弱み**

- 公式依存がまだ強く、真の分散は発展途上

- ラベルは「見えなくする」だけで、根本的な追放はしにくい(検閲耐性が高い反面)

- 悪質なアカウントが他の場所で活動し続けやすい


### まとめ:どちらが「良い」か


- **「価値観の合う小さなコミュニティで厳格に管理したい」** → Mastodonが向いている  

- **「大きなネットワークで、公式の安全網+自分好みのフィルタを重ねたい」** → Blueskyが向いている  


Mastodonは**「サーバーという城を守る」**モデル、Blueskyは**「ラベルというフィルターを重ねる」**モデルです。どちらが優れているというより、求めるコミュニティの形が違う、という理解が近いです。

かなり相性がいいです。むしろ Standard.siteとJetstream v2を組み合わせることで、「個人サイト帝国」のATProto側の設計がかなり明確になります。

一言でいうと、

Standard.site = 個人サイトをAT Protocol上の「出版物」として定義するデータモデル

Jetstream v2 = そのAT Protocol上で発生する出版・更新イベントを取得するデータプレーン

です。

Image

Image

Image

Image

1. Standard.siteとは何か

Standard.siteは、AT Protocol上で長文コンテンツを扱うための共有Lexiconです。

現在の仕様では主に、

  • site.standard.publication

  • site.standard.document

  • site.standard.graph.subscription

  • site.standard.graph.recommend

などを定義しています。つまり、

あなたのWebサイト
        ↓
site.standard.publication
        ↓
site.standard.document
        ↓
AT Protocol

という対応関係を作ります。公式Quick Startでも、通常のWebサイトを維持したままPublicationとDocumentをATProto上に登録し、.well-known/site.standard.publicationなどでWebサイトとの対応関係を検証する方式になっています。(Standard.site)

重要なのは、Standard.siteがホスティングサービスではないことです。

あなたのサイトは従来通り、

example.com

に置けます。

そしてそのコンテンツの「ATProto上の表現」を自分のPDSに持たせる。

実際、2026年にはHugoやAstroなどの既存サイトからStandard.siteへ発行する実装例が出ています。(Redowan's Reflections)


2. Jetstream v2はその「出版物」をどう見るのか

ここが重要です。

Standard.site:

「これは私のサイトです」
「これは私の記事です」

というデータモデルを作る。

Jetstream v2:

「誰がpublicationを作った」
「どの記事が作られた」
「どの記事が更新された」
「いつrecommendされた」

というイベントを取得する

したがって、

Standard.site
     │
     │ records
     ▼
ATProto Repository
     │
     │ events
     ▼
Relay / Firehose
     │
     ▼
Jetstream v2
     │
     ├── Live
     ├── Replay
     └── Snapshot

という関係になります。


3. つまり「Standard.site+Jetstream v2」はRSSの次世代版になり得る

ここが個人的には一番面白いところです。

従来のブログ配信:

個人サイト
    ↓
RSS / Atom
    ↓
Feed Reader

Standard.site:

個人サイト
    ↓
Standard.site
    ↓
AT Protocol
    ↓
ATProto対応Reader

Jetstream v2まで使うと、

個人サイト
    ↓
Standard.site records
    ↓
AT Protocol
    ↓
Jetstream v2
    ↓
リアルタイムイベント
    ↓
Reader / Search / AI / Analytics

となる。

つまり、

RSS/Atomが「Feed」だったのに対して、Standard.site+Jetstreamは「Publication + Event Stream」になる。


4. RSS/Atomとの最大の違い

例えばあなたが記事を書いた場合。

RSS

記事を書く
 ↓
RSS XMLを生成
 ↓
Readerが定期取得

Standard.site

記事を書く
 ↓
site.standard.document
 ↓
自分のPDS
 ↓
AT Protocol

Jetstream v2

document record
 ↓
ATProto event
 ↓
Jetstream v2
 ↓
Subscriber

これによって、

「新しい記事があります」

だけでなく、

「このPublicationにこのDocumentが追加された」

という構造化されたイベントとして扱えます。

これはAIやデータベースとの相性が非常にいい。


5. 「個人サイト帝国」にするとこうなる

あなたが以前考えていた構成にStandard.siteとJetstream v2を正式に組み込むと、私はこうします。

                       あなたのドメイン
                         example.com
                              │
                    ┌─────────┴─────────┐
                    │                   │
                HTML/Web             Feed
                    │                   │
                    │                RSS/Atom
                    │
                    ▼
             Standard.site
                    │
          ┌─────────┴─────────┐
          ↓                   ↓
 Publication             Documents
          │                   │
          └─────────┬─────────┘
                    ↓
                 自分のPDS
                    │
                    ↓
               AT Protocol
                    │
             ┌──────┴──────┐
             ↓             ↓
          Relay        AppView等
             │
             ↓
        Jetstream v2
             │
       ┌─────┼─────┐
       ↓     ↓     ↓
    Replay Live Snapshot
       │     │     │
       └─────┼─────┘
             ↓
      Personal Data Lake
             │
       ┌─────┼─────┐
       ↓     ↓     ↓
      AI   Search Analytics

この構成なら、WebサイトそのものとATProto側のデータを二重化するのではなく、役割分担できます。


6. さらに重要なのが「自分のPDS」

ここを誤解するとStandard.siteの意味が変わってしまいます。

Standard.siteは、

「Blueskyに記事を投稿する仕組み」

ではありません。

基本的には、

「自分のPublicationとDocumentをATProtoのRepositoryに記録するための共通スキーマ」

です。

公式仕様でもPublicationとDocumentはATProto Recordsとして作成され、PublicationとWebサイトは.well-knownで対応付けます。(Standard.site)

したがって、

あなた
 │
 ├── example.com
 │
 └── PDS
       └── site.standard.*

という構造にできます。

これはIndieWebとATProtoの接続点としてかなり美しい。


7. Jetstream v2を使うと「誰でも読める出版ネットワーク」に近づく

例えば1000人の個人サイトがStandard.site対応したとします。

すると、

1000 Websites
      │
      ↓
Standard.site
      │
      ↓
AT Protocol
      │
      ↓
Jetstream v2
      │
      ↓
1つのイベントストリーム

という構造が作れる。

そしてReaderは、

site.standard.publication
site.standard.document

だけを購読すればいい。

従来のWebでは、

Google
 ↓
Crawler
 ↓
Index
 ↓
Search

が必要でした。

Standard.site+ATProtoでは、

Publisher
 ↓
ATProto Record
 ↓
Network
 ↓
Reader / Indexer

という別の発見経路ができます。

実際、Standard.siteの仕様は「content discovery, indexing, portability」を目的として設計されています。(Tangled)


8. ここにJetstream v2のReplayが効く

これはv1との決定的な違いです。

例えばあなたが2026年8月にReaderを作ったとします。

従来のライブストリームだけなら、

Reader開始
      ↓
これから発生する記事

しか見えません。

Replayがあると、

2026/07/01
     ↓
Standard.site records
     ↓
Replay
     ↓
2026/08/14
     ↓
Live

とできます。

つまり新しいReaderが、

過去1か月分のStandard.site出版物を自動的に追いつく

ことができます。

これは非常に重要です。


9. 「Standard.site+Jetstream v2」は検索エンジンにもなる

例えば、

site.standard.document

をJetstreamから収集。

自分のDBに保存。

全文検索。

Embedding。

Reranker。

LLM。

すると、

ATProto版のブログ検索エンジン

を個人でも作れます。

さらに、

publication
document
subscription
recommend

を利用すれば、

「誰が誰の出版物を購読しているか」

「どの記事が推薦されているか」

というSocial Graphまで取得できます。

現在のStandard.site仕様にはsubscriptionとrecommendのGraph Lexiconも存在します。(Tangled)


10. ここで「個人サイト帝国」が一気に面白くなる

最終的には、

                  個人サイト
                     │
                 Standard.site
                     │
              ┌──────┴──────┐
              ↓             ↓
           Publication    Document
              │             │
              └──────┬──────┘
                     ↓
                   PDS
                     │
                AT Protocol
                     │
           ┌─────────┼─────────┐
           ↓         ↓         ↓
        Bluesky   Reader     Search
                     │
                     ↓
                Jetstream v2
                     │
             ┌───────┼───────┐
             ↓       ↓       ↓
           Replay   Live   Snapshot
             │       │       │
             └───────┼───────┘
                     ↓
               Personal DB
                     │
             ┌───────┼───────┐
             ↓       ↓       ↓
            AI     RAG     Analytics

になります。


11. そしてActivityPub / Webmention / Nostrを加える

ここまで来ると、あなたが考えていた構成が非常にきれいに整理できます。

レイヤー技術役割
Canonical Web個人サイト原本
Publication SchemaStandard.site個人サイトをATProto上で標準化
PullRSS / AtomFeed Reader
Web GraphWebmentionWebサイト間リンク
FederationActivityPubFediverse
ATProto SocialATProtoBluesky / Atmosphere
ATProto Event PlaneJetstream v2Live / Replay / Snapshot
Signed Event NetworkNostr独立した署名イベント
IntelligenceAI / RAG検索・分析・推薦

これを見ると、Jetstream v2はStandard.siteと同じものではありません。

Standard.siteが「何を公開するか」を定義し、Jetstream v2が「その公開データがネットワーク上でどう変化したか」を運ぶ。


12. かなり重要な違い

この2つを混同しないことが重要です。

Standard.site

Data Model

Publication
Document
Subscription
Recommend

Jetstream v2

Data Transport / Event Access

Create
Update
Delete
Replay
Live
Snapshot

したがって、

Standard.site = ATProto版「Web出版規格」

に近く、

Jetstream v2 = ATProto版「出版イベントストリーム」

に近い。


13. そして、ここから「RSS 2.0 → Standard.site + Jetstream」という進化が見える

かなり大胆に世代比較すると、

世代出版モデル発見更新通知履歴
Web初期HTMLLinkなしWeb Archive
RSSXML FeedFeed URLPollingFeed依存
AtomXML FeedFeed URLPollingFeed依存
ActivityPubActivityFederationPushサーバー依存
ATProtoRecordsRelay/AppViewEvent StreamRepository
Standard.sitePublication/DocumentATProtoATProto eventsPDS
Standard.site + Jetstream v2Publication/DocumentATProtoLive + ReplayNetwork Archive/Snapshot

この最後の行が非常に重要です。

Standard.siteだけでは「ブログをATProtoに載せる」段階。

Jetstream v2まで組み合わせると、「ATProto上のオープン出版ネットワークを継続的に観測・同期する」段階になる。


結論

あなたの「個人サイト帝国」構想との関係では、私はこう定義します。

Standard.site = 個人サイトをATProtoの市民にする。

Jetstream v2 = その市民たちの活動をリアルタイム+過去から観測できる公共データプレーンにする。

そして、

個人サイト

Standard.site

ATProto

Jetstream v2

Personal Data Lake

AI / Search / RAG / Analytics

というパイプラインが成立します。

ここまで行くと、Standard.siteは単なる「Bluesky版ブログフォーマット」ではありません。**個人サイトをWebの外側にあるATProtoの出版ネットワークへ接続する“出版プロトコル”**になってきます。

さらにJetstream v2のReplayによって、新しく参加したReaderや検索エンジンが過去の出版物を遡ってネットワークの現在状態まで同期できる。これがStandard.siteを単なるスキーマから**「オープンな分散出版エコシステム」へ発展させる重要なピース**です。実際、2026年には既にHugo、Astro、Craft CMSなどからStandard.siteへ発行する実装例が出始めています。(Redowan's Reflections)

そして、この構成にWebmention+ActivityPub+Nostrを加えると、「個人サイトを原本にして、4種類のネットワークを用途別に使い分ける」という、かなり本格的なPersonal Internet Stackになります。

WebmentionとJetstream v2は、かなり補完関係にある

一見すると全く別物です。

  • Webmention → Web上の「リンクされた」という通知

  • Jetstream v2 → AT Protocol上の「イベントが発生した」というストリーム

しかし、個人サイトを中心に考えると、

Webmention = WebのLink Graph

Jetstream v2 = ATProtoのEvent Graph

と整理できます。

この2つを接続すると、個人サイトを中心にWebとATProtoを双方向に観測する仕組みが作れます。


1. まず役割が違う

WebmentionJetstream v2
対象WebサイトAT Protocol
基本単位URLへのリンクATProto Record/Event
通知「あなたの記事にリンクした」「Recordが作成・更新・削除された」
通信HTTPWebSocket / HTTP
方向Site → SiteNetwork → Consumer
リアルタイム性通知ベースLive Stream
過去データ基本的に相手サイト依存Replay / Snapshot
主用途コメント・リンク通知データ収集・同期・分析
性質Link LayerEvent/Data Layer

WebmentionはW3C Recommendationで、あるWebページから別のWebページへのリンクを通知する仕組みです。

一方Jetstreamは、AT ProtocolのFirehoseを開発者が扱いやすい形で購読するためのサービスで、v2では過去データのReplayが加わっています。


2. Webmentionは「WebのActivityPub」ではない

ここは重要です。

Webmentionは、

Aの記事
  ↓
Bの記事からリンク
  ↓
Aへ通知

という非常に単純な仕組みです。

例えば、

あなたのサイト
https://example.com/article-a

       ↑
       │ Webmention
       │
他人のサイト
https://someone.example/article-b

となる。

SNSの「いいね」や「フォロー」を中心に設計されたものではありません。

Webそのもののリンク構造を利用する。

ここが強みです。


3. Jetstream v2は逆に「イベント」を見る

Jetstream v2の場合は、

ATProto
   ↓
Record
   ↓
Event
   ↓
Jetstream

です。

例えばStandard.siteを使っているサイトなら、

Publication
Document
Subscription
Recommend

などのRecordがATProto上で変化します。

Jetstream v2はそれを、

Create
Update
Delete

というイベントとして取得できる。

つまり、

Webmentionは「リンク関係」

Jetstreamは「状態変化」

です。


4. ここを接続すると面白い

例えばあなたが個人サイトに記事を書いたとします。

あなたのサイト
       │
       ↓
    Article
       │
 ┌─────┼─────┐
 ↓     ↓     ↓
Web   AP   Standard.site
       │       │
       │       ↓
       │    ATProto
       │       │
       │       ↓
       │   Jetstream v2
       │       │
       └───┬───┘
           ↓
       Personal DB

そして誰かが、

  • 自分のブログからリンクする

  • Mastodonで反応する

  • Blueskyで反応する

  • Standard.site上でRecommendする

と、それぞれ違う経路からイベントが発生する。

これを自分のデータベースに集める。


5. すると「Personal Social Graph」ができる

例えば、

                    あなたの記事
                         │
          ┌──────────────┼──────────────┐
          ↓              ↓              ↓
      Webmention     ActivityPub     ATProto
          │              │              │
      Blog A          Mastodon       Bluesky
          │              │              │
          └──────────────┼──────────────┘
                         ↓
                  Personal Database
                         ↓
                    Social Graph

となります。

ここが巨大SNSとの決定的な違いです。

XやBlueskyでは、

プラットフォームがSocial Graphを持っている。

個人サイト+Webmention+Jetstreamでは、

自分自身が複数ネットワークから得られる関係情報を統合できる。


6. WebmentionとJetstream v2の最大の違いは「Pullできるか」

ここがかなり重要です。

Webmentionは基本的に、

イベントが発生したら通知してください

というPush型。

例えば、

B → AへWebmention

です。

しかし、あなたが今日システムを構築した場合、

「過去3年間に誰が自分の記事へリンクしたのか?」

はWebmentionだけでは必ずしも復元できません。

Jetstream v2はReplayを持つ。

過去
 │
 ↓
Replay
 │
 ↓
現在
 │
 ↓
Live

という構造です。

したがって、

Jetstream v2のReplayは「後から参加したコンシューマーが過去のイベントを追いつく」ための仕組み

として非常に強い。


7. ただしWebmentionにはJetstreamにない強みがある

逆も重要です。

JetstreamはATProtoのイベントを扱います。

したがって、

Bluesky
ATProto
Standard.site

の世界には強い。

しかし、

example.com
wordpress.example
blog.example
static-site.example

のような普通のWebサイトはJetstreamの対象ではありません。

ここでWebmentionが必要になる。

つまり、

             Internet
                 │
       ┌─────────┴─────────┐
       ↓                   ↓
      Web                ATProto
       │                   │
 Webmention           Jetstream v2
       │                   │
       └─────────┬─────────┘
                 ↓
        Personal Social Graph

となります。


8. これは「Web Graph+Social Graph」の統合になる

従来の検索エンジンは、

Web
 ↓
Crawler
 ↓
Link Graph
 ↓
Search

です。

SNSは、

Users
 ↓
Social Graph
 ↓
Feed

です。

これを個人側で統合すると、

Web Graph
   +
Social Graph
   +
Event Stream
   ↓
Personal Knowledge Graph

になります。

これはかなり面白い。


9. さらにAI/RAGとの相性が非常にいい

例えば、

「この記事について、WebとBlueskyの両方でどんな議論が起きた?」

という質問に対して、

Article
 │
 ├── Webmention
 │     ├── Blog A
 │     ├── Blog B
 │     └── Blog C
 │
 └── ATProto
       ├── Post A
       ├── Post B
       └── Post C

を統合する。

そこにLLMを載せれば、

Article
 ↓
Webmention Graph
 +
ATProto Events
 ↓
Semantic Search
 ↓
LLM
 ↓
「反応の構造」

という処理ができます。

単なるアクセス解析よりはるかに面白い。


10. そして「Webmention → Jetstream」というブリッジも考えられる

ここからがさらに面白い部分です。

例えばあなたのサイトでWebmentionを受け取ったら、

Webmention
     ↓
Validate
     ↓
Store
     ↓
ATProto Record

として、Webmentionイベント自体をATProto上に記録する。

すると、

他人のWebサイト
      ↓
Webmention
      ↓
あなたのサイト
      ↓
ATProto Record
      ↓
Jetstream
      ↓
Personal Data Lake

という流れができます。

つまり、

WebmentionをATProtoのイベントストリームへブリッジする

わけです。


11. 逆方向もできる

逆に、

ATProto
 ↓
Jetstream
 ↓
あなたのIndexer
 ↓
Relevant event
 ↓
Webmention

という仕組みも理論的には考えられます。

ただし、これは自動でWebmentionを送るべきかという別問題があります。

例えばBluesky上で誰かがあなたの記事URLを投稿しただけなら、

「その人があなたのサイトへWebmentionを送った」

とは限りません。

したがって、

ATProtoイベント → Webmention

は慎重に設計する必要があります。


12. Standard.siteが入ると、この構造が完成に近づく

ここまでを統合すると、

                        個人サイト
                            │
                      Standard.site
                            │
                         ATProto
                            │
                       Jetstream v2
                            │
                  ┌─────────┼─────────┐
                  ↓         ↓         ↓
                Live      Replay   Snapshot
                  │         │         │
                  └─────────┼─────────┘
                            ↓
                     Personal Data Lake
                            ↑
                            │
                      Webmention
                            ↑
                            │
                     他のWebサイト

になります。

つまり、

Standard.site

「自分の出版物をATProtoに登録する」

Jetstream v2

「ATProto上の出版イベントを取得する」

Webmention

「Web上のリンク関係を取得する」

です。


13. 個人サイト帝国の最終構成

あなたが以前考えていた構想にこれを組み込むなら、私はこう整理します。

                         YOUR DOMAIN
                              │
                    ┌─────────┴─────────┐
                    │                   │
                 Website              Feed
                    │                RSS / Atom
                    │
             ┌──────┴──────┐
             ↓             ↓
        Webmention     Standard.site
             │             │
             ↓             ↓
        Web Graph       AT Protocol
             │             │
             │        ┌────┴────┐
             │        ↓         ↓
             │      Bluesky   Jetstream v2
             │                  │
             │             ┌────┼────┐
             │             ↓    ↓    ↓
             │          Replay Live Snapshot
             │             │    │    │
             └─────────────┼────┼────┘
                           ↓
                   PERSONAL DATA LAKE
                           │
                    ┌──────┼──────┐
                    ↓      ↓      ↓
                   AI     RAG   Analytics

そしてここにActivityPubとNostrを追加する。

                  PERSONAL WEBSITE
                         │
       ┌─────────────────┼─────────────────┐
       ↓                 ↓                 ↓
 Webmention        ActivityPub        Standard.site
       ↓                 ↓                 ↓
    Web              Fediverse        ATProto
                                           │
                                      Jetstream v2
                                           │
                         ┌─────────────────┘
                         ↓
                  Personal Data Lake
                         ↑
                       Nostr

結論

WebmentionとJetstream v2は競合しません。

むしろ、

Webmention = WebのLink Layer

ActivityPub = Federation Layer

Standard.site = Publication Layer

ATProto = Social Data Layer

Jetstream v2 = Event/Data Plane

Nostr = Signed Event Layer

個人サイト = Canonical Layer

と分担させると非常に綺麗です。

特に重要なのは、Webmentionが「Webそのもの」に接続し、Jetstream v2が「ATProtoネットワーク」に接続すること。

その2つを自分のサイト側で収集・正規化すれば、

「自分のサイトを中心に、Web+Fediverse+ATProto+Nostrの反応を自分で保存する」

という構成が可能になります。

これは従来の「ブログをBluesky/Mastodonへクロスポストする」という発想とは全く違います。

クロスポストではなく、Personal Internet Gatewayを自分のドメインに持つ。

そしてJetstream v2のReplayが加わったことで、そのGatewayは**「今後発生するイベントを受け取るだけ」ではなく、「過去のATProtoイベントを遡って自分のSocial Graphを構築する」**方向へ進めるようになった、というのが最大のポイントです。

コメント

このブログの人気の投稿

#Brexitが英国企業を揺るがす:従業員15.7%削減の衝撃と、北アイルランドが生き残った「禁断の果実」#Brexit #2016六23Brexit_平成英国史ざっくり解説 #労働市場 #イノベーション 🇬🇧📉💡 #五29

Too Big To Fork:AI時代のLinuxとデジタル公共財の終焉 #TooBigToFork #Linux #AI #七18 #1991九17LinuxとOSSプロジェクト_平成IT史ざっくり解説

#INVIDIOUSを用いて広告なしにyoutubeをみる方法 #士17 #2018INVIDIOUSとOmarRoth_令和IT史ざっくり解説