• Natanael@infosec.pub
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    4 days ago

    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/

    • sem@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 days ago

      I’m sad that bots in space had to spin down, but there are still bots on Mastodon. One server quitting didn’t take everything down.

      The part where if a mastodon post gets popular, it has to serve that to everyone makes sense because it’s kind of like a website. Maybe there could be a CDN like Cloudflare that a mastodon server could use to cache responses?

      The part about Bluesky that doesn’t sound good to me is “to send a message to one user is to send it to all”. Wouldn’t this be crazy with even 100 servers for 10000 users, vs 2 servers with 5000 each? Not sure how the math works but it doesn’t look good if they have to duplicate so much traffic.

      • Natanael@infosec.pub
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        4 hours ago

        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)