Glossário de termos
O Protocolo AT usa muitos termos que podem não ser imediatamente familiares. Esta página fornece uma referência rápida a esses termos e inclui alguns links para mover informações.
Atmosphere
"Atmosfera" é o termo que usamos para descrever o ecossistema em torno do Protocolo AT.
AT Protocol
O Protocolo AT significa "Authenticated Transfer Protocol". Esse nome é uma referência ao fato de que todos os dados do usuário são assinados pelos usuários autores, o que torna possível transmitir os dados por muitos serviços e provar que são reais sem precisar falar diretamente com o servidor de origem.
O nome também é um trocadilho com o símbolo "@", também conhecido como símbolo "at", já que o atproto é projetado para sistemas sociais.
PDS (Personal Data Server)
Um PDS, ou Personal Data Server, é um servidor que hospeda um usuário. Um PDS sempre armazenará o data repo e as chaves de assinatura do usuário. Ele também pode atribuir ao usuário um handle e um DID. Muitos PDSes hospedarão vários usuários.
Um PDS se comunica com AppViews para executar aplicativos. Um PDS normalmente não executa nenhum aplicativo, embora tenha interfaces gerais de gerenciamento de conta, como a tela de login do OAuth. Os PDSes sincronizam ativamente seus data repos com Relays.
AppView
Um AppView é um aplicativo na Atmosfera. É chamado de "AppView" porque é apenas uma visualização da rede. Os dados canônicos residem em repositórios de dados que são hospedados por PDSes, e esses dados podem ser visualizados de muitas maneiras diferentes.
Os AppViews funcionam um pouco como mecanismos de busca na Web: eles agregam dados de toda a Atmosfera para produzir suas UIs. A diferença é que os AppViews também se comunicam com os PDSes dos usuários para publicar informações em seus repositórios, formando o modelo de aplicativo completo. Essa comunicação é estabelecida como parte do fluxo de login do OAuth.
Relay
Um Relay é um agregador de data repos de toda a Atmosfera. Eles sincronizam os repos de PDSes e produzem uma mangueira de eventos de mudança. AppViews usam um Relay para buscar dados do usuário.
Os Relays são uma otimização e não são estritamente necessários. Um AppView pode se comunicar diretamente com PDSes (na verdade, isso é encorajado se necessário). O Relay serve para reduzir o número de conexões necessárias na rede.
Lexicon
Lexicon é uma linguagem de esquema. É usada na Atmosfera para descrever registros de dados e APIs HTTP. Funcionalmente, é muito semelhante ao JSON-Schema e OpenAPI.
O único propósito do Lexicon é ajudar os desenvolvedores a criar software compatível.
Data Repo
O "repositório de dados" ou "repo" é o conjunto de dados público que representa um usuário. Ele é composto de coleções de registros JSON e blobs não estruturados. Cada repositório recebe um único DID permanente que o identifica. Os repositórios também podem ter qualquer número de identificadores de domínio que atuam como nomes legíveis por humanos.
Os repositórios de dados são árvores merkle assinadas. Suas assinaturas podem ser verificadas em relação ao material-chave publicado sob o did do repositório.
Collection
A "coleção" é um bucket de registros JSON em um repositório de dados. Eles suportam operações de lista ordenada. Cada coleção é identificada por um NSID que deve ser mapeado para um esquema Lexicon.
Record
Um "registro" é um documento JSON dentro de um repo coleção. O tipo de um registro é identificado pelo campo $type
, que deve ser mapeado para um esquema Lexicon. O tipo também deve corresponder à coleção que o contém.
Blob
Blobs são dados não estruturados armazenados dentro de um repo. Eles são mais comumente usados para armazenar mídia, como imagens e vídeos.
Label
Os rótulos são objetos de metadados que são anexados a repos e records. Eles são normalmente referenciados por seus valores, como "nudity" ou "graphic-media", que identificam o significado do rótulo. Os rótulos são usados principalmente por aplicativos para moderação, mas podem ser usados para outros propósitos.
Handle
Handles são nomes de domínio que são usados para identificar data repos. Mais de um handle pode ser atribuído a um repo. Handles podem ser usados em URIs at://
no segmento de domínio.
DID (Decentralized ID)
DIDs, ou Decentralized IDentifiers, são identificadores universalmente exclusivos que representam data repos. Eles são permanentes e não legíveis por humanos. DIDs são uma especificação W3C. O Protocolo AT atualmente suporta did:web
e did:plc
, dois métodos DID diferentes.
DIDs resolvem para documentos que contêm metadados sobre um repo, incluindo o endereço do PDS do repo, os handles do repo e as chaves de assinatura públicas.
NSID (Namespaced ID)
NSIDs, ou Namespaced IDentifiers, são um formato de identificador usado na Atmosfera para identificar esquemas Lexicon. Eles seguem um formato DNS reverso, como app.bsky.feed.post
. Eles foram escolhidos porque fornecem governança de esquema clara por meio da propriedade do domínio. O formato DNS reverso foi escolhido para evitar confusão com domínios em URIs.
TID (Timestamp ID)
TIDs, ou Timestamp IDentifiers, são um formato de identificador usado para chaves record. Eles são derivados do tempo atual e projetados para evitar colisões, manter uma classificação lexicográfica e equilibrar eficientemente as estruturas de dados internas do repositório de dados.
CID (Content ID)
CIDs, ou Content Identifiers, são hashes criptográficos de registros. Eles são usados para rastrear versões específicas de registros.
DAG-CBOR
DAG-CBOR é um formato de serialização usado por atproto. Ele foi escolhido porque fornece uma forma canônica confiável, que é importante para verificação criptográfica.
XRPC
XRPC é um termo que estamos descontinuando, mas ele foi historicamente usado para descrever o tipo de uso de HTTP atproto. Ele significa "Cross-organizational Remote Procedure Calls" e lamentamos tê-lo inventado, porque na verdade estamos apenas usando HTTP.