28 April 2023

How Reputation Mechanisms Supercharge Decentralized Communities

Prior to web3 there was the Web 3.0:

Before we dive into the topic of how reputation mechanisms supercharge decentralized communities, I want to take a moment to reflect on the creation of the web as a backdrop in understanding web3.

The first web, Web 1.0, was created for human consumption. The W3C, the group that helped invent the internet had a vision to extend it beyond that, they wanted to make sure that it was a web of data, a machine readable web. In their vision of the web, it would be an intelligent, connected, data-driven internet. Together, they called this vision, the Semantic Web, or Web 3.0.

It was a grand vision. A vision of universal data, an endless fount of decentralized assets, but it ultimately failed. The failure came because there was not an incentive for the web community to adopt the standards. For more information on the demise of the Semantic Web, read Sinclair Target’s wonderful essay, Whatever Happened to the Semantic Web?

In 2013, with the invention of Ethereum by Vitalik and others, the idea of a web of truly machine readable data came back into popular consciousness. Instead of calling it the Semantic Web, some called it the MetaVerse, others called it loosely Crypto, while still, others called it web3.

Web3 is basically the Semantic Web with the addition of built-in economics, whose production model is based on open-source, i.e., decentralized permissionless networks. In other words, web3 is the decentralized internet. To aid in our understanding, I will use the Ethereum network as a computational object to think with.


Both the Semantic Web and web3 have similar goals of creating a data-first, data-driven internet of humans and machines. Looking at the image above, we can see a similarity in their stack. They both rely on standards. They both recognize the need for doing attestations and verifiable claims. They both rest on cryptography, and most importantly, they both recognize the need to have trust as the crowning layer without which their vision of the web becomes harder to use.

For the most part, it seems web3 is just speed running through the same path as the Semantic Web. But hopefully this time, we will succeed because we have an incentive layer of economics built in. Nevertheless, because as of yet, the trust layer is missing, most people’s understanding of web3 today is mostly based on the ability of bad actors to use it for malicious purposes. We, members of the web3 community need to make it safe and trust-enhancing. And thankfully companies like Fimio as well as others are working on doing just that.

Working in public:

All this matters because one of the main emergent uses of web3 is as an economic engine. And as a result, people are using it to do work. That work may be done in the context of a play-to-earn game, a DAO, a DeFi protocol that generates income and so on. All this work is done while riding on the rails of decentralized permissionless systems of open-source which means a significant amount of the work is done in public.

Working in public is not new and people often marvel at its ability to get things done because open-source brings together groups of strangers, who are loosely affiliated with each other, and somehow they all coordinate and get work done.

The reason why the open-source model works so well is because the people who participate in working together are often, for the most part, intrinsically motivated. And this model has worked so successfully that now over 90% of all enterprise production code makes use of open-source.

Furthermore, apart from the use of web3 as an economic engine, because working in public often means working with strangers, we want to be able to make strong statements about the connections on the decentralized web. For example, in data provenance scenarios, we want to be able to mathematically verify that a particular piece of data in an application came from a particular source.

How do you achieve coordination?

In spite of its incredible success, there are still some major challenges with getting work done in these types of decentralized systems. For example, in successful open-source projects, there is always an asymmetry of the number of maintainers to the number of contributors. For some projects, the ratio may be 1 maintainer to 500 contributors. This asymmetry results in coordination problems with respect to the velocity with which work can be done.

For example, in open-source, the coordination cost of opening an issue in a repo is very low. Anyone, even someone entirely new to the project can open an issue. For example, I can go and open an issue in the GitHub ethereum/go-ethereum repo, with just a few clicks.

Whereas the coordination cost of doing code review and merging a pull-request is very high (that needs someone who is an expert in that code base). Eventually these costs get out of hand and projects suffer. Maintainers burn out, and the projects stop being a source of value.

In web3, these same problems exist, and the stakes are even higher. For example, the coordination cost of joining a discord server is relatively low. You just click on the link and you are off. In contrast, the cost of picking someone to delegate your tokens to is very high. You need to research each delegate and find the one whose history and interest are mostly aligned with yours. Most of the time, it can be almost impossible to gather the information you need. Let alone the coordination cost of matching the right kind of work to the right kind of project contributor in web3. And because it is a group of strangers, loosely affiliated with money involved, the opportunity to defraud is very high.

At the base layer, web3 for the most part achieves trustlessness via consensus mechanisms that prevent fraud. It does all this in a decentralized manner. You can trust the contents of a block on the Ethereum blockchain because of the way its block validation system works. You can learn more about consensus mechanisms here.

As we go further up the stack, for example, at the application layer, that trustlessnes is missing. The absence of a reputation mechanism at the app layer, creates the twin evils of fraud and coordination problems.

Luckily there is a solution to all this, it is called a reputation mechanism!

Reputation mechanism

A reputation mechanism is a means of gaining insight into the trustworthiness of an entity. For example, the Michelin star rating system is a reputation mechanism that gives restaurant patrons insight into the experience of a particular restaurant. Another common reputation system is word-of-mouth. Word-of-mouth is one of the oldest reputation systems, and one of the most impactful in the world. Often, it is the reputation system that most of us use in our daily lives. Whether we are in the market for a new lipstick, or a new car, we often ask those we trust for their recommendations. Entire businesses have been made from providing these recommendations.

Now, imagine if we could take the power of word-of-mouth and make it available to everyone on the web. Imagine if we could take the power of word-of-mouth and make it available to machines. Imagine if we could take the power of word-of-mouth and make it available to smart contracts. Imagine if we could take the power of word-of-mouth and make it available to DAOs. Imagine if we could take the power of word-of-mouth and make it available to the entire web3 ecosystem. We don’t have to imagine that future. It is already here. It is called a reputation mechanism. A good reputation mechanism will automatically allow us to do all the above.

The challenge of our time is providing well crafted simple and powerful reputation systems. At Fimio, we are starting with reifying code (smart contracts) as a first class citizen, and adding reputation to it. In future postings on this blog, we will spend time unpacking all the elements that make up a good reputation mechanism so that we can meet this challenge as a community head on.

Collect this blog post as an NFT.