# Design thoughts for building a better kind of social space with many webs of trust

# Principles for building a better kind of social network with webs of trust

## Abstract

Discussion of the unrealized potential of webs of trust as a decentralized institution for appointing moderators and curators.

Webs of Trust seem to be applicable to improving almost every social network process, including comment moderation, content sorting, determining the visibility of backlinks and edits in a globally editable wikis, but the article focuses primarily on tagging systems: The appointment of curators of categories of content.

## Why webs of trust work

A web of trust is a network of users endorsing other users.

If you tell a web of trust who you trust, you can then travel along and find out who they trust, and so on as far as you wish to go, and that will give you a large set of people who you can trust to some extent, by transitivity.

Webs of trust can scale up at an exponential rate, as each new user can immediately add more users (better, they can start issuing endorsements in their own network segment even before they're added). Wonderfully, despite that, webs of trust can also be pruned and weeded fairly easily: If a few bad endorsements do get made, and the newly empowered bad users start adding more bad users, we will be able to trace the source of badness back through the endorsement relations to the root causes, and pruning them away will also prune away everyone that came through them, directly or indirectly. Crucially, the pruning and weeding does not need to be carried out by a central authority. Every user is the center of their own web, they make their own moderation decisions, they can bring in anyone they like.

Webs of trust essentially are the delegation or sharing of moderation work.

Webs of trust are useful whenever we wish to track a quality that people can have, which comes with the ability to recognize the presence of that quality in others. Most personal qualities are self-recognizing, in this way, to some extent. A person who has it, faced with another person, can usually figure out whether they have it too.

Examples of such qualities include `good taste`, `responsibility`, or `not a spambot`.

Some non-examples would be `is a spambot` (spambots are mainly about spamming and are not very interested in identifying each other), or `is a fool`. A web of trust would not help with keeping track of these qualities, but, again, most qualities people talk about aren't like these. If you do find yourself in need of a web that tracks a non-selfrecognizing quality, consider just making a web that tracks its negation. `not a spambot`, or `no fool` would work pretty well. 

You might notice that some of the given examples of selfrecognizing qualities have rather subjective meanings. Not everyone will agree about what `good taste` or `responsibility` means. It's often useful for a word to be this way. The neat thing about webs of trust is that they will often still work pretty well in those cases! If people disagree about the nuances of a quality, they will often end up organizing into separate webs of trust that agree within themselves. **Webs of trust are compatible with subjectivity**.

That makes webs of trust suitable for moderating a truly global platform. At no point does a central authority have to decide for everyone else what any of the webs are about. If two groups disagree about what sorts of things should be posted in a fundamental tag like `respectful discourse` or `safe content`, they don't have to interact! The web of trust is so powerful as a moderation technology that they can wholly split their webs and keep using the same tags in completely different ways without stepping on each other.

### Some noteworthy systems that use webs of trust

The prototypical example of webs of trust seems to have been the process of establishing of real identity in PGP signature networks.

A friend, [Alexander Cobleigh](https://www.cblgh.org), is implementing a subjective moderation system for the P2P chat protocol Cabal, which you can read some things about [here](https://cblgh.org/articles/trustnet.html)

Webs of Trust are being used to measure social adjacency in various distributed systems, for instance

- [Intersectional Social Data](https://blog.radicalxchange.org/blog/posts/2019-10-24-uh78r5/), a system for sharing personal information with only the right groups of people, uses [Staked Collateral](https://academic.oup.com/qje/article-abstract/124/3/1307/1905159), where trust links are represented with commitments to lend money.

	- Additionally, I believe I've heard other RadicalXChange rumblings about *absence* of trust being potentially useful for evidence that a set of parties aren't very likely to be able to collude, which may be an important component in mechanisms for preventing vote trading in quadratic voting systems or guaranteeing competition in global auditing process.
	
- [Duniter](https://duniter.org/en/introduction/) requires that "Every member is strongly identified through a Web of Trust mechanism to prevent any one individual from receiving multiple Universal Dividends by using more than one identity"

## Core principle: Users should not be asked to reduce themselves to a single brand

A web of trust can be used to exclude spammers, ban-evaders, annoying people, rude people, bad people, or people with bad taste. However, if one web of trust were used to cover all of those meanings and purposes at once, I imagine the results will be pretty inhumane; people would commit chilling, cowardly omissions of self to avoid any risk of being perceived as rude lest the web put them in the same icy hell as spammers.

Twitter kind of is like that, and I think it exhibits a lot of the problems we should expect that to have. On twitter, you have one face, you get one tube, the people who follow you have to be alright with everything you put in that tube. If you ever want to to post a type of content that some of your followers explicitly want to never see, you have nowhere to put it. Brand is totalizing. Everyone has to compress themselves down to one legible brand before the network can thrive.

Users should be encouraged to have more than one side to them. The situation could be helped if twitter were more encouraging of the use of alt accounts. In a way, the system I'm about to propose is a way of streamlining that sort of mode of use.

As it currently stands, we can conceptualize Twitter as a kind of thick slow web of trust for the overly broad content category of `good tweet`. This web's quality is not truly *self-recognizing*; the endorsements do not represent a transitive relation, they do not conduct very far, if you travel just a few steps along through your follows of follows you will find mostly people you wouldn't want to follow. Only shitposts and the most general interest news propagates well, everything else propagates depressingly incompletely, there is no strong agreement in most networks about what is good to post, and where there is no strong agreement there is no truth about what is good to post. Nothing is good to post. We must simply log off.

What if, instead, we had many webs of trust that discuss and define the many different dimensions of interest that people can have, which users could choose to participate in or not. Most of these webs may have specific enough meanings that content could be automatically propagated fairly far through them with confidence that everyone in them would be interested in most of it. Some of these webs might be nebulous or subjective in meaning, which would have lower recommended automatic propagation constants, and those would work too.

It is important that users are not required to present as a category of information, and it is important that categories of information can grow larger than any one curator. A person should not be a brand, and a brand should not be a person.

## The Tasteweb Concept

Tasteweb would consist mostly of these four types of thing:
	
- **article**: Content, posts, replies, records of actions and declarations.

- **tag**: A property articles can be declared by presences to have (or, equivalently, can also be thought of as a set that articles can be put into.)

- **presence**: A presence of a user in the web. A user can (and usually should) have many presences in different webs.

- **web**: A network of endorsements over presences, generally about a type of quality that presences can have that tells us which sorts of tags they are assured to use agreeably.

**presences** apply **tags** to **articles** to organize them, filter them, and to alert interested parties of them. The **webs** of trust in which **presences** are organized speed and shape the propagation of updates about what articles have been tagged recently, and guide queries over the presences most worth visiting.

That's pretty much it. The rest of the document will give you a clearer picture of how many things those primitives will enable.

Some tags will have simple, objective meanings. `music`, for instance. A tag like this would be affiliated with the `uses basic tags correctly` web (meaning that basically everyone would be able to use it), it would be useful for confirming that an article is music, but it might not be an especially useful tag to most people for finding or promoting attentionworthy examples of music. Here's where things get interesting:

Consider a tag called `good music`. Its meaning would, of course, need to be subjective, and webs of trust can support that! You would find a `good music taste` web, Find someone you align with and trust them along the `good music taste` dimension, and you'll get their recommendations, and if they haven't recommended anything today you'll see the recommendations of the people they trust, and so on, and it will immediately function as a music recommendation system that you and the musicfriends have complete control over. You would wake up every morning and have your client essentially run a query like "time:today tag:`good music` from:my(`good music taste`) min_similarity:0.04" and it would all be great stuff, or if it's not, you can rearrange your endorsements and move towards a web where it is.

The crucial advantage this has over other recommender systems that use user similarity, is that it is fully transparent, accountable, and controllable. You can see how it works, you know where the recommendations are coming from, and you can fix it yourself when there is too much bad or not enough good being recommended. It is not a black box algorithm. You can trust it for a lot more, because it consists of people, who you can see.

### A taxonomy of very good webs of trust that should arise under a healthy culture of usage

- There are a few basic webs that every human should be in. In most cases, they will be bundled together and reciprocated through a **friend endorsement**.

	Very silly abusive actions can sometimes result in people getting cut out of some of these. Since they're so important, we must try to make sure the punishment is suitable and proportionate to the crime and not a complete disenfranchisement from the entire system, so that's why we have to separate them into different specific categories when we can.
	
	- `Isn't a spambot`
	
	- `Isn't a propagandist from a troll farm`. Will, inevitably, be occasionally partially infiltrated by propagandists from troll farms, but it would still be a good thing to have for fighting them.
		
	- `uses basic tags correctly`. Lets people use any tag with truly simple, objective criteria, stuff like `is a picture of a dog`, `is a book review`.

	- `suggests respectfully` allows them to issue requests that an article be lifted up by widely endorsed tag curators who are open to suggestions.

- Meta topics

	- `curator curator curators`: metametacurators
	
	- `good webs`: An intentionally vague and subjective tag for discovering a wide variety of places
	
	- Fancifully; it would be neat to have a web that maintains a light read that explains how people are supposed to use the system, `proposals for alterations to the text of culture of common usage`.

- `scholarly consensus`: Wikipedian type people (or the type of people wikipedians ought to be) who are honest and informed about what reasonable people should be able to agree on. Trust only good scholars and you will be a good scholar too.
  
  Wikipedia generally works because no portion of the accountholding userbase brigades articles outside of their expertise. This will be a useful mechanism for maintaining that sort of condition.

	- Most users aren't going to want to post like this. The tags that `scholarly consensus` curate are no use for speculation or for anything subjective. Upholding the norms of `scholarly consensus` requires you to post very conservatively. That is usually boring, a lot of the time it's not even intellectually productive.
	
	- Many users won't have the types of research skills or the network epistemic sense to post like this. Maybe they will aspire to learn.
	
	- Regardless, this web will perform many important functions that require soberly reporting widely accepted truths.
	
	- There would be controversies and web splits sometimes, of course, but unlike with most webs they should always be considered to be potentially avoidable tragedies. Wherever `scholarly consensus` gets into commenting about things that might turn out to be deeply importantly wrong, well that never had any place in `scholarly consensus` in the first place.

- `good talk`: Replies well, converses well. Use it to decide who you want to see first in replies and who you want to be able to receive reply notifications from.

	- The first thing is sort of a stricter requirement than the second thing. There should probably also be `replies okay` a web that means "I want to be told when these people are saying something to me, even if I don't necessarily want to see their replies first when they're replying to something else". Many people, though not all, are totally up to having the level of responsibility to be allowed to begin dialogue with a random stranger online. It would be a much broader web.

- a general class: networks of -` taste`. When a post or comment is tagged with, for instance, `good music`, we will only see that post or comment in our queries if it was tagged by someone who is near to us in our `good music taste` network. For many types of tag, having curators turns out to be very important. Tagging/categorization systems currently mainly only work reliably for very plain objective qualities that everyone can pretty much agree on the meaning of and which few people have an incentive to lie about, and such categories tend to be boring. For almost any interesting category, things like `important news`, `honest summary`, `interesting game`, `scientific breakthrough`, there can be no widely agreeable shared objective understanding of which articles belong in it. In practice, such categories, when opened to the most general possible audience, will tend to become pretty mediocre. Many will leave and the ones who remain will do so grudgingly. Given a subjective inclusion though, networks of -` taste` could work wonderfully.
	
	- Real world examples of tag systems that suffer from being uncurated

		- reddit's subreddits, which provide no way of holding voters accountable for upvoting reposts, upvoting inane bullshit, or downvoting interesting or challenging things, so they tend to end up either needing extensive moderation, to an extent that almost obviates the usefulness of reddit's vote sorting.
		
		- twitter's hashtags, which the people who get the most out of twitter never seem to use in earnest. I have seen more hashtags being brigaded than I have seen hashtags being used fruitfully. If I have seen any hashtags used fruitfully, I don't recall, they must not have been for me.
	
	- I can't wait to see if `taste in humor` would work. Shitposting twitter tends to be pretty powerful so it'd probably work really well.

- I think it might turn out to be impossible to engage in nation-sized online political discourses without some kind of `actually listens` web.

	- Since the entire point of it would be to facilitate civil political dialogue between people who do not already agree about everything I think this probably wouldn't result in totalizing echo chambers, especially if you factor in users changing their behaviour in response to knowing that this specific moderation pressure to be respectful and accessible are hanging over them.

### UX

I wish I could present a clear and complete design, but that will take some consideration. For now I'll just throw some thoughts out

- A lot of it would just look like a feed

- Some quick ways of responding to any articles

	- `bookmark`, for when something is important but large and should be considered again later. All platforms should have this!

	- `relevant`, a signal that means "I do agree that this belongs in these tags in this web". Should probably cause your presence to confirm the tag? But I dunno, I kind of want there to be a lower stakes "I appreciate this" signal that just goes to the article submitter.
	
	- `irrelevant`, a signal that means "This should not be in these tags or this web". May be used to prevent an article from propagating upstream to your endorsers? but also just makes a note locally for the client to help you to identify bad curators. If enough `bad` signals turn out to stem from a specific curator that you have trusted (with an inadequate propotion of `relevant` signals to balance them out), the client will ask if you'd like to unendorse that curator.

- The suggestion queue.
	
	- If a user is in the basic `suggests respectfully` web, they can put things before their favored curators, who may then tag the article themselves. Curators may, if they choose, view those suggestions in their suggestion queue. And they may well choose to, because it helps them to find new things to post.
	
	- There should probably be some automated system that notices when an outside presence has submitted multiple successful articles, and recommends bringing them inside. This would have a lot of subtleties though. Hm. I guess that would be another governance process that curators would have to opt into, similar to the suggestion queue.

- A way of viewing the feed of each presence the user owns (the articles tagged with the relevant tags by the presences that presence trusts).

- Maybe allow seeing the view of presences they don't own, but I'm unsure. They could get an equivalent experience by creating a presence of their own that just trusts that other presence. This would have two advantages.

	- Encourage them to get engaged with building their own presence in the web, instead of relying on the submission process or not contributing articles at all
	
	- Lower the barrier to making a view that consists of multiple curators by trusting additional curators. If all a person knows how to do is select one curator, they wont get as much benefit from the software. We should encourage them to use it in a different way.

- To consume information in a healthy way, the user needs to be able to control what they'll be seeing on any given session. Sometimes we don't want to face the notifications of one of our accounts. Sometimes we want to make sure we will be able to engage in a particular news-processing task or research project without being distracted. For such cases, users will be encouraged to define modes, or use profiles, which they can switch between.
    
	- Modes would mostly consist of a combination of the views of some of the user's presences, I think? Maybe it should support hand-written queries, in some cases.
	  
- Please can we not make it a web browser app. All web apps consume infinite memory and become slow and the layout language of the web is actually pretty bad. The answer is no, though. There aren't any great alternatives to the web for multiplatform UI development, afaik, and the site will need to be able to render a lot of things for the web anyway, for the sake of making it widely accessible. I really wish we didn't have to. We'll just have to work really hard at doing things in the simplest, fastest, lightest way.

## Getting this made

This is not going to happen at all if you leave it to me alone.

If you come to believe that a system like this would be good, [reach out](https://aboutmako.makopool.com), and we'll get organized, and then maybe it will happen.

A good thing must fight in any way it can to grow faster than the bad things that are growing now.

---

[Roam document: the engineering problems of tasteweb](https://roamresearch.com/#/app/Test-database/page/0nfYFRK4u), principles, questions and solutions.