Say that I, Bob, want to block Charlie, so he can't see what I post, and vice versa.
I don't, however, want our mutual friend Alice *to know that I have blocked Charlie*, *the knowledge of the block belongs inside my personal privacy sphere*.
The problem with distributed systems like this with no central trusted third party is that the Usenet-like flooding algorithms used to move things from user to user *cannot* implement that sort of blocking-privacy-protection; in order to tell Alice's servent not to forward my messages to Charlie, *I have to tell her that*. And as distributed gaming designers long ago learned, *if the code is in physical control of the user, you cannot assume they don't know anything it does*.
This was the first thing that occurred to me when Diaspora came out, and -- alas -- the only place I could point it out was on their Kickstarter page. I've always hoped that had nothing to do with what followed...