FAQ

認証転送プロトコル (AT Proto) に関するよくある質問。Bluesky に関するよくある質問については、こちら をご覧ください。

AT プロトコルはブロックチェーンですか?

いいえ。AT プロトコルは フェデレーション プロトコル です。ブロックチェーンではありませんし、ブロックチェーンを使用していません。

ActivityPub を使用しないのはなぜですか?

ActivityPub は、Mastodon によって普及したフェデレーション ソーシャル ネットワーキング テクノロジです。

アカウントのポータビリティは、別のプロトコルを構築することを選択した主な理由です。ポータビリティは、突然の禁止、サーバーのシャットダウン、ポリシーの不一致からユーザーを保護するため、非常に重要であると考えています。ポータビリティのソリューションには、署名済みデータ リポジトリDID の両方が必要ですが、どちらも ActivityPub に後から簡単に組み込むことはできません。ActivityPub の移行ツールは比較的制限されており、元のサーバーがリダイレクトを提供する必要があり、ユーザーの以前のデータを移行することはできません。

もう 1 つの大きな理由は、スケーラビリティです。ActivityPub は、小規模から中規模のノードの広範なネットワーク間でメッセージを配信することに大きく依存しているため、個々のノードにトラフィックが殺到し、アクティビティのグローバル ビューを提供するのが困難になることがあります。AT プロトコルは、集約アプリケーションを使用してユーザーのホストからのアクティビティをマージし、全体的なトラフィックを削減して、個々のホストの負荷を大幅に削減します。

その他の小さな違いとしては、スキーマの扱い方に関する異なる視点、AP のダブル @ メール ユーザー名よりもドメイン ユーザー名を優先すること、大規模な検索とアルゴリズム フィードを実現するという目標などがあります。

JSON-LD や RDF を使用する代わりに Lexicon を作成する理由

Atproto は組織間でデータと RPC コマンドを交換します。データと RPC が有用であるためには、ソフトウェアが別のチームによって作成されたスキーマを正しく処理する必要があります。これが Lexicon の目的です。

私たちは、エンジニアが新しいスキーマを快適に使用および作成できるようにし、開発者がシステムの DX を楽しめるようにしたいと考えています。Lexicon は、開発者にとって非常に馴染み深く、さまざまな実行時正確性チェックを提供する、厳密に型指定された API の作成に役立ちます。

RDF は、システムがほとんどインフラストラクチャを共有しない、極めて一般的なケースを対象としています。概念的にはエレガントですが、使いにくく、開発者が理解できない構文が多数追加されることがよくあります。JSON-LD は RDF ボキャブラリの使用タスクを簡素化しますが、RDF を読みやすくするのではなく、基礎となる概念を隠すことによって簡素化します。

私たちは RDF の使用を非常に詳しく検討しましたが、開発者エクスペリエンス (DX) やそれが提供するツールが気に入りませんでした。

「XRPC」とは何ですか。なぜ ___ を使用しないのですか?

XRPC は、いくつかの規則が追加された HTTP です。私たちは「XRPC」という用語を廃止し、単に HTTP の ATProto 使用法と呼ぶことを目指しています。

XRPC は Lexicon を使用して HTTP 呼び出しを記述し、それらを /xrpc/{methodId} にマッピングします。たとえば、次の API 呼び出し:

await api.com.atproto.repo.listRecords({
  user: 'alice.com',
  collection: 'app.bsky.feed.post'
})

...次のものにマップされます:

GET /xrpc/com.atproto.repo.listRecords
  ?user=alice.com
  &collection=app.bsky.feed.post

Lexicon は、共有メソッド ID (com.atproto.repo.listRecords) と、予想されるクエリ パラメータ、入力本文、および出力本文を確立します。Lexicon を使用すると、呼び出しの入力と出力のランタイム チェックが実行され、上記の API 呼び出しの例のような型付きコードを生成できます。