.. and as soon as you allow conversations with people you don't already know all the badness turns up and you have to build an anti-spam and anti-abuse system.
I don't think anti-abuse systems exist in centralized solutions. If there's some nuthead who's persistent to post their important opinion (or whatever they have to post), the only thing that works reliably is restricting commenting to "friends only". Which should be possible regardless of the architecture, as long as system has ACLs and poster identification.
There are some obstacles (like phone number verification) that centralized systems can benefit from and that are harder to have in a distributed systems because of trust issues - but they're not really working at any scale and only thwart least persistent persons.
But that isn't really use the case for a typical social network. Most people I know post the vast majority of their posts as "friends only", and even those that make public posts usually limit comments to friends only. The only form of communication that should be allowed by non-friends is "friend request", and really: once you've been using a strong social network for any period of time, you can turn on "only allow friend requests from friends of friends" without much consequence (of course, it will take a new network time for that to be viable).