
2026/08/21 5:22
ATProto Spaces:非公開データを可能にする ATProto の新たな拡張機能
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
AtProto Spaces は、非公開データの保存および同期を可能化しつつ、ポータブルなアイデンティティ、相互運用・ミックス可能なデータ、および許可不要の参加を維持するための新しいプロトコルプリミティブを表現します。ゲート付きミニマルネットワークとして機能し、各スペースは指定された「スペース権限者」(Decentralized Identifiers(DID))のみがアクセスを付与できる認証済みサブネットワークとして作用します。レコードは、著者の PDS 上の各スペース固有の倉庫内に安全に格納されます。重要なのは、スペースが機密性ではなくアクセス制御を管理するという点であり、データ自体は暗号化されていません。これらのスペースは軽量でオーバーヘッドが低く、1 レコードから最大 10 億人の参加者を含むネットワークまでに対応する大規模なスケールを処理可能です。同期プロトコルにより、グローバルパブリックファイアホースに依存せずに PDS ホストから直接リアルタイム更新が可能になります。
開発者は、特定の Docker ベースのインスタンスや rsky、ZDS(Zig)、atproto-crates、HappyView AppView フレームワークなどの Rust フレームワークを使用してこの技術をテストできます。実験用には、招待コードを通じて BPS アカウントで利用可能なホストされたアルファ版 PDS が提供されていますが、ユーザーはこれが共有サンドボックスであること、つまり誤使用が恒久的な禁止につながる可能性があることを認識しておく必要があります。また、アルファフェーズ終了後に警告なしにすべてのデータが削除される可能性があるため、ここに格納されるデータは一時的であることを留意すべきです。開発者には、スペースを新しい設定なしでサポートするタグ付き Docker イメージ(
ghcr.io/bluesky-social/atproto:pds-spaces-alpha)を使用して独自の PDS を実行すること推奨されますが、クリーンなマイグレーションが存在しない場合、破壊的な変更やスキーマ更新が発生する可能性があるため、実際のアカウントをこのバージョンにマイグレートすることは避ける必要があります。ユースケースとしては、プライベートな個人ストレージ(設定、ドラフト)、ゲート付きのサブスクリプションコンテンツ、大規模な共有コミュニティまで多岐にわたります。アップデートおよび告知は毎週木曜日にコミュニティフォーラムで予定され、Bulletin ボードスペースなどの例示アプリが既にこれらの機能を実証しています。本文
atproto Spaces アルファ版公開:非公開データ同期とゲート化ネットワークの登場
atproto 初登場以来最大のアップデートとして、開発直ぐに着手可能なアルファ版が公開されました。長年の努力の結晶であり、エコシステムからのフィードバックを踏まえた進化を遂げたプロトコルです。
背景とコンセプト:なぜ「Spaces」が必要なのか?
現在の atproto プロトコルには以下の特性があります。
- 全データが公衆向け公開: 投稿、フォロー、いいね、ブロックなどはすべて分散サーバーネットワーク上に保存され、「ファイアホース(firehose)」と呼ばれる収集・再ブロードキャストシステムを通じて全世界で共有されます。
- ロックインされていないネットワーク: この仕組みにより、ブルースキーやタンゲルドといった大規模アプリケーションの構築が可能でした。
- 公開モデルの限界: 設定管理、プライベートブックマーク、大規模フォーラム、サブスクリプション限定出版物など、非公開データを前提とした機能には既存の公開データモデルでは対応できません。
atproto Spacesはこの課題を解決する新たな基本単位として導入されました。
- 非公開データの保存・同期を可能にします。
- atproto の長所であるポータブルなアイデンティティ、相互運用性、ミックス&リユース可能なデータ、**許可不要での参加(permissionless participation)**といった優位性は維持されます。
アーキテクチャと仕組み
atproto Spaces は一言で言えば、**「ゲート化された小型の atproto ネットワーク」**です。
- 軽量設計: マイクロ版のような大掛かりさはありませんが、最小限のレコード数でも動作し、10 億件規模まで拡張可能です。
- ユーザー体験: インターフェースや利用感は従来のシステムとほぼ変わりません(DID 保有、JSON レコード、Lexicons 定義、リポジトリ同期など)。
アクセス制御の仕組み
- Space Authority:
へのアクセスは「権限機関(Space Authority)」と呼ばれる DID によって制御されます(場合によってはユーザー自身のアカウントがその役割を果たします)。space - 許可された保存場所: レコードは、作者の PDS 上の**「per-space permissioned repos」**に保存されます。
- 機密性 vs アクセス制御: Spaces はデータの暗号化(機密性)ではなく、アクセス権限の付与を提供します。権限のあるユーザーやアプリケーションであれば、データは平文で閲覧可能です。
利用ケースと同期プロトコル
Spaces は極めて柔軟な設計となっており、以下のような用途に対応しています。
- 最小限の利用: 1 メンバーのみで構成し、アプリの設定、下書き、ブックマークなどのプライベートデータを格納。
- ゲート付きコンテンツ: サブスクリプション限定出版物などを発行(特定の購読者だけが閲覧)。
- 共有の社会的文脈: 数百万人の参加者が持つコミュニティとして機能(公開プロトコルとは異なり、「リレー」概念は存在せず、アプリは直接 PDS ホストからデータを同期します)。
アルファ版の提供と開発環境
本日からは、動作確認済みコード、SDK サンプル、ホストされた PDS によるアルファ版が利用可能です。
注意: これは真に「アルファ」段階です。互換性を破る変更が含まれており、絶対に本番環境で実行すべきではありません。
ホストされた PDS(共有サンドボックス)
インフラなしで試したい場合は、招待コードを取得してホストされた PDS にアクセスできます。
- 更新頻度: 毎週金曜日にアップデート。詳細は
のアナウンススレッドを購読してください。atmosphere.community - 利用制限:
- メダレーション問題や悪用により永久追放の対象になります。
- データモデルが変更され、予告なしに全データが消去される可能性があります。
- 期間終了後、ホストされた PDS は削除されます。
独自の PDS 運用(Docker)
以下のタグ付き Docker イメージを維持しており、spaces に対応しています。
ghcr.io/bluesky-social/atproto:pds-spaces-alpha
- 互換性: 参考実装と同等で追加設定不要です。
- 警告: アルファソフトウェアのため本番環境での使用を強く推奨しません。データベーススキーマはクリーンなマイグレーションなしに変更され、バージョン間でのアップグレードが保証されない可能性があります。
エコシステムと開発の方向性
コード開発は継続中であり、以下の変更点やリスクを理解しておく必要があります。
- ⚠️ セキュリティ審査未完了: 機密情報(特に他者の情報)のアップロードは厳禁です。
- ⚠️ バックアップなし: 破壊的なデータマイグレーションの可能性があり、回復経路を提供しません。重要なコンテンツをアップロードしないでください。
- ⚠️ 開発者向けのみ: ユーザーを誘導しないこと。本番環境での利用は推奨されません。
- ⚠️ 仕様未確定: プロトコル設計、SDK、データベーススキーマは最終形ではありません。
既存の実装とプロジェクト
真のプロトコルは多数の実装で相互運用されています。以下の例証アプリやライブラリが既に開発されています:
- Zig: [PDS: ZDS]
- Rust:
ベースの PDSatproto-crates - Blacksky: Rust ベース PDS (rsky)
- HappyView: AppView フレームワーク
また、共同作業掲示板アプリ Bulletin が動作しており、スペースをホストして共有できる機能を提供しています。
- ソースコード: GitHub - bulletin
- 開発用には TypeScript の @atproto パッケージ(アルファスナップショット)がインストール可能です。
今後のロードマップ
- 年末後半: ツール類の構築とリリースを目指します。
- 更新通知: 毎週金曜日に
フォーラムでアップデートをアナウンスします。Atmosphere Community
発見したバグや仕様への提言は遠慮なくご報告ください。atproto Spaces が可能にする新たなアプリケーションカテゴリーについて、開発者とユーザー双方にとって非常に兴奋的展開となっています。