Bluesky has authored five specs which comprise the v1 of its social networking protocol. These specs are:
- NameSpaced IDs (NSIDs)
- DID:Placeholder (did:pch)
- XRPC
- Authenticated Data Experiment (ADX)
- Social application (TODO)
These specs can be organize into three layers of dependency:
---------------------------------------------------
┌───────────────┐
│ TODO │ Application semantics
└─┰──────────┰──┘
--╂----------╂-------------------------------------
┃ ▽
┃ ┌─────┐
┃ │ ADX │ Identity, Block & record storage
┃ └──┰──┘
--╂----------╂-------------------------------------
▽ ▽
┌────────────┐
│ XRPC │ Wire protocol
└────────────┘
┌───────┐ ┌─────────────────┐
│ NSIDs │ │ DID:Placeholder │ Supporting specs
└───────┘ └─────────────────┘
---------------------------------------------------
XRPC is the "bottom-most" layer, acting as an HTTP-based wire protocol for ADX and its applications. Two identifier formats, NSID and did:pch, were also required to reference semantic information and repositories respectively.
ADX is a protocol built on top of XRPC. It is designed to exchange repositories of user data (structured and binary) which can easily be relocated between services in the federated network. It can be thought of as a form of distributed block & record storage, but it also anchors the concept of user identity in the social network.
TODO Social Application is then a collection of XRPC methods and ADX record types which build atop these protocols. While XRPC and ADX are intended to be generic infrastructure, TODO is a use-case specific application.