Subjective, trust-network-based tagging and voting/rating
I don't think permissionless shared-spaces (like subreddits, or like all-of-Twitter - that is, shared spaces that may have moderation systems for kicking people out, but that are open by default) are going to be viable in web3.
A general theme of crypto/blockchains/web3 is mechanism design: creating systems that have good emergent behaviour when the individual players follow their own selfish incentives. We're learning more and more about how to create decentralized systems that can behave the way we want them to without being derailed by malicious actors. I think web3 social-media platforms will need to be more-explicitly designed along those lines: more attention paid to making sure that the system doesn't allow spammers or trolls or other bad actors to impose costs on others.
In web2, most activity happened on giant platforms owned by just a few companies (Facebook, Twitter, etc.). Having the company as a Central Controller causes a lot of problems (which is a big part of the appeal of web3 in the first place), but does have the advantage of having a clear entity who ultimately has the power and the motivation to police the platform, set the rules, moderate/ban/censor people they consider to be bad actors, etc.
In web3, we want to avoid having those kinds of huge centralized entities in control of our social-media systems. We want systems that are permissionless and trustless. Which means that we're going to need to design our systems to be more resistant to attackers, because they need to function well without a centralized policeman who can fix problems after they've happened.
In particular, one obvious potential problem is Sybil attacks: e.g. an attacker might automatically create millions of accounts and spam a group with posts or upvotes/downvotes.
For social-media systems, I don't think our existing decentralized sybil-resistance mechanisms are appropriate:
- Proof-of-Work and Proof-of-Stake require a large amount of money to gain influence, whereas we probably want social-media accounts to be cheap/free to create.
- Unique-human identification systems like Proof of Humanity and BrightID also don't seem quite right; we probably don't want to limit social-media accounts to one per human, and we also probably don't want to have everyone's account associated with their real-world identity; allowing multiple accounts and pseudonyms is a feature, not a bug. (Maybe clever ZK-proof technology can help, though?)
The best solution I can see is for new accounts to have zero influence. Make the system require you to convince others to opt-in to hearing what you think, rather than requiring them to opt-out. If you want people to take your posts/votes into account, you'll need to convince them to follow you, get the group to add you as a member, etc. Let people create a million accounts if they want; there won't be anything stopping them from doing it, but it won't benefit them, because a fresh account will have no power.
I think this means that we'll end up with trust networks playing a bigger role in web3 social media than they did in web2. You'll have a list of people whose judgment you trust, and maybe that trust will be transitive to some extent (i.e. you trust whoever the people you trust trust) (but with the ability to override their judgment).
e.g. I'm imagining a general-purpose upvoting/downvoting system, like Reddit, except that your personal UI only shows you the tally of votes by people who are (transitively) included within your trust network. Spammers and trolls and people-on-the-opposite-side-of-the-political-aisle-from-you can create as many accounts as they want and upvote as many dumb posts as they want, and your UI will never see them. (Which obviously has the potential to make our echo-chamber problem even worse than it already is, but... well, see the reducing polarization post.)
One wrinkle is that trust is domain-specific. (e.g. I have friends whose judgment I trust when it comes to programming languages, but not when it comes to politics or music.) So maybe we'll need some sort of tagging system to tag content items, and then we can have different trust-networks for different tags ("here's who I trust on music", "here's who I trust on politics", etc.).
(And then of course we'll need the tagging system to also be Sybil-resistant. So I think tagging will need to be done in this kind of subjective trust-network-based way, too.)
Posted Jan 1, 2022, 9:41 PM UTC
> convince others to opt-in to hearing what you think, rather than requiring them to opt-out
Similar to 'following' another account on Twitter today. And Twitter is smart enough to understand the topics an account is posting about (eg. music, politics, crypto) as well as your reaction to it. The problem is that a user cannot decide how that information alters their feed.
What I want as a user, is to overlay different filters on Twitter and Reddit (eg. daily global news vs. updates from my friends vs. cat images vs. balanced political debate), while using an AI to tag my preferences.
My experience has been that the parts of Twitter that I hate are exactly the parts that require opting-out rather than opting-in. My Twitter feed is full of a whole bunch of lovely posts from people and projects that I've explicitly chosen to follow... and then as soon as I click on any of those posts I see a bunch of hostile replies from people I haven't chosen to follow.
I'm a bit fuzzy on what you're imagining regarding filters. But the filter I want, if I'm a member of the Orange tribe and I just can't stand those evil misinformed morons from the Purple tribe, is something like: "Show me content that is written by Purple people, but that is tagged by people I trust (i.e. by Orange people) as being 'hey, this Purple content is actually not too inflammatory - I can stomach it.'" (And to incentivize that, I will happily make money available, via some sort of Patreon-like patronage system or quadratic-funding system or whatever, for Purple content creators who can create posts/replies that get tagged as such by Orange people.)
That is, here's how I'm imagining using the new-and-improved web3 version of Twitter:
That's what I mean by building bridges rather than forcing the different sides together. If you're a Purple who wants to actually engage in debate with the Oranges, write your reply so that it's reasonable enough to get tagged as reasonable by the Oranges. (And vice versa, of course.) Get them to opt-in to your stuff.
And if you don't care about engaging with the other side, that's fine, but at least then it's more obvious that you're just preaching to the choir within your side's echo chamber. You're not Fighting The Good Fight - the people you're fighting won't even see what you wrote. Everyone who'll see it already agrees with you. (I mean, of course people will still preach to the choir; that's something we do find rewarding, and it can be perfectly healthy as long as that's not all we do.)
But what we currently have on Twitter is... well, like you said, there's an opt-in aspect to it (following), but there's also a significant aspect of it that's an opt-out system where by default the UI will show you stuff that will infuriate you and get you riled up enough to write back stuff that will infuriate them. Which I think is why Twitter is such an awful, toxic place. So I feel like it would be a good thing to remove Twitter's "intentionally show people hostile replies that will incite them to fling 280-character poops at each other" functionality.
Sorry for being long-winded. :) I'm finding it hard to tell whether I've communicated the thing I'm imagining, and I'm also not sure whether it fits with the thing you're imagining.
Relying on opt-in only cannot exclude toxicity/negativity, while it would exclude potentially relevant content.
I'd rather see opt-in and opt-out signals as input to an algo that helps you get rid of toxicity/negativity.
Agree. Though there is plenty of content which you didn't opt-in to, and you're happy that Twitter shows it to you. Non-toxic content that Twitter predicts to be relevant to you.
The problem is that Twitter prefers to show you toxic/negative content, since it engages you more, because it spreads faster, because they understand it better.
The incentives between users and the platform are misaligned.
Though, from a technical perspective (for our improved Twitter), it should be easiest to cut out the most toxic content from your feed. As it's the most obvious, too.
Further optimizing our Twitter for (political) debate should be relatively easy, too. Since there is some objectiveness in structural relationship between arguments.
Relatively easy compared to generalized recommendations/filtering. Ie. Asking what piece of content is relevant to you...
...Which is the core problem.
An Orange account liking a Purple tweet doesn't imply that everyone on the Orange team likes it. The Orange team is not that well defined / marked out. A few members might like the post, and a few might not.
In the best case, the Orange account personalizes all their content to you. In a worse case, never sends out relevant content. And in the worst case, it misuses your trust and spams you with ads.
Which shows that opt-in cannot exclude negativity.
I think maybe what I'd try is something like:
(Similar to the surprisingly-priced token idea I described earlier. If you want to get people's attention, put your money where your mouth is.)
The problem I'm trying to avoid is the Sybil attack where, if the algorithm assigns (from a particular user's perspective) greater-than-zero weight to newly-created accounts, or (more generally) to accounts that haven't earned any trust from people within the network of people that user trusts, then it's possible for attackers to programmatically invent fake accounts and spam/muddle that user's results.
No need to put up a stake if you just want your content/tags/likes to be taken into account by people who've opted-in to you. But I think you should have to put something at stake if you want the attention of people who haven't opted-in to you, because otherwise the system is vulnerable.
(Or are you saying that you think you can analyze the content itself to determine whether a particular user would want to see it? I'm not convinced that that's going to work - and even if it works for the content items themselves, it still doesn't address the problem of spamming likes/dislikes and tags, which don't really have any "substance" to analyze.)
So you note three ways for someone outside of your DAG to get your attention:
- Get followed by you
- Get followed by another account you already follow (transitive-opt-in)
- By paying for it (paid ads)
And there are parallels to all three options in today's Twitter:
- Following
- Followers of followers / DAG / transitive-opt-in are also input to Twitters algo
- Paid ads
So again, I think that Twitter's algo is capable to use the first two. And the core problem rather lies in the business model, that doesn't allow Twitter to exclude toxic content.
Web3 will fix this by:
- Allowing for the filter algo level to have their own business model. A marketplace of different algo providers which cater to different user needs.
And I like your point about staking. Staking allows advertisers to get money back for delivering better ads.
- Allowing for ads to improve. A local-first approach gives more diverse data to advertisers and allows them to improve relevancy of ads.