How Decentralized Is Bluesky Really?
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
I'll take one more note about federation which is that often time the message passing mechanism of the fediverse is often called "federation", but theoretically another mechanism could exist, but I'm actually not so sure of that.
There's a reason the actor model and the lambda calculus are undying
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Oh god Christine said "the lambda calculus" did you know she's into lisp and functional programming, what's she going to talk about next monads?!?!
I am not going to talk about monads. Not TODAY
But we do need to get a better architectural idea of how these systems work because it matters a lot!
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
So let me introduce two models of communication which we can use to analyze these two systems. It's important!
- Fediverse/ActivityPub: "message passing"
- Bluesky/ATProto: "shared heap"Okay, cool, terms established, let's talk about them and why they matter because they matter A LOT
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
"Message passing" is what ActivityPub uses. It's "like email", people say, and that's true.
Actually it's even a lot like physical mail. You write a letter, you say where it should go, it gets delivered to your house.
Message passing. The world runs on it.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Now I can use message passing to send a message to you *directly* and indeed, that's "like email". For one-to-one correspondence, that's enough.
But it's not enough for a followers/following type mechanism. But we can build it on top! Thank *you* computational abstractions!
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
On top of "message passing" we will build "publish-subscribe" as a second-layer abstraction
"Your ideas are interesting and I'd like to subscribe to your newsletter."
You send me a letter saying you'd like to hear the things I have to say, okay, you're part of the reader list. That's how it works.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
On top of that we can build even more abstractions and the net result is that this is how federation works in pretty much every "federated" system I know.
ActivityPub does some extra work to help you see replies on a thread, think "letters to the editor". This is a bit lossy sometimes though
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
It's true that sometimes users click over to a thread and see some replies but not all on their instance's UI. There's things that could be done to improve it, but it's sometimes mildly confusing, but not so bad, and you can click over typically to see whatever else is happening, and people learn to
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
I actually think this is improvable but I mostly don't care because this isn't as big a complaint as people tend to think it is on the fediverse, the other concerns like "what instance do I pick" tend to be bigger and "oh no my server went down"
That can be improved, we'll talk about that later
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
So okay, the federation is "message passing" and like email, or physical mail. You have an idea how it works.
Now we need to get to that other thing, a "shared heap" architecture. What on earth does that mean?
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
If "message passing" is like "mail comes to your house", a "shared heap" system works differently
In a "shared heap" system, all the mail gets dumped at the post office, and in the most naive version, you go over there and read through every single piece of mail to see which one is relevant to you
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
There is no "directed delivery" in a "shared heap" system, which means you are stuck with two things: either a "god's eye view" (Bluesky) or "even lossier about replies than ActivityPub" (Secure Scuttlebutt/Nostr)
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
The Bluesky approach to the "shared heap" is that *everything* goes into the big, centralized shared heap. Bluesky takes a "god's eye" view: it knows everything, and so knows what all your replies are, and can give you perfect search.
Secure Scuttlebutt / Nostr... well long story. Lossier, I'll say
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
You can imagine the physical world version of "message passing" already because you already live in this world. Messages come to your house or apartment building or whatever
For Bluesky's "shared heap" architecture, you'd have to build a whole addition to your house for everyone's mail
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
That's exactly why running a Relay or AppView is expensive: you're building an addition to your house for all the world's mail.
Eeep! That ain't cheap. That's why I'm saying: decentralization also means the ability to *scale down*.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Look, I know that I've been hitting this nail on the head for a while but: the web is open, blogs are open, but Google isn't open
But you could run your own Google, in theory. You could index the web. So why aren't you?
Ah yeah. Same thing here. That's what I mean, that's why it's centralized
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Now as I have said, this is a *design decision*. And remember: most users of Bluesky really *don't care*. Decentralization is not their focus, they're trying to get the hell off the nazi hellscape that Musk's toxic reign of Twitter has become.
Bluesky's architecture, actually, is great for them.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
If what your *goal* is to get off Twitter, then Bluesky has solved it. They solved it by building another Twitter, and this time it's open source, which is cool! And it might have this "credible exit" thing.
But god damnit it's not decentralized and it's not federated stop TELLING people that
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
"Oh Christine you're being sensitive"
Maybe, but there are real consequences to this. What if Bluesky/ATProto fails? "Oh well we tried decentralization and that didn't work." If people think something is something that it isn't, then that's a real problem.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Users, clearly, think a lot more of Bluesky is decentralized than it is, and realize less of the consequences than they should. This really worries me. Blocks and DMs are both great examples of this.