For those who just joined, I'm about to share the development story of Factchain Community, the GTM strategy for Factchain Media. If none of this makes sense, read yesterday's post. The MVP era is behind us - and probably never existed in crypto. To announce a new web3 product, you ought to be prepared. Smart Contracts are harder to upgrade and fix than traditional Web2 backend code, their errors are rarely recoverable, and they expose users to a higher security risk because everyone can read and interact with them. That makes it hard to bootstrap ideas without funding. A reasonable approach is to launch as fast as possible on testnet, gather feedback from early adopters and crypto natives, fix the product, and raise capital from there to go live on mainnet. And that’s indeed the path I chose. I was the only one on the team without a salary, so I was in a rush. As touched upon yesterday, X1 and X2 were (and remain) in their respective full-time jobs.
A credibly neutral mechanism to combat misinformation
I will not paraphrase the great definitions of mechanisms and credible neutrality given by Vitalik in this 2015 post. Please do read it, though, as these two definitions are fundamental to our concept of Factchain Community: an onchain version of X community notes. This feature was initiated by Twitter in 2021 under the name of Birdwatch. It was an experimental attempt to involve users in the moderation effort of the platform. Enrolled users can rate others' community notes and submit their own notes after a few successful ratings. An open-source ranking algorithm periodically computes ratings to assign scores to notes. Vitalik (again) did a great job explaining how the algorithm is trying to select notes that get cross-tribal approval (i.e., notes rated as HELPFUL
by users with different political opinions).
Moderation is costly for all social media, so there is much to be gained from getting users to collaborate in order to do some of it for free.
When Elon Musk took over Twitter, he probably saw an immense opportunity in Birdwatch, rebranded it Community Notes, and allocated an entire team to it. The project had two dimensions: cost efficiency and ideological principles. Elon could boast about being the guardian of free speech while laying off staff handling misinformation.
While X’s community notes have paved the way, their approach still falls short in several aspects:
Users are anonymized. They can't brag about being the author of a community note under Joe Biden or other important personalities' posts. They have no incentive to participate in the moderation effort. "Given how demotivating this selfless task is, It's quite likely that special interest groups will eventually end up taking control."
It is impossible to audit the data used by the algorithm as X ultimately controls the storage and access of Notes and Ratings. Elon Musk has already been accused - probably unfairly - of hiding community notes under his posts.
It is limited to X and cannot be easily extended to other platforms.
We built Factchain Community to address the above concerns.
I was mainly responsible for developing the Factchain Backend and the Solidity Factchain Contracts on the figure above. I used typescript for the backend because of the maturity of the JS web3 ecosystem. There are great libs like ethers to interact with Smart Contracts. Eventually, I became obsessed with NFTs. I always thought they were a sufficient motivation for people to contribute. X1 had another vision: "Put your ETH where your mouth is." Every note and rating would require a financial stake for two principal reasons: (i) incentivize contributors who would get rewarded or slashed based on the quality of their contribution, (ii) augment the cost for bad actors to vote on their own note and spread misinformation. We will see in the following post why these financial stakes turned out to be a bad solution to these two problems.
While working on Factchain NFTs, I drifted away from the purely technical aspect to find an image for them. As we saw on Day 4, people are used to associating NFTs with JPEGs, and NFT marketplaces like Opensea and Blur display them as thumbnail images. I came up with the idea of using AI to generate an image from the community note. The output is random but related to the note's text. Nobody can obtain the same image again, so the NFT is unique in style and ownership. I used the great replicate AI platform to generate the image with one API call and stored the result on IPFS through Pinata.
Once their note is finalized (i.e., the last run of the ranking algo), Factchain authors receive the original as an ERC-721 non-fungible token, and raters receive a copy as an ERC-1155 semi-fungible token. Both share the same immutable metadata on IPFS. These tokens are the entry point to a social network of fact-checkers, laying the foundation for a billion-dollar authentication SaaS.
Sadly, It didn’t happen. But on the flip side, I wouldn't have had the time to write this series if it had. Every cloud has a silver lining, I suppose. (2/3)