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.
Top-level
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. 8 comments
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. That's about what we'd expect. 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. Sounds survivable with 26 users though, right? Message passing: Public gods-eye-view-shared-heap-model: 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. "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 "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. 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. |
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.