Adequate decentralization of social networks

Author: Varun Srinivasan, Indian, graduated from Carnegie Mellon University, worked at Microsoft, and later founded SoundFocus, which helps the hearing-impaired, and is currently the director of Coinbase.

Every year, centralized social networks impose more restrictions on what users and developers can do. They seem to believe that limiting choice is the path to a healthy web, when the opposite may be true. A decentralized social network can challenge this assumption by making two strong promises that centralized networks cannot. They can ensure that users have a direct relationship with their audience, and developers can always build apps on the web.

Centralized social networks tightly control their users’ ability to reach audiences. They highlight some posts and suppress others to increase page views and ad revenue. But reliably reaching your audience is valuable to users, and it’s not just a way to get paid after posting. For example, Musk’s Twitter followers make it easy for his company to raise billions of dollars from the public. When people find out that companies are restricting access for their own benefit, their frustration is understandable. They are more disturbed when they realize that the company controls their identities and can kick them off the network without any recourse.

The network’s relationship with developers is also controversial, and they bring in millions of early users. Developers built alternate clients, invented user interface paradigms, and even launched multi-billion dollar gaming companies. But as they grew, the network realized they didn’t need developers anymore. Most users are locked in and won’t leave because they lose a portion of their audience. The developer’s API becomes a burden to reduce revenue and increase complexity, and is limited or shut down entirely. Now, only those with political power within the company can try new ideas.

A decentralized social networking protocol could change this dynamic by ensuring openness to the network. Companies can still make money by offering services, just like Gmail’s email and Github’s Git. But decentralized access ensures that they cannot monopolize and ignore users. It creates a market-based approach where the best ideas can compete on an equal footing.

enough decentralization

A social network is sufficiently decentralized if two users can find each other and communicate, even if the rest of the network wants to block it. This means that users can always reach their audience, which is only possible if developers can build many clients on the network. If only one client exists, it can block user communication. Achieving this requires only three decentralized functions: asking for a unique username, posting information under that name, and reading information for any valid name.

Of course, social networks do more than just send messages. First, they organize information into a thread, send push notifications, and recommend new users to follow. These functions are not easy to decentralize, and the list of things people want will grow faster than the ability to decentralize. But these functions do not affect full decentralization, so clients can build these functions in a centralized manner. Email takes a similar approach, sending the message is part of the protocol, but the client has to develop its own spam filter.

Some argue that decentralization requires the entire social network to be on the blockchain. This is unnecessary or even undesirable. Social networks generate petabytes of data every year, which can be very expensive to store on-chain. Blockchain also makes it difficult for data to be deleted forever, a desirable feature for users. A network design that utilizes on-chain systems to decentralize ownership while leveraging off-chain systems for better user experience is a better path to building social networks.

We’ve shed a lot of ink on decentralized social networks, but most users are still on centralized networks. Why hasn’t this changed? In a decentralized social network, three challenging problems slow adoption: scaling the network, decentralized name registration, and building new social primitives. But, for the first time, these three problems have practical solutions.

Expand the size of the network

A social network is a series of information passed between users through a centralized server. An easy way to reduce centralization is to eliminate the need for centralized servers. Users can choose any server they like to store their information and sign each server with a public/private key pair (1). The public key becomes the user’s unique identifier, and the message is tamper-proof.

Adequate decentralization of social networks

Using social networks in a decentralized way should be free and straightforward, but it is difficult in practice. Users want their information to be visible to all followers, which requires an always-on server in the cloud. A reasonable expectation is that self-hosting will be as complicated and expensive as running your own website. But we can’t accommodate billions of people by requiring everyone to run a server.

That’s what managed hosts do. These companies host users’ social data, just as Gmail and Outlook host email. Managed hosting can provide features that are impractical for users, such as a content moderation system. They can provide a better user experience and we should expect most people to use them instead of running their own servers.

Adequate decentralization of social networks

A common argument against managed hosts is that they can centralize the network. For example, popular providers could band together to charge users more for certain information. Such behaviors are negative in the long run, as they incentivize developers to create new managed hosts and users to switch to them. Protocols like email and cryptocurrencies made it easy to switch providers from day one, which in turn made collusion rare and short-lived.

Decentralized name registration

A user’s followers need to find the correct host to send and receive messages. The Name Registry can help map each user’s unique public key to a host’s URL and a memorable, unique username such as @alice. A follower can ask the registry for @alice’s host and receive the correct URL. A decentralized registry that only allows Alice to change this URL protects them from malicious hosts. If a host stops serving their information, they can modify the registry to point to a new host, and their followers will switch to the new location.

Decentralizing name registries is difficult, and early attempts made difficult tradeoffs. ActivityPub does not provide a way to use a managed host without affecting decentralization. Secure Scuttlebutt allows for decentralization but does not allow for unique and memorable names, which makes identifying people more difficult. Keybase implements a registry, but in a centralized way.

However, smart contracts are finally enabling a decentralized registry. Users can make transactions to smart contracts on the blockchain, which perform the functions of a decentralized registry. The contract ensures that only the user can change the URL, and if two people try to register the same name at the same time, the blockchain provides conflict resolution. ENS and Unstoppable Domains have implemented similar systems on Ethereum.

Adequate decentralization of social networks

The registry is the only part of the network that needs to be synchronized on the blockchain. All other actions can happen securely off-chain by signing with a key pair. If you receive a message claiming to be from @alice, you can ask the registry for @alice’s public key and verify that the signature came from @alice’s private key.

Novel Social Primitives

Users don’t just want a decentralized version of an existing social network. What users really want from a new social network is status or entertainment, and the benefits of decentralization. Any new network must offer a compelling way to do both or it will face an uphill battle to get off the ground.

Blockchain has created new ways to gain status. Being an early adopter, token holder or voter gives people status. A social network of blockchain users can make it easy to generate proofs of such activity. The network can then provide features such as token-gated communities, verification badges for NFT holders, and anonymous voting for token holders. The best on-chain systems are also highly composable, so social features designed for standards like ERC-721 automatically apply to every new token added to the network.

Successful social networks are often built around new communication primitives. Facebook has walls, Twitter has 140-word tweets, and Snapchat has ephemeral messages. The landscape of ideas for what you can do with decentralized identities, blockchains, and zk-proofs is huge, weird, and interesting, and there may be a lot of primitives waiting to be discovered. Decentralized social networks should explore this way to attract users. Offering a product experience that doesn’t yet exist is far more convincing than cloning an existing network.

in conclusion

Centralized social networks affect every aspect of our lives, and their shortcomings are painful. Improvements in cryptography and blockchain provide viable solutions to achieve full decentralization. We have a logical approach to building a decentralized name registry, a hybrid off-chain/on-chain architecture to scale the network, and interesting new social primitives to build on. More importantly, people are dissatisfied with the status quo and want something better. If you’re an ambitious builder looking to change the world, this is a great problem space to start working on.

Thanks to Dan Romero, Shaun Young, Tim Beiko, Lakshman Sankar and Brian Gu for help with the draft.

Inspired by the design of Secure Scuttlebutt.

Posted by:CoinYuppie,Reprinted with attribution to:
Coinyuppie is an open information publishing platform, all information provided is not related to the views and positions of coinyuppie, and does not constitute any investment and financial advice. Users are expected to carefully screen and prevent risks.

Like (0)
Donate Buy me a coffee Buy me a coffee
Previous 2022-07-12 10:25
Next 2022-07-12 22:01

Related articles