I’ve been on Lemmy for some time now and it’s time for me to finally understand how Federation works. I have general idea and I have accounts on three federated instances, but I need some details.

Let Alpha, Beta, Gamma and Delta be four federated instances. I have an account on Alpha and create a post in a community on Beta. A persoson from Gamma comments on it and a person from Delta upvotes the post and the comment.

The question: On which instances are the post, the comment and the upvotes stored?

  • Rottcodd@kbin.social
    link
    fedilink
    arrow-up
    9
    ·
    1 year ago

    As already noted, on all of them.

    The easy way to grasp how it works:

    When you, on instance.alpha, view a community on instance.beta, you aren’t actually on community@instance.beta. You’re actually on an entirely separate copy - community@instance.beta@instance.alpha. That’s the community you’re reading and posting to and upvoting/downvoting in. Meanwhile, people on other instances are each on their own locally hosted copies of the same community.

    The lemmy software (or kbin or mastodon or whatever) then periodically syncs up all the local copies of community@instance.beta, so you all end up looking at (more or less) the same content, even though it’s actually a bunch of technically separate communities.

      • Rottcodd@kbin.social
        link
        fedilink
        arrow-up
        4
        ·
        1 year ago

        It’s less efficient than a centralized forum would be, but efficiency isn’t the only or even the highest priority. Decentralization is the explicit point of the fediverse, and to the degree that that requires sacrificing some measure of efficiency, that’s just the way it goes.

        The goal was to build a system that would be robust and relatively seamless while remaining decentralized. That’s more or less what they’ve done. There’s a fair amount of fine tuning and tweaking left to be done, and actively being done, but the basic system is what it is because it best balances all of the goals.

          • kopper [they/them]@lemmy.blahaj.zone
            link
            fedilink
            English
            arrow-up
            0
            ·
            1 year ago

            As long as 1 person from an instance is subscribed to a community, that person’s instance will fetch everything that happens inside that community (and keep storing it even if they later unsubscribe, unless manually purged by an instance admin)

      • Falmarri@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        1 year ago

        It depends what you mean by inefficient. It’s very efficient if you’re optimizing for robustness and control of data.