project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5

Socrates' Protocol

Socrates is the credibility quantification protocol. User votes and their calculation allows to go from feelings to maths, when it comes to define whether a piece of information is true or false.

Socrates' Protocol

Created At

ETHGlobal Paris

Project Description

Data credibility is SUBJECTIVE. Why is one source more credible than another? There is no math, it's just feelings. And what truth actually is ? Socrates is the credibility quantification protocol. Users’ votes and their calculation allow to go from feelings to math, when it comes to defining whether a piece of information is true or false. So, decentralized vote defines the truth.

The Socrates’ Protocol is a web3-based system utilizing a voting mechanism to score information, ensuring an objective classification of sources. By employing World ID identification, each voter is unique and can rate information and web pages found on the Internet, contributing to a knowledge scoring stored on-chain.

This protocol is open-source and highly adaptable, catering to various user communities, including professionals from different sectors. Users have the flexibility to integrate alternative voting algorithms aligned with their specific criteria, as Socrates' method recognizes that truth is often found in the process of seeking rather than in the final outcome.

In the pursuit of an improved internet governance, Socrates' Protocol embodies the essence of web3 as a public good. It empowers users with unstoppable, unbiased, and verifiable tools, promoting a saner and more accurate understanding of reality. By subjecting information from digital spaces to common intellect scrutiny, the protocol helps filter out modern sophistry like fake news, trolls, and low-value content, emphasizing the necessity of cultivating a contemporary critical mindset.

To demonstrate the power of Socrates, we have built an extension for the Socrates Protocol. This extension allows to calculate the credibility score, taking into account the attestations of the voters, whether they are attested as experts in maths or not.

In this extension experts possess greater voting power. This approach aims to prevent both the tyranny of the majority in less-known topics and the influence of the median voter, as described by Duncan Black's and Rabinowitz and Macdonald's models, respectively. By striking this balance, the protocol avoids creating bell-shaped curves or V-curves, which would lead to every information being considered of only "medium" or extreme "good" or "bad" quality.

The protocol's analysis component calculates voting results based on the community members' diverse profiles, enabled by the Ethereum Attestation Service (EAS). This algorithm also accounts for statistical risk, providing users with precise assessments of information objectivity. The interface offers the necessary computing power for these calculations, and the results are verifiable through Cartesi's calculation.

In the future, the protocol aims to be accessible as a web browser extension, allowing everyday users to easily view the information's scoring while browsing the web. This facilitates critical analysis of the daily information they encounter.

How it's Made

The protocol itself implements:

  • Worldcoin World ID (verifiication of the uniqueness of votes, mandatory for project functionnality)
  • Cartesi Nodes for off-chain statistic calculation and on-chain verification (mandatory for calculation modularity)
  • Solidity smart contract on goerly chain (voting system and decentralized database for votes)

The extension implements:

  • EAS for on-chain expertise verification
  • Angular as frontend framework

To build this project we used Javascript for the front-end part (Angular.js/React.js), Python for the voting algorithm, and Solidity for the voting smart contract. The goal of the project is to allow anyone deploy his front-end and voting algorithm on our protocol.

Architecture is thus constructed as follow: A voter will, through the front-end (here the one constructed in JavaScript), interact with the voting smart contract, where where we also integrated a WorldId verification. The smart contract’s state is then modified is everything is validated.

An observer, here too via a front-end (we also deployed an example in JavaScript), will be able to get the smart contract’s state (to get data on the vote). The data is then sent to Cartesi, in order to off-chain calculate the “credibility” score of the information, by using a statistical calculation algorithm to compute the votes (we implemented one for this hackathon but everyone is free to add his). Then is result is than sent on-chain (Cartesi permits to “prove” that the result calculated off-chain is trustworthy).

We want to explore several voting systems, we thus thought on a certification system of the “expertise” of users. Indeed, we think that giving a heavier-weighted vote to a user having expertise in a given domain is necessary.

To do so, we used Ethereum Attestation Service by creating an on-chain scheme and integrating it in our demo. The attestation permits to “prove” someone is expert in a particular domain and give him this “heavier” voting power.

Without sponsors’ technologies, it would have not be possible to build this project. The on-chain computation is something extremely expensive and not efficient, Cartesi’s technology permits to solve this. WorldCoin’s WorldId permits to implement a sybil-proof solution and EAS enabled us to generate attestations for the voters’ expertise.

background image mobile

Join the mailing list

Get the latest news and updates