Hi all, first time posting. I’ve tried googling a bit but its not totally clear to me. Say I have servers A, B, C, and D.

Can servers A and B federate, and then separately C and D federate?

If so, can A B and C be federated, but separately C and D be federated, so D is not recognized as federated for A?

If A, B, C, and D are federated, and it becomes apparent that D is a bad actor, how does D become defederated?

I feel like these kinds of situations are critical to ensure long term success. I really appreciate any answers anyone can provide!

  • kersploosh@sh.itjust.works
    link
    fedilink
    arrow-up
    11
    ·
    1 year ago

    Can servers A and B federate, and then separately C and D federate?

    Yes.

    If so, can A B and C be federated, but separately C and D be federated, so D is not recognized as federated for A?

    Yes.

    If A, B, C, and D are federated, and it becomes apparent that D is a bad actor, how does D become defederated?

    A, B, and C each individually decide whether they want to deferate with D. Maybe they all do, or maybe only some of them do. It’s analogous to groups of people deciding who they want to be friends with.

    At least that’s my understanding.

    • melonplant@latte.isnot.coffeeOP
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      Thanks! This is an ideal method for keeping servers in check once user base starts gathering steam.

      Side question but I assume servers have the ability to make communities private. Is there any segregation of content when it comes to federated users? For example, could you make content only visible to users, or federated users, or federated users from a specific server? Thinking in terms of bad actors exploiting bandwidth

  • MXYp3Lk66yKv@aussie.zone
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    1 year ago

    From a philosophical perspective, it is complex.

    This is a a simple start on Lemmy’s federation

    -Allowlist: Explicitly list instances to connect to.

    -BlockList: Explicitly list instances to not connect to. Federation is open to all other instances.

    -Open: Federate with all potential instances.

    • melonplant@latte.isnot.coffeeOP
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      Thanks this link is great!

      Thinking long term, it feels like “open” or “blacklisting” methods are not sustainable. Bad-actor servers can come along much faster than servers can coordinate blacklisting. Is there any movement towards “factionalized” communities or whitelist groups? Hoping there’s not a limit on number of whitelisted instances because it could get pretty long in the future.

      • MXYp3Lk66yKv@aussie.zone
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        It’s tricky. But I keep thinking that ‘bad servers’ bring similar issues to those of bad actors on ‘good servers’…

        Not sure how they might approach it - or what exactly is even available now. I should probably stand up a lemmy server just to have a poke around 🫣.

  • ppp@lemmy.one
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Can servers A and B federate, and then separately C and D federate?

    Yes. Server A and B can communicate with each other while C and D can also communicate with each other.

    If so, can A B and C be federated, but separately C and D be federated, so D is not recognized as federated for A?

    Yes. A can communicate with B and C but not D while only C can communicate with D. A and B cannot communicate with D.

    If A, B, C, and D are federated, and it becomes apparent that D is a bad actor, how does D become defederated?

    A, B, C will block off D. D will no longer be able to communicate with A, B, and C.

    Somebody correct me if I’m wrong but this is how I understand it.

  • qwacko@lemmy.nz
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    As far as I understand, a server (in Lemmy) can allow federation or limit it to what the server admin allows. Effectively you can think of federation as a two was subscription. The “host” server of a community has the entire community posts etc… And then anyone that subscribes to a community from a other server gets the updates etc… From the “home” server.

    So for a single community (in your example hosted on server A for example), server B, C and D can “federate” to that server for that community, and there is no concept of B and D federatingb for that community.

    So Lemmy is kind of similar to an old school forum, but with some magic of having shared logins, so you can loging with an account on a other server, and subsequently get updates into your feed.

    If a server admin has issues with users or communities from a other server I believe they can use the concept of white-listing (only connect to specific servers) or black-listing (block specific servers) to “de-federate”.

    I am not an expert by any means, but this is my understanding.

    Check out the following link to get “more correct” information. lemmy federation

  • Sean Tilley
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Hey, great question! It can feel a little bit weird at first to try and grasp, but it’s actually pretty simple.

    Let’s say that we have four servers: sunshine.city, doom.club, goblin.camp, and clown.town.

    Sunshine City, Clown Town, Goblin Camp, and Doom Club all federate together. Sunshine, Goblin, and Doom all get memes from Clown Town. Goblin and Doom have a lot of users that primarily focus on gaming. Sunshine gets memes from Clown Town, but doesn’t really talk to the other two instances.

    So the question is: do they federate stuff between all instances, or not? The answer hinges on two points:

    1. Are users from one particular server interacting with people on another server?
    2. Are users from one particular server hosting a community that people from other servers are a part of?

    When people on SunShine City follow a meme community on Clown Town, they’re going to see memes from that community. But, that community can also have posts and users from Goblin Camp and Doom Club. So by extension, SunShine City will get content from those other places, even if the only point of contact is through that community. Granted, they will not be exposed to everything that gets posted to those other servers, a SunShine City is only a recipient for activities when it comes to posts in that community.

    The waters can definitely get muddied further, though, depending on whether users from these different instances end up subscribing to one another or interacting with more communities that overlap these spaces. I’m not 100% sure how Lemmy approaches federation, given that it doesn’t exactly rely on timelines in the way that Mastodon does, but Mastodon users will generally get content from the people they follow, as well as the people those people follow as well, filling up a separate “Federated” timeline.

    With regards to defederation, that ends up being an executive decision by an instance admin. Let’s say that Goblin Camp ends up being a super toxic community, and SunShine City wants nothing to do with them. Blocking any inbound activities from goblin.camp will cause the receiving instance to simply drop the messages - meaning, federated messages in overlapping communities like !memes@clown.world would reflect that to sunshine.city locally. They’d get all the other posts, comments, and messages, but anything from goblin.camp shouldn’t come through.