Yet Hacker News isn't using these.
Because shadow banning, for example, works. Having someone's voice lost while they don't know about it (keep living in their bubble) works.
The lesson here: don't assume that your solution is the only solution.
Usenet, e-mail, and forums have taught us already that the solution to this problem is advanced, silent filtering (which have been innovated in the anti-spam arms race [1]) essentially akin to shadow banning. The enforcement of law also tends to help.
[1] RBLs, Bayesian filtering, and the already mentioned shadow banning
Spam filters work for lots of reasons but not because spammers can't figure out if they're caught or not.
Shadow banning is evil and intransparent. It may work, but at what cost?
In either case, straight up ban or Shadow ban, someone is silenced as a punishment. In either case, the user likely isn't learning their lesson. In either case, the tools are ripe for abuse.
What is the exceptional cost of shadow bans besides them being opaque?
Shadowbans aren't akin to SMTP tarpits insofar as the target of force is less likely to be a bot. Behind the silence is a human being who is trying to engage others.
SMTP tarpits are like shadow bans because the perpetrator isn't informed about the ban/tarpit, and its meant to slow them down by wasting their time in their bubble that they are getting "work" done.
SMTP tarpits are more likely to involve a perpetrator who is operating a bot, and less likely a perpetrator who is personally engaged in the conversation and community.
HN allows you to turn on shadowbanned posts.
In the several years I've been here, I've seen maybe 3 or 4 shadow banned posts that were of value. In those cases, other users replied to the shadow banned user and told them to message the mods about getting the shadow ban lifted.
Heavy moderation of the tone of message works. In a similar vein, the neutral politics sub on reddit is successful because they ban people who are rude.
I think that if we moderated tone more often, that a lot of the toxic communities wouldn't even form.
If most people's willingness to pay for non-abusive communications media is $0, then... I expect they will continue to get abuse.
Instead of your email address being a human-readable public address, it should be a revokable cryptographically unguessable address that's unique to each person to whom you're introduced. Introductions happen via a protocol which generates a new address given to that person, and you then assign a purely local pet name you use to refer to them [1].
Given any generated address, you can trace back the history of introductions that led to it.
This very clearly solves spam problems since it completely upends the traditional approach with a bottom-up solution. I'm not sure anything else could be immune to abuse to the same extent though.
But how do you solve the problem of people wanting to join who have no existing contacts in the network to invite them? Most likely they would use some other channel to request an invitation from a stranger and hope that they'll grant them access.
If that happens, then it dilutes the power of the web of trust. A spammer could manually create a bunch of accounts in the same way, and then use them to grow botnets at the edges of the web of trust. If only a few bots are used to spread spam, it would take a while to accurately determine which part of the network is controlled by the spammer.
The bootstrap problem is indeed challenging with this approach. Normally you could connect with people you know in real life using an NFC or QR code exchange, but social networks have created an expectation of being able to find people by searching an open directory. That's a spammers dream. As soon as you can send a friend request that's just reintroducing open addressing.
I haven't spent much time thinking about this since I rarely use social media, but my first thought is that you voluntarily join some groups and find people that way, ie. High school groups, etc. Perhaps friend recommendations by randomly asking existing members could be used to very the validity of newcomers.
There are multiple solutions that work if you design the system that way from the outset (which is the same issue yours has). One was suggested above. You can have a human-readable public address but the first time a message is sent the sender has to commit $1 (or however much is necessary as a deterrent). If the recipient approves the message you get it back right away, if they ignore it you get it back in 30 days, if they mark you as spam you lose the money (and you know this and know that sending them more messages will be expensive).
Then if you send a message (including a reply) to someone it automatically (but revokably) whitelists them, and whitelisted peers don't have to commit money to send to you.
This also works for mailing lists, because then you subscribe by sending a request message, which whitelists the mailing list, and then they don't have to hold a huge reserve as long as they only send messages to people who actually asked for them.
But none of that works for email because it wasn't implemented that way originally and it's hard to change it now.
Requiring payments destroys the anonymity though, that's why I don't like it.
> But none of that works for email because it wasn't implemented that way originally and it's hard to change it now.
Actually, my system can be adapted to email but you have to give up typing in email addresses manually. Most people don't do that anyway, so no big loss.
Isn't that what all of this Bitcoin and Ethereum is supposed to be good for?
> Actually, my system can be adapted to email but you have to give up typing in email addresses manually. Most people don't do that anyway, so no big loss.
Don't they? People put email addresses on business cards and billboards and things like that. That's where you would need people to upgrade -- the fix would be to use QR codes but then you need everybody to support that (and understand what to do with it).
Of course, people who have their own domains have long been doing something similar but with human readable names. You have example.com so you can create foo@example.com, bar@example.com, a hundred names for a hundred services.
It would also be possible to do this with subdomains. So if you were bob@gmail.com, gmail could theoretically let you create aliases like foo@bob.gmail.com and use it for your business with Foo Corp.
They do let you do something similar by ignoring dots in the address, so john.smith@gmail.com is automatically an alias for johnsmith@gmail.com, but if you use dots in different places for different activities then when one of them starts getting spammed you discontinue it and add a rule to trash everything sent to that alias. The inconvenience there is it's harder to remember what you used each variation for (and which ones you've already used) when it's time to rotate.
https://old.reddit.com/r/dredmorbius/comments/3hp41w/trackin...
Then again, perhaps the unfortunate truth is that something on the scale of today's mainstream social networks is simply unworkable. Perhaps at a certain size a community site simply falls apart, and nothing short of human level AI will be able to keep it intact.
Costs do not have to entail financial transactions, though that's one option. Devising a hard-to-establish reputation, which can be lost on signs of clear anti-social behaviour, is one approach. Accounting for the inevitability of Sybil attacks is a challenge.
Tools, policies, values, coordination & cooperation, and the syones to create, specify, and use these, are necessary.
Agree that getting the mechanics for social networks would be hard. Not sure if financial mechanisms are the answer (not saying you're saying that). It puts a price on speech. There has to be a better way.
But also, presumably fewer trolls would exist if you had to put up a "$x" bond before signing up in the first place.