Ryan Barrett: All Protocols Compared

Ryan Barrett gives a talk at ATmosphere Conf 2025 in Seattle.

Shout out to Nostr is a perfect segue into my talk. I’m going to tell you about a number of things that are mostly not atproto. Thanks for the introduction. It’s mid-afternoon, lunch has settled, and I won’t make you get up and do jumping jacks. For those who are dozing, I’ll try to speak softly and let you keep sleeping.

This morning we heard from several people about “people, not platforms”—the idea of humane tech, not just tech. That’s been my partner’s motto at A New Social for years. But I’m going to be foolish and naïve and ignore all of that. Instead, following Dan’s lead, I’m going to talk just about tech for fifteen minutes. What could go wrong?

You’ve heard these two viewpoints before: “We already have a protocol—stop making new ones,” and “There are so many great protocols—let’s make more.” I’m not going to litigate that debate, but there’s something to both sides. The jungle of protocols out there is large. Blaine talked about it this morning. This is where I live—this tiny slice of the jungle is just a fraction of what’s out there. Some are big, some are small. There’s a lot to learn from all of them.

Today I’m taking us on a whirlwind tour of six: email, the web (specifically IndieWeb with webmention and microformats), ActivityPub, atproto, Nostr, and Farcaster. There are more, and I’ve been exploring some of them, but I’ve only got fifteen minutes. For each protocol, someone in this room knows far more than I do. Tell me at the end what I got wrong. I’m sure something here will annoy each of you—please forgive me. I have a sack for all complaints.

Let’s begin with when these things arose. Email and the web are old—email goes back to the 60s, the web to the late 80s. ActivityPub has its lineage through OStatus and Atom, stretching back before 2010, though ActivityPub itself came later. Bluesky as an organization started in 2019, and the protocol emerged around 2022. Nostr and Farcaster also took shape in 2022. So we have old, new, and in-between.

On architecture: you’ve heard much of this already today. The web is peer-to-peer—IndieWeb is peer-to-peer between web servers. Email and ActivityPub are federated: you’re a user on a server, you belong to that server. Nostr and Farcaster have servers, but they’re interchangeable relays—you can talk to any relay, and they loosely exchange information. Atproto likes federation and relays—why not both? You’ll see this pattern: atproto looks at techniques and says, “These are great, let’s use all of them.”

For data transfer in decentralized systems, there are two main paradigms: message passing and structured data synchronization. Email, ActivityPub, and Nostr are primarily message-passing systems. Atproto and Farcaster use structured synchronization—this is built into the protocol itself. IndieWeb, through webmention, kind of does both: it sends a ping but not content, prompting the recipient to fetch the content.

Identity varies widely. DNS-based identity defines email, ActivityPub, and the web. Nostr is pure key pairs—nothing centralized, generate your keys offline and that’s you. Very decentralized, but if you forget your password… well, good luck. Farcaster uses blockchain. Atproto sits in the intersection with key-pair identity and DNS identity via DIDs, and could one day support blockchain. We’ll see.

Object identity also differs: email uses message IDs based on domains, web and ActivityPub use URIs, and Nostr and Farcaster use content hashes. Atproto uses AT URIs and SIDs (hashes), depending on what you’re referencing.

Data models? Everyone does their own thing. Email has RFC 2822, the web has HTML, ActivityPub has its JSON-based structure, but there’s little coherence across the ecosystem. Everyone reinvented something. Even when I tried to capture all the pieces atproto uses, it turned out to be more than I could fit on the slide.

Serialization is slightly more coherent: many use JSON. Atproto, ActivityPub, and Nostr all do. Some use HTML, Protobuf, or IPLD structures. Still messy.

Transport: a bit clearer. Email uses SMTP. The web and ActivityPub use HTTP. Nostr uses WebSockets. Atproto, of course, does multiple things. Then there’s gRPC and libp2p—less common but present.

Where semantics live—where the business logic runs—is another area of fragmentation. Email, the web, ActivityPub, and atproto rely on both server and client logic. Nostr and Farcaster are interesting here: Farcaster pushes most logic to the server; Nostr pushes most to the client.

Monetization is similarly varied. Email’s “business model” is spam? The web’s is paying for hosting. The Fediverse generally dislikes money, so you donate to your host but wouldn’t dare call it “paying.” Atproto… has anyone found the business model? Check under your chair. It’s not T-shirts. It’s definitely almost probably not ads. Meanwhile, Nostr and Farcaster have coherent payment stories with microtransactions—Lightning payments on Nostr, Ethereum and USDC on Farcaster.

Governance: email and ActivityPub have standards bodies (IETF, W3C). Atproto appears to be heading that direction. Nostr and Farcaster lean heavily on community emergence—anyone can add something, some people implement it, some don’t, and you get a kind of standards anarchy. Trade-offs abound.

So what trends appear over time? Historically, we had centralized systems—mainframes, early commercial networks like AOL. Then federated systems like email and ActivityPub. Then peer-to-peer systems like the web and SSB. And now we seem to be converging on key pairs for identity and relays as servers. These embody the end-to-end principle: smart endpoints, dumb pipes.

Looking across the protocols today, we see key pairs, relays, DNS for handles, content addressing, microtransactions, and community governance. If we Frankenstein all these together, what would that protocol look like?

Drumroll… it looks a lot like atproto. Not exactly, but close. Governance may differ, microtransactions aren’t there yet, but the overall shape matches many of these endpoint trends. Interestingly, Nostr also ends up embodying many of them.

This isn’t the end of history—we’ll keep innovating—but it’s fascinating to see the convergence.

I didn’t come up with the convergence idea; Gordon Brander did, noting similar patterns in Neoshow and Subconscious. If you hate the idea of Nostr, my name is Paul Frazee. Please @-me as penance for getting up at the atproto conference and praising Nostr.

I also owe the Bluesky team a public apology. Back in 2021—the dinosaur era before ADX or atproto existed—Bluesky ran a contest asking how to connect social profiles in a decentralized, provable way. I submitted an IndieWeb-based solution. Others won; I got an honorable mention. At the time, based on what I’d read from the Bluesky team, I assumed they were in the “blockchain-only, DNS isn’t decentralized enough” camp. My friend Brett asked why they didn’t pick my proposal—did they hate DNS? And because it was Twitter in 2021, I shot my mouth off and said yes, they hate DNS.

Turns out they like DNS. Who knew? So here, in front of everyone, I apologize to the Bluesky team—Jay especially—for claiming you hated DNS. I was wrong, and I’ve never been so happy to be wrong.

If you want to see more protocol comparison work, check out the Bridgy Fed docs. Great to be here—this is going to be a blast. Enjoy the rest of the show.

Jay then added that in 2021, the “Bluesky team” was just him doing a Wizard of Oz routine behind the curtain, using the royal We. He apologized for not reading all the proposals thoroughly because he was pretending there was a team when it was just him.