

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
That’s written assuming the edge case of EVERYBODY running a full relay and appview, and that’s not per-node scaling cost but global scaling cost.
Because they don’t scale like that, global cost is geometric instead (for every full relay and appview, there’s one full copy with linear scaling to network activity), and each server only handles the cost for serving their own users’ activity (plus firehose/jetstream subscription & filtering for those who need it)
For Mastodon instance costs, try ask the former maintainers of https://botsin.space/
It doesn’t get served to all, but it has to be served to a relay which in turn is reachable by all.
While there is a firehose service which publishes all events as they happen, only services built on watching those needs to receive all (moderation services, etc). Everybody else gets a view already filtered and composed by services earlier in line. See jetstream as an existing optimization already delivered by bluesky themselves which reduces traffic.
A limited scope appview and relay is possible too, you can choose to only serve one community, and then fetch external content on-demand (but this will have the same impacts on latency as Mastodon and lemmy has when opening previously unseen threads)