> However, I disagree with some of the analysis, and have a couple specific points to correct.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
In the previous blogpost I said the following:
> 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.
(cotd)
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Decentralized ATProto is quadratic quote, cotd:
> 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.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
This was probably the thing I got the hardest pushback on from a team member of Bluesky, that it is not quadratic as we scale towards decentralization.
Truth be told, I don't have a degree in CS. Most of what I know I learned from studying independently and community resources. Was I wrong?
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Just as a quick aside, regarding that comment about "agency", maximizing the agency of everyone (and more importantly, minimizing subjection!) sits at the heart of my ethical framework https://fossandcrafts.org/episodes/11-an-ethics-of-agency.html
So I don't disagree on that part, but that's an aside!
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Now, I said I won't read replies until I am done summarizing things, and that's true, so maybe someone has gone out of their way and proven that I am wrong, that the claims in my article are factually incorrect and so on and so forth. I wouldn't know yet.
But... I don't think I'm wrong.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
As said I'm very self-conscious about these things because I *don't* have formal CS training. But I do a lot of research and so I've tried to become knowledgeable about these things and this *seemed* like the correct analysis to me
Because of that, I turned to people who actually knew more than me
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
For one thing I derailed the entire Spritely morning standup by walking everyone through the scenario. I gave the story example, which I'll detail later.
But @dthompson didn't find the story helpful, too much narrative detail. "I need to work through this example independently." So he did.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by [email protected]
@dthompson came back and laid it out in more formal terms and said I was right.
But I was still nervous, so I called up one of my old MIT AI Lab type friends and rambled about it to them on a call. What did they think?
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
"I think it's pretty clear immediately that it's quadratic. This is basic engineering considerations, the first thing you do when you start designing a system," they said.
Well that's a relief, why isn't it clear to everyone else, I asked?
So they suggested I lay it out to you as I did to them.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Let's start with the following:
- ATProto has positioned itself as "no compromises on centralized use cases". Well, in that case, let's say it can't do *worse* than eg ActivityPub. This includes with replies. You can't do *worse* than ActivityPub on replies and mentioning someone, etc.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
- We will interpret the most centralized system as one where there's only one provider for storage and distribution of all messages: the least amount of user participation
- The flip side of the spectrum of maximum decentralization is the *most* amount of participation: every user self-hosts. -
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
- Just as blogging is decentralized but Google (and Google Reader) are not, it is not enough to have just PDS'es in Bluesky be self-hosted. When we say self-hosted, we really mean self-hosted: users are participating in the distribution of their content.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
- We will consider this a gradient. We can analyze the system from the greatest extreme of centralization which can "scale towards" the greatest degree of decentralization.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by [email protected]
- Finally, we will analyze both in terms of the load of a single participant on the network but also in terms of the amount of network traffic as a whole.
Okay. That is the structure we will use for our analysis. Let's compare "message passing" vs ATProto-style "global public shared heap".
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
So okay. Let's get the CS notation out of the way:
"Message passing" at full decentralization:
- O(1) from a single node's perspective
- O(n) from a whole-network zoom-out perspective (inherent: add a user, it's one more user)Okay, that's reasonable and what you'd expect
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
"Public global no-missed-messages (or not worse than AP) shared-heap" ATProto style at full decentralization:
- O(n) from a single user's perspective (!)
- O(n^2) from a whole-network perspective (!!!!!!)Oof I'd better back this up because that ain't good!
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
In other words, as our systems get more decentralized, message passing handles things fine. Individual nodes can participate in the network no matter how big it gets. The zoom-out for the network as a whole doesn't get more complicated as we add more users OR move more users towards self hosting.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Things are NOT good, if I'm correct above, as we make things more decentralized in the atproto-public-shared-heap model. The more self-hosting and indeed the more "full nodes" join, the more it gets expensive for each of the nodes and the network EXPLODES!
Truly self-hosted atproto is NOT POSSIBLE!
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
And there is no solution to this without adding directed message passing. Another way to say this is: to fix a system like ATProto to allow for self-hosting, you have to ultimately fundamentally change it to be a lot more like a system like ActivityPub!
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Now I left more of the precise analytical explanation in my blogpost. But social media isn't great for that, so go check out my blogpost if you want to go through all that (eg if you're more like @dthompson and less like me, I'm a narrative person) https://dustycloud.org/blog/re-re-bluesky-decentralization/