Comment on How to Use Bluesky If You’re Leaving X

baltakatei@sopuli.xyz ⁨4⁩ ⁨weeks⁩ ago

Although Bluesky is an improvement over X-Twitter in terms of your ability to move to a different server in the event the main Bluesky ATProto node also gets bought out by someone like Elon Musk, ATProto nodes are not really decentralized since they are prohibitively expensive for individuals to run due to early architectural choices. According to “How decentralized is Bluesky really?” (2024-11-22) by ActivityPub developer, Christine Lemmer-Webber, a Bluesky node requires 5 TB, which maps to somewhere between 6-60k USD/year in cloud storage costs. The problematic architectural is that ActivityPub uses “message passing” while ATProto uses “shared heap”, using Christine’s phrasing.

The best way to understand the reason for this difference in hosting requirements is to understand the underlying architecture of these systems. ActivityPub follows an message passing architecture …, the same as email, XMPP, and so on. A message is addressed, and then delivered to recipients. … This turns out to be pretty efficient; if only users on five servers need to know about a message, out of tens of thousands of servers, only those five servers will be contacted. … If Alyssa wants to write a piece of mail to Ben, she can send it directly to Ben, and it can arrive at Ben’s house. If Ben wants to reply, Ben can reply directly to Alyssa. Your intuitions about email apply exactly here, because that’s effectively what this design is.

Bluesky does not utilize message passing, and instead operates in what I call a shared heap architecture. In a shared heap architecture, instead of delivering mail to someone’s house …, letters which may be interesting all are dumped at a post office (called a “relay”) directly. From there it’s the responsibility of interested parties to show up and filter through the mail to see what’s interesting to them. This means there is no directed delivery; if you want to see replies which are relevant to your messages, you (or someone operating on behalf of you) had better sort through and know about every possible message to find out what messages could be a reply.

… The physical world equivalent for a fully decentralized fediverse then is that every user sends mail to every other user’s house, as needed, similar to how sending letters works in the physical world. This is decidedly not the case with a fully decentralized ATProto. The physical world equivalent would be that every user had their own house at which they stored a copy of every piece of mail delivered to every other user at their house.

If this sounds infeasible to do in our metaphorical domestic environment, that’s because it is. A world of full self-hosting is not possible with Bluesky. In fact, it is worse than the storage requirements, because the message delivery requirements become quadratic at the scale of full decentralization: to send a message to one user is to send a message to all. Rather than writing one letter, a copy of that letter must be made and delivered to every person on earth.

tl;dr A Bluesky node is better than X-Twitter but very costly to run compared to Fediverse.

source
Sort:hotnewtop