用語集

AT プロトコルでは、すぐには馴染みのない用語が多数使用されています。このページでは、これらの用語を簡単に参照でき、移動情報へのリンクもいくつか含まれています。

Atmosphere

「Atmosphere」は、AT プロトコル のエコシステムを説明するために使用する用語です。

AT プロトコル

AT プロトコルは、「Authenticated Transfer Protocol」の略です。この名前は、すべてのユーザー データが作成ユーザーによって署名されているという事実に由来しています。これにより、多くのサービスを通じてデータをブロードキャストし、発信元サーバーと直接通信しなくても、データが本物であることを証明できます。

この名前は、atproto がソーシャル システム向けに設計されているため、「@」記号、別名「at」記号をもじったものです。

PDS (パーソナル データ サーバー)

PDS (パーソナル データ サーバー) は、ユーザーをホストするサーバーです。PDS は常にユーザーの データ リポジトリ と署名キーを保存します。また、ユーザーに ハンドルDID を割り当てることもあります。多くの PDS は複数のユーザーをホストします。

PDS は AppViews と通信してアプリケーションを実行します。PDS は通常、それ自体ではアプリケーションを実行しませんが、OAuth ログイン画面などの一般的なアカウント管理インターフェイスを備えています。PDS は データ リポジトリリレー と積極的に同期します。

AppView

AppView は Atmosphere 内のアプリケーションです。ネットワークの 1 つのビューにすぎないため、「AppView」と呼ばれます。正規データは、PDS によってホストされる データ リポジトリ に保存され、そのデータはさまざまな方法で表示できます。

AppView は Web 上の検索エンジンに少し似ています。Atmosphere 全体からデータを集約して UI を生成します。違いは、AppView がユーザーの PDS とも通信して リポジトリ に情報を公開し、完全なアプリケーション モデルを形成することです。この通信は、OAuth ログイン フローの一部として確立されます。

リレー

リレーは、Atmosphere 全体からの データ リポジトリ の集約機能です。PDS からリポジトリを同期し、変更イベントのファイアホースを生成します。AppView はリレーを使用してユーザー データを取得します。

リレーは最適化であり、厳密には必要ではありません。AppViewPDS と直接通信できます (実際、必要な場合はこれが推奨されます)。リレーは、ネットワークで必要な接続の数を減らすのに役立ちます。

Lexicon

Lexicon はスキーマ言語です。Atmosphereデータ レコード と HTTP API を記述するために使用されます。機能的には、JSON-SchemaOpenAPI と非常によく似ています。

Lexicon の唯一の目的は、開発者が互換性のあるソフトウェアを構築できるようにすることです。

データ リポジトリ

「データ リポジトリ」または「リポジトリ」は、ユーザーを表すパブリック データセットです。これは、JSON レコード と非構造化 blobコレクション で構成されています。すべてのリポジトリには、それを識別する 1 つの永続的な DID が割り当てられます。リポジトリには、人間が読める名前として機能する ドメイン ハンドル をいくつでも持つことができます。

データ リポジトリは、署名されたマークル ツリーです。その署名は、リポジトリの did で公開されたキー マテリアルに対して検証できます。

コレクション

「コレクション」は、データ リポジトリ 内の JSON レコード のバケットです。順序付きリスト操作をサポートします。すべてのコレクションは、NSID によって識別され、Lexicon スキーマにマップされることが想定されています。

レコード

「レコード」は、repo collection 内の JSON ドキュメントです。レコードのタイプは $type フィールドによって識別され、Lexicon スキーマにマッピングされることが期待されます。また、タイプは、それを含む collection と一致することが期待されます。

BLOB

BLOB は、repo 内に格納される非構造化データです。画像や動画などのメディアを格納するために最もよく使用されます。

ラベル

ラベルは、repos および records に添付されるメタデータ オブジェクトです。通常、ラベルの意味を識別する「nudity」や「graphic-media」などの値によって参照されます。ラベルは主にアプリケーションによってモデレーションに使用されますが、他の目的にも使用できます。

ハンドル

ハンドルは、データ リポジトリ を識別するために使用されるドメイン名です。リポジトリには複数のハンドルを割り当てることができます。ハンドルは、ドメイン セグメントの at:// URI で使用できます。

DID (分散 ID)

DID (分散 ID) は、データ リポジトリ を表す、ユニバーサルに一意な識別子です。これらは永続的で、人間が判読することはできません。DID は W3C 仕様 です。AT プロトコルは現在、2 つの異なる DID メソッドである did:webdid:plc をサポートしています。

DID は、リポジトリ に関するメタデータ (リポジトリの PDS のアドレス、リポジトリの ハンドル、公開署名キーなど) を含むドキュメントに解決されます。

NSID (名前空間 ID)

NSID (名前空間 ID) は、AtmosphereLexicon スキーマを識別するために使用される識別子形式です。これらは、app.bsky.feed.post などの逆 DNS 形式に従います。これらは、ドメイン所有権を介して明確なスキーマ ガバナンスを提供するため選択されました。逆 DNS 形式は、URI 内のドメインとの混乱を避けるために選択されました。

TID (タイムスタンプ ID)

TID (タイムスタンプ ID) は、レコード キーに使用される識別子形式です。これらは現在の時刻から派生し、衝突を回避し、辞書式ソートを維持し、データ リポジトリ の内部データ構造を効率的にバランスさせるように設計されています。

CID (コンテンツ ID)

CID またはコンテンツ識別子は、レコード の暗号化ハッシュです。レコードの特定のバージョンを追跡するために使用されます。

DAG-CBOR

DAG-CBOR は、atproto で使用されるシリアル化形式です。暗号検証に重要な信頼性の高い標準形式を提供するため、この形式が選択されました。

XRPC

XRPC は非推奨の用語ですが、歴史的には atproto の HTTP 使用法を説明するために使用されていました。これは「組織間リモート プロシージャ コール」の略語ですが、実際には HTTP を使用しているだけなので、この用語を発明したことを後悔しています。