> 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
"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/
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Here's our story:
- We have 26 users: [Alice, Bob, Carol, ... Zack].
- Each user sends one message per day, which is intended to have one recipient. (This may sound unrealistic, but it's fine for modeling.)
- Each user sends a message in a ring: Alice => Bob, Bob => Carol, ... Zack => Alice -
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Now just before you say "wait but ATProto isn't for DMs", yes, but one way this could happen is that eg Bob follows Alice, Carol follows Bob, etc.
What I'm saying is, messages can have an "intended audience". That's what we're using here.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Before we get into this, remember, the main difference between "message passing" and the "shared heap" is the former has directed and delivered messages, the latter does not. See prev blogpost for explainer.
So, what happens in a day for both systems? Because that's what we really want to find out.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Under message passing, Alice sends her message to Bob. Only Bob need *receive* the message. So on and so forth.
- For an individual self-hosted node, messages passed per day: 1.
- Per the decentralized network, total messages passed zooming out: 26.That's about what we'd expect.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Under the public-gods-eye-view-shared-heap model, each user must know of all messages to know what may be relevant. Each user must *receive* all messages.
- Individual self-hosted server, 26 messages must be received per day.
- Zoom out on whole decentralized network: 26*26: 676! -
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Sounds survivable with 26 users though, right?
Let's try just adding 5 more users.Message passing:
- Per node per day: no change.
- Per the network: 5 more messages.Public gods-eye-view-shared-heap-model:
- Per node per day: 5 more per day
- Per network: ((31 * 31) - (26 * 26)): 285! -
gkrnoursreplied to Christine Lemmer-Webber last edited by
@cwebber wait, caffeine is an alternative to ADHD medication?
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
Now, could we handle a million self hosted users? Is it possible? No problem in message passing. EXPLOSIVE with atproto.
What if we had a million users and added just 5 more? How many more messages must the network bear?
5 new messages in message passing.
*10,000,025* new messages sent in atproto! -
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
"Christine that's ridiculous, we're not expecting a million self-hosted users"
Well I think it would be nice!
But regardless, ActivityPub has 27,000 servers on it, all meaningfully participating in the network.
ATProto, in its current design, would be crushed to DEATH
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
"But Christine", you may say, "I heard gossip might fix this!"
No. It cannot.
In fact, I was being more generous than a gossip network, and assumed you only *received* a message once.
With gossip you might *receive* more than once.
But you need to receive a message to know it.
-
Darius Kazemireplied to Christine Lemmer-Webber last edited by
@cwebber I am as you know on your side in all this but there are people I disagree with who argue that having an incomplete view of all messages globally on ActivityPub is not "meaningfully participating" and I have trouble articulating my position with these people. Feels like a dead end where persuasion is highly unlikely
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
ATProto was designed for a "big world" view. That's fine! But I'm trying to show seriously what happens if it was actually, really decentralized.
*Every* fully participating node added to the network makes the network explosively more expensive.
ATProto doesn't scale towards decentralization.
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
In other words, the public god's-eye-view allows for a pantheon, but not a civilization. You can only have so many gods who see all.
An important characteristic of a decentralized system is scoping what you *don't* need to know.
This wasn't in the design goals of ATProto, and it has effects.
-
Blort™ 🐀Ⓥ🥋☣️replied to Christine Lemmer-Webber last edited by
To me the *ideal* is for *everyone* who uses social media to either self host or to be hosted by someone they know and trust personally. Even a tiny fraction of this would be far, far more than a million users!
Will we get there? Who knows? Few would have predicted that we would even get to where we are now, and numbers are only growing...
-
Christine Lemmer-Webberreplied to Christine Lemmer-Webber last edited by
I may be coming across as some academic computer science nerd. It's actually the opposite. I'm a humanities nerd who cares about the agency of users so much I've twisted myself into a shape where I can do a computer science thing.
But architecture matters. It affects the worlds we can have.