Yeah, if what you want is to prevent others from seeing other-others content, you're gonna have a hard time implementing that in a decentralized/distributed protocol, just as you say.
You basically have to chose between that or allowing the platform to censor anyone, which these "new breeds" of social networks seems to make the choice of doing "personal blocking" rather than "network wide" blocking.
What I think most people want though, is not "blocking" in terms of "no one will be able to see this person" but "blocking" in terms of "I don't want them to be able to interact with me, nor do I want to see their content".