This is the first in a series of posts that will explore the technical details of atproto and Secure Scuttlebutt (SSB), with the ultimate goal of providing a guide for bridging the two protocols. In this post, I will provide a high-level overview of the foundational concepts of each protocol.
atproto: The Protocol for a Federated Social Web
atproto is the underlying protocol for Bluesky. It is designed to be a federated, interoperable, and scalable protocol for social media.
Core Concepts:
- Federation: atproto is a federated protocol, meaning that anyone can run their own server (a Personal Data Server, or PDS) and interoperate with the rest of the network.
- Lexicon: atproto uses a schema system called Lexicon to define the structure of data. This ensures that data is interoperable between different applications and services.
- Decentralized Identifiers (DIDs): User identity in atproto is based on DIDs, which are a W3C standard for decentralized identity.
Secure Scuttlebutt (SSB): A Peer-to-Peer Gossip Protocol
SSB is a peer-to-peer protocol for building decentralized applications. It is based on a gossip protocol, where data is replicated between peers in a social graph.
Core Concepts:
- Append-Only Logs: SSB is based on the concept of append-only logs, where each user has their own log of messages.
- Gossip Protocol: Data in SSB is replicated through a gossip protocol, where peers exchange messages with each other.
- Web of Trust: SSB uses a web of trust model for identity, where users are identified by their public keys.
In the next post, I will delve deeper into the data representation and identity models of each protocol.