A decentralized, federated sytem is one where there are multiple servers and these servers communicate with each other and cooperate to make the system work.
Think about e-mail. Anyone can set up a mail server and protocol has ways to send mail to users on another server.
However just like e-mail has problems. Federation has problems too. The first problem with all open systems, where people can post stuff is spamming. The second problem is that the system works only if servers want to cooperate with each other. Otherwise and user on a server cannot reach users on another server. This is happening with e-mail where the big mail providers gradually refuse to accept mail from smaller providers. Gradually forcing everyone to join their oligopoly.
The spamming problem can be solved if the system is not open. Only those who are invited can contribute content. Admins can keep track about who invited whom and can easily crack down on those who are misbehaving (eg. they invite spam accounts). The content can be public or private.
In an invitation only system. The chance of spam bots infiltrating is low.
To tackle the issue of defederation, the protocol should be designed such that no servers need to communicate with each other. The aggregation of content from multiple servers should be done on the client side where the client makes requests and downloads from each instance individually. Similarly, nodes should not have user account management on each of them. Users would have a cryptographic key-pair(s) on their device which they can use to sign content they post. They are also used to create profiles on a node and claim an username there. So people can refer to users by that handle rather than the non human readable cryptographic key.