Today I’m going to explore what a web3 social network could look like and try to figure out what we want from social networks and where they might be going in the future.
Let’s first look at some existing social networks and what makes them popular
- Facebook – first mover advantage, friends and family all in one place
- Twitter – simple news feed of curated content aligned with our interests
- Instagram – beautiful photos, follow the lifestyles of the rich and famous
- Linkedin – network with professionals working in similar industries
- TikTok – dopamine optimized short video content with leading AI
The thing that all these products have is targeted content to the user. When you log in to any of the networks above you will be delivered personalised content based on your interests and social graph connections.
Web3 offers decentralized data where the user can own their content. This is a gamechanger in itself because of the negativity associated with social networks towards data privacy and advertising.
So a web3 social network would use smart contracts on blockchains to store user data and posts. The user controls and has full control over their data, as it’s on a blockchain it would also be publicly available to anyone and everyone.
This also opens up the possibility of data portability. i.e. you post once and the content is then imported into the networks you choose. You can move your own data between social networks or connect new networks to your personal social data on your account.
The ultimate goal would be for users to self-manage their own data and this would be consumed by their social graph across multiple platforms that connect, collect and curate from users data. It opens up this new paradigm of how we think about our own data and offers new ways to share.
The Content Curation Problem
The new network would still need a way to aggregate all the data posted in to a personalised feed for each user. The tool for the job here is machine learning and it would be impossible to do the aggregation on-chain. Essentially you’d need a centralized entity or multiple entities to curate the content and match it to users.
The reason you can’t run ML models on-chain is due to the computation requirements. Blockchains are built on a distributed network of nodes (computers) which vastly limits the feasible amount of computation you can do. They are ideal for doing small calculations on small data sets, like a ledger of funds for example, but they are not designed to curate millions of data sources in real-time.
At this point we run into our first significant problem. If there is a centralized entity curating the data then it stands that they can maliciously alter the content we consume. No centralized entity is immune from government pressure for example.
You could mitigate this issue by perhaps open sourcing the code and encouraging 3rd parties to come up with their own frontends and content curation systems. Perhaps you are then passing the problem off to someone else who you may not wish to trust. We could perhaps create systems where the community curates the content but this would be gameable with opensource algorithms.
It’s a problem I don’t have a good solution to, but perhaps one will emerge over time.
A Web3 Social Experiment
Web3 technology in it’s current form is closely tied to financial transactions and digital wallets. Users accounts would be linked to an address on the blockchain network. This could be obfuscated into the background through account abstraction.
In theory something like Medium’s magic link sign up and login process might be UX optimal and as developers we should strive to give the user the simplest possible onboarding.
The connection between the account and a wallet does open another possibility, all be it a horrendous one. You could potentially rank users by their wallet balances. i.e. a user with a million dollars worth of funds in their wallet might appear higher up the feed than a user with zero balance.
Ranking content by net worth sounds like a horrible idea, and perhaps it is, but it might help prevent spam and provide a interesting social experiment. On many social networks we already gravitate towards successful people. Would Cobie be as famous as he is if he wasn’t a high net worth individual? We tend to care more about the opinions of people we perceive as successful from a financial standpoint. The biggest accounts on existing social networks are all high net worth individuals. Joe next door doesn’t have 100m followers because no one cares what he thinks, whereas Elon can move markets with a single tweet.
Would people want their wallet balances publicly displayed on a social network? From a personal security point of view it’s a horrible idea but is it more horrible than posting a picture of a michelin star lunch or private jet on Instagram? Many social users go out of their way to show off their wealth.
Would anyone want to see a feed of curated content which is optimized towards high net worth individuals? There would be a balance here where users would still want personalized content to match their interests and social graph but the addition of a wallet balance metric could potentially create more quality content. You could perhaps offset it with a reputation score which is displayed alongside the balance and is also used in ranking the content.
From a personal perspective I would be interested to have a social feed with no spammers, scammers and larps. Perhaps this is one way in which we could optimize towards that goal.
Get Paid To Post
Social networks are extremely valuable, Facebook has a market cap of $1.2 Trillion USD. A web3 network could potentially return some of that value to users.
Existing social networks are valuable because of their ability to deliver targeted advertising. This is one of the things that we said earlier that users would want to curb. And on a per user basis it’s not a huge some of money. Perhaps $20 per 1000 impressions for ads, so logging in once a day you could view 10 ads per session which would be 300 ads a month or about $7 a month. It’s not a significant amount of money for each individual user. The shear volume and scale of social networks creates vast wealth to the existing centralized entities that control them.
So this leads to a second problem, if users don’t want targeted ads how do you monetize the network? It’s tough because no one is going to want to pay to use a network. Whatsapp originally cost $1 / year and they scrapped it because it was limiting growth. It now runs as a data mining operation for Facebooks wider network, probably subsidised by government defence and intelligence agencies that it shares the data with. This wouldn’t be an option for a decentralized network.
Posting and owning our own data would require the user to pay a transaction fee to store data on-chain. On Ethereum this is famously expensive but there’s no reason why a L2, L3 or appChain couldn’t be utilized to offer low cost data storage. Perhaps networks could even be blockchain agnostic and combine data sources across multiple chains so the user could post and store data on whichever chain they choose. If most users don’t want to pay for transactions then there needs to be some form of monetization to offset those transaction fees.
So you would probably need to find a way to combine advertising with delivering value back to users to make that more palatable. The first problem of content curation and the second problem of monetization could both be solved by a centralized entity but if we go too far towards centralization; are we really improving on existing networks and creating a 10x better product?
Web3 Native Features
There are other potential opportunities that a web3 social network could capitalize on.
Prediction Markets
I spoke previously about prediction markets being a source of truth and I think that this would be interesting to intertwine into a news feed. You could potentially have live debates and events displayed through prediction markets.
When there are hundreds of millions of dollars on the line you tend to get very accurate predictions for things like elections, sports, events.
Pseudonymous Accounts
It’s fairly normal within crypto communities to have social relationships with pseudonymous users. A web3 social network might not need to be built around your real life persona but a online persona that you can create and tailor to your ideal self.
Anon accounts would also go some way to addressing the issues with using wallet balances to curate the feed.
Token Gated Content
The wallet connection would make it very easy for users to sell premium content. i.e. you could have a token gated community which requires a user to hold a particular NFT to access. Or you could sell a newsletter for regular ETH micro payments.
This could help content creators monetize their content to subscribers.
Transparency & Privacy
Data stored on-chain is transparent and publicly available. To have any form of privacy enabled that content would need to be encrypted.
In theory a user could encrypt the content before posting and then share keys to decrypt it with networks and/or individuals that they choose and approve.
This could also be used for secure private encrypted messaging between users.
There are likely more opportunities that I haven’t thought of that can offer unique value to a web3 social network. The technology is still evolving and additional features are still being uncovered by developers and users.
I believe a web3 social network is coming at some point and the longer term migration to user owned data is inevitable. Something to think about for the future.