How Decentralized Is Bluesky Really? https://dustycloud.org/blog/how-decentralized-is-bluesky/
A technical deep-dive, since people have been asking me for my thoughts. I'll expand a bit on some of the key points here in a thread.
@cwebber@social.coop I read many time the paper to be sure to not miss that point, but it seems you never consider the fact that a relay is not needed and that's explicit on the AT proto documentation here
https://atproto.com/guides/glossary#relay
Relay is only optimisation a huge appview want to use, but smaller appview can directly query PDS, avoiding totally the relay cost.
@aeris if every PDS queries every PDS, that's quadratic cost on scaling
@cwebber@social.coop It's not PDS query PDS, but AppView query PDS. And PDS query don't require persistence, so only network cost and no storage cost.
For small AppView, for example self-hosted one for a couple of users, this AppView will only query PDS of subscribed account, so not that much.
Relay is here for huge AppView, with many users and so many PDS to query directly, and provide network optimization in exchange of storage cost.
@cwebber@social.coop Relay is just to avoid what occur on Mastodon, when any toot generate huge network spike, with each remote instance querying the new content from a single point in the network, the original instance.
With relay, the Relay query the original PDS once, and then all AppView can use this cached content without overflowing a tiny PDS.
Worse, currently on the Fediverse (at least on Mastodon), you have the drawback of both world: each new content flood the network with all instance querying the initial instance, AND each instance storing the new content.
Even for a single user instance, Mastodon now require over 1TB of storage just for asset and content…