Skip to content

Instantly share code, notes, and snippets.

@yamarten
Last active November 27, 2024 02:47
Show Gist options
  • Save yamarten/a37acb70d421014029f33a8e8380c22e to your computer and use it in GitHub Desktop.
Save yamarten/a37acb70d421014029f33a8e8380c22e to your computer and use it in GitHub Desktop.
独断で選んだatproto用語一覧

ATP用語

用語 別名 意味 出典 備考

Authenticated Transfer Protocol

atproto[1],
ATP,
AT Protocol

非中央集権型アプリケーションにおける情報の保管と通信を担うプロトコル

公式ドキュメント

PDS

Personal Data Server

ユーザの情報を保持し、クライアントとの通信を担うサーバー

公式ドキュメント

将来的にはサービスとしての機能を完全に分離する展望 参考

relay

Big Graph Server(BGS)[2],
crawling indexer[3]

複数のPDSをクローリングして情報を収集するサーバー

indigoドキュメント bskyドキュメント

bigskyという公式実装が存在する

App View

appview,
aggregator[4],
algorithm

BGSが集めた情報や他appviewを使って何かしらの出力をPDS等に提供する処理、またはそれを行うサーバー

bskyドキュメント

moderation service

labeler

labelの生成・付与などモデレーション関連の処理を提供するサーバー

PDS/appviewからreport処理を委託されるものと3rd-partyのものが区別されているかは不明

firehose

巨大なストリームを指すジャーゴンで、atprotoでは特にサーバ上の更新全てを含むストリームを指す

wiktionary bskyドキュメント

big-world

relayを含めた通信や、そのネットワーク

公式ドキュメント

handle

domain name, DNS name

DNSで解決可能な形式のユーザー識別子

公式ドキュメント

application

service?

(特にプロトコルの文脈で)com.atproto以外のlexiconやそれを処理するロジック?

appview+クライアントがユーザーに提供するもの、くらいの認識でいいかも

lexicon

ATP上のサービスで使うAPIやデータ型を定義したJSON Shema

公式ドキュメント

DID Placeholder

did:plc[5]

ATPのために作られたDIDメソッド

公式ドキュメント

将来的にはplaceholderという名前を変えて続けると言われている

signing key

repositoryの署名に用いる秘密鍵、またはその検証に用いる公開鍵

公式ドキュメント

PDSが管理する

rotation key

did:plcで使用する、DIDドキュメント更新が可能な鍵ペア

did:plc仕様

複数存在が可能

recovery key

rotation keyの内、鍵流出等の非常事態にのみ使用するペアの非公式名称

開発者投稿

古い仕様におけるrecovery keyと役割は同じだが、DIDドキュメントに含まれない等の差異がある点に注意

repository

repo

PDSが管理する、ユーザー1人の情報全てを履歴込みで集約したもの

公式ドキュメント

record

block[6]

repositoryにおけるデータの保存単位で、lexiconで定義された型を持つCBOR

公式ドキュメント

Blueskyではpostやlikeを表す

blob

binary large object

postに添付された画像などのバイナリデータ

実装時PR

recordから参照されはするがrepositoryには含まれない

collection

repositoryの中で同じ型のrecordの集合

公式ドキュメント

commit

特定時点のrepository

公式ドキュメント

TID

Timestamp ID

タイムスタンプから生成した文字列

公式ドキュメント

rkey

collection内におけるrecordの識別子

公式ドキュメント

通常はTIDを使うが、それ以外も許す

XRPC

lexiconで定義された処理を呼び出すためのHTTPリクエスト形式

公式ドキュメント

NSID

NameSpaced ID

lexiconで定義されたAPIやデータ型を示す識別子

公式ドキュメント

逆ドメイン名で表される

label

repositoryに含まれない、recordについたメタデータ

bskyドキュメント

通報に対してPDS管理者が付けたり、big-worldのlabelerが独自のロジックで付けたりする

entryway

PDSへのproxyを行うサーバで、複数PDSを単一サーバに見せることができる

bskyドキュメント

bsky.social がこれ

死語

用語

別名

意味

出典

備考

small-world

PDS同士の直接通信や、そのネットワーク

公式ドキュメント

今後PDS間通信が実装されるかは不明

name server

handleを保証するサーバー

公式ドキュメント

head

repositoryの内で最新のcommit

getHaed APIの改名

関連用語

用語 別名 意味 出典 備考

Bluesky

ATPを生み出したプロジェクト、またはそれを行う法人、またはapp.bsky lexiconを使ったATP上のSNS

設立時のツイート 公式ウェブサイト

DID

decentralized identifier

W3C仕様に従う、複数のマシンやサービスから参照可能な識別子

DID仕様

永続的なユーザー識別子として使われる

IPLD

InterPlanetary Linked Data

データの保管場所に依存しない参照を実現する分散型システム向けデータモデル

公式ドキュメント

CID

Content IDentifier

コンテンツ自身のハッシュを使った識別子

IPLDドキュメント

主にIPFSで使われる

CBOR

Concise Binary Object Representation

JSONのような構造を持つバイナリデータ形式

公式ウェブサイト

ATPの文脈では通常IPLD用サブセットであるIPLD-CBORを指す

CAR

Content Addressable aRchives

IPLDにおけるアーカイブ形式

IPLD仕様

sync系API等で扱う場合がある

Merkle search tree

MST

KVSから決定論的に構築される、検索可能なハッシュ木

原論文

ATPではrkeyをkey、recordのCIDをvalueにしてrepositoryを構成する

Authenticated Data Experiment

ADX

ATPの古い名前

公式ブログ

PLC server

PLC, plc.directory[7]

did:plcのレジストリとしてDIDを管理するサーバー

feed generator

フィード(bskyの投稿の列)を出力するサーバー

bskyドキュメント

Ozone

redsky

公式のPDS/Appviewで使われるmoderation service実装

README

bigsky

公式relay実装

indigoのREADME

palomar

公式検索サーバ実装

README


3. ADX時代のクローリングとインデクシングが一体化していた頃に使われた呼び方
4. おそらくBGSも含めたニュアンスが強い言い方
5. DID PlaceholderのメソッドID
6. 特にCBOR表現のバイト列を指し、repositoryに含まれないものも含むニュアンスが強い
7. 厳密には現在稼働しているPLC serverのアドレスであり、plc.directoryではないPLC serverが存在しうる
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment