Hacker News new | past | comments | ask | show | jobs | submit login

If you're thinking about building a distributed social network, you HAVE to have answers to the question: How do you moderate it? (Or how do the users moderate what they consume, if you will)

Basically, think of the most annoying person you can imagine, give them infinite free time, and a uncontrollable urge to do EVERYTHING they can think of to make your life miserable on said social network (doxxing, abusive messaging in every way possible, creating dozens or hundreds of accounts, etc...). If you do not have facilities to deal with this, your network is garbage.

With the focus on "distributed" and "resilient" and "unblockable", you're effectively creating the perfect environment for every abusive stalker, internet creep, and troll.

Lord of the flies is not a functional governance mechanism. Moderation and control have to be designed into the network from the outset.

There's no reason I can think of that some sort of "distributed control" isn't possible, but you'd better have it planned out first. Bolting on tools for handling abusive users after-the-fact will likely be much harder.




This is really more of a client issue than a server issue.

In a distributed scheme, people I "block" or even content I filter out should only happen in regards to me fetching content from the distributed network.

In particular, if the content pathways are P2P (which they should be, even if other measures in place such as relays or caching), inappropriate content ends up being reduced by a result of less peers propagating.

Once the right solution appears for the network, ideally there will be multiple clients working through the UX of using the network.

Personally the best I've seen in this space is Secure Scuttlebutt. I just wish they'd drop the write only aspect for the log, and switch pubs over to acting as relays.


Think a little more deviously: you block someone but your personal data, slanderous fakes, etc. is still out there. They can’t message you directly but can send it to everyone you interact with. They can setup new accounts faster than you can block them and those could either swamp a target or try to impersonate them so it’s hard for the target to have any unpoisoned interactions.

A client side solution can’t stop any of that. Anyone thinking about social software needs to look at what motivated assholes like 4chan have done and think about how they’d stop the next weev, GamerGate, etc. If you don’t have a good answer all you’re doing is building weapons for them.


> Think a little more deviously: you block someone but your personal data, slanderous fakes, etc. is still out there. They can’t message you directly but can send it to everyone you interact with.

Also known as "please don't pull this idiot out of my killfile" problem known on the usenet for decades. Maybe you won't see the messages directly, but most probably you will see the quotes of the messages.


Usenet, MUDs, etc. are interesting as examples which were simultaneously well-known but also strangely ignored as precedents for a lot of the bad behaviour we've seen on a much larger scale.

I think in a way those early examples might have held recognition back because a lot of the most authoritative people had learned “no big deal” back in the era when the Internet wasn't integral to our lives and harassment techniques were far more primitive and less routine (pre-SWATing, revenge porn, social network-driven harassment of people you actually known, etc.), and because so many of the people involved were affluent white men who just didn't tend to attract the kind of persistent hate campaigns which became famous years later. Kathy Sierra should have been a wakeup call but a lot of people shrugged and said “don't feed the trolls” as if that was useful.


So, in your view, email and the web are examples of garbage networks?

Decentralized networks (such as the web) work differently from centralized network (such as cable TV and Facebook) and have different strategies for coping with misuse. You can not moderate a permissionless network. That's literally part of the meaning.

In a decentralized network, I follow you by subscribing to your data. Conversations usually follows that data naturally, just like a mailing list is centralized but email is not.


> So, in your view, email and the web are examples of garbage networks?

Mostly so, but it is worth the trouble.

About 90% of emails I receive are spam. So, email is 90% garbage. The 10% left is the sinews of my life.

Fortunately, the industry found ways to cope, by contributing to mostly centralized DNSBL services such as spamhaus.

The same goes for the Web: centralized services like Google or (is there something else? ) filter out the irrelevant, dangerous, and fake (with varying degrees of success).

Moderation? Inevitable. Distributed moderation? Not so much.

The parent post is right: if you don't make it built-in, it will not be how you like.


You're speaking way too strongly. Email is a huge success, it's potentially the most successful network. I've had my email address over a decade and get less than 1% spam, handled by gmail spam filtering.

You can say that you personally want moderation in your networks, but you have no basis to make general claims about moderation being necessary.


  > ... get less than 1% spam,
  > handled by gmail spam filtering.
I'm starting to see more and more reports of people having their emails automatically go to gmail spam folders, unless the emails are coming from gmail itself. I've seen both sides of this - gmail regularly bins emails I sent from a non-gmail account, and my gmail accounts regularly bin genuine emails from non-gmail accounts, but apparently never from gmail accounts.

It's almost like there's a pervasive force, trying to make people use gmail.

I, for one, don't trust gmail at all any more.


I don’t think garbage and success are mutually exclusive in this regard. Email is a huge success, and is an important centerpiece of most of our online lives, but as said, most is spam.

Gmail spam filtering is moderation, which is being argued that without which, email would be near unusable, which is true for most.


Sometimes I do want to see the messages of people I did not subscribe to. For example when they reply to my message. In this case I need to have some filtering (read: moderation) system in place that ensures I do not get overwhelmed with spam, or gore[1] for that matter.

[1] of course the beauty of a distributed system is that those who want to see gore can not be denied this right.


Good examples. Plus Usenet too.

All of the above work by permitting the end-user to moderate to the extent he / she wishes, or not at all.

I had kill-lists for Usenet, I can DNS-blacklist websites I never want to see, I can grey-list or silently drop troublesome e-mailers. No-one makes the choice as to degree or method except me and yet it works.


No, but they're not social networks.


> Basically, think of the most annoying person you can imagine

I'd change that into companies or even governments that actively try to subvert your system.


You need to defend against both. Heck, if your social network ever becomes popular you'll need to deal with:

- fake instances / relays meant to vacuum personal data for sale and profit - identity thieves, both the broad-and-shallow, and the target-a-specific person kind - governments who got a taste of being a surveillance state thanks to FB and now can't kick the habit - massive numbers of people who decide to mess with someone at once (like when Twitter or 4ch put a bullseye on some person, whether it's deserved or not) - bots. bots bots bots. - maybe your client is super tight and solid, but what if company X decides to fork your client and lures people into using it? Now they have access to each user's stuff, and all their friends? Nice.

Obviously you can't realistically defend agains all of that. But it's worth thinking how best to mitigate before launching.


> Moderation and control have to be designed into the network from the outset.

I wonder about the ability to set up privacy canaries to detect information leaks. Because with stalkers and the like what you are looking for is to make sure that they don't have side channel access to you. So it's not just being able to block them, but block people they associate with. And importantly have ways to detect when they've gotten shared info they aren't supposed to.


> Moderation and control have to be designed into the network from the outset.

Perhaps even in a way that allow multiple regimes. For example, one user/group/admin could prefer one style of moderation, while another would prefer another style.

I think a new social network should leave as much "open" as possible, so that not just the software is federated but the ideas on which it is based are also federated in a sense.


I believe we should look to the human brain to discover how it filters out noise; then try to replicate in our human-scale networks.


> then try to replicate in our human-scale networks.

Human scale networks are small. Our brains can only handle a few hundred people in our social circle, maybe up to 1,000.


The flow of information through the internet mimics the flow of information through the human brain.


Each user can run their own software, either self hosted on a computer they own, or as a service. Kinda like a chat app, but with an open protocol. Then you can control who to follow and who can send you messages. And who can see your messages. Post group messages etc.


Users mod their feeds as per RSS you just unsubscribe from idiots.

Its a bit like the internet itself. Lots of shoddy sites, but no one needs to visit them. Search spam is the exception but let a Google handle that.


That would be fine, but a bunch of RSS feeds is in no way a social network.

A group of people who all subscribe to each other could be a minimalist network, but how would things like conversations work?


RSS feeds are enough for a social network if you only care for conversations between people you follow.

If you want to support conversations with people you don't follow then you need to add support to your RSS feed for comments or pingbacks.


.. 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).


The technical problem I see is that with monolithic systems, they can have better spam filtering (I'm only talking about spam here, in this comment) because they see the large picture of all communications, and can have more sophisticated data models.


The Blogosphere solved that problem via some linkback mechanism, usually pingbacks.


I'm going old school, promoting RSS and offering an email address + call-in number with vmail and no comments on the page. I post video to CDN, do live streams with ~5sec latency (could be reduced I think). I post editorial style, sometimes have live chat for live streams via twitch. To self host I could just use an xmpp server with strophejs on the page, live streams might get a few thousand concurrent. Delivery works via HLS + CDN so scalability is in theory not an issue, although I've not tested multi-region viewership yet.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: