The original of this article was published at https://www.emresokullu.com/#-5ed209ad3003b19b3a42b8ae34fa9736-GJS
The race for the next decentralized social network has officially begun after this tweet from the Twitter CEO, Jack Dorsey:
There are two fundamental issues with existing social networks:
1. Brain hacking: Platforms have shown capabilities of manipulating and deceiving people, through fake news, the spread of misinformation and echo chambers.
2. Censorship: Governments all around the world censor social networks when they feel threatened; thus suppressing people’s right to access information.
The main benefit of a decentralized social networking architecture would be it could be a recipe to both of the problems mentioned above.
There have been many attempts to create open social networks. From a technical standpoint, they may be categorized as follows:
- Distributed Data (DD)
- Distributed Identities (DI)
- Distributed Communities (DC)
1. Distributed Data (DD)
In the distributed data model, all user-generated-content (including multimedia assets as well as database records) are stored:
(a) in a verifiable ledger such as Ethereum or Blockstack.
(b) peer-to-peer via distributed gossip protocols such as secure-scuttlebut (https://ssbc.github.io/scuttlebutt-protocol-guide/)
1a. Verifiable Ledger
This approach comes with the clear disadvantage of crypto-verification overhead and paying transaction fees for each insert or update operation.
Blockchains are known to be highly inefficient data stores. They are usable only with handful of applications where the benefits outweigh the drawbacks; unfortunately, social networking is not one of them. As a consequence, many early attempts like Leeroy have already shut down, and there are only a small number of them like Peepeth, which still exist but continue to fizzle.
Besides, with the DD approach, consumers are required to install an additional browser plug-in to use the services. While MetaMask, in the form of a Chrome extension, is the most user-friendly one, the time has proven, on multiple occasions, that extra friction, no matter how little it is, never goes welcome with the consumers.
1b. Peer to Peer
Crypto is not the only backend adapter for the distributed data model. There is ongoing research in creating distributed data social networks
· Completely peer-to-peer among the client’s browsers [see gun.eco]
· Through public cloud services such as Dropbox and Google Drive, [see POSN]
but both are far from becoming applicable.
One can develop a peer-to-peer social network without the limitations of the browser, using a distributed gossip protocol such as secure-scuttlebutt on a desktop or mobile app similar to Patchwork, Planetary. A big disadvantage with this approach is that the nicknames (to identify the user) cannot be unique since there is no global registry, and the only solution is to rely on centralized services. Last but not least, the Reddit-like desktop app Aether follows a similar approach but with an ephemeral append-only log (DAG) to store data, rather than relying on ssb.
2. Distributed Identities (DI)
There are several federated protocols, led by Microformats and Indieweb communities that suggest personal websites to represent one’s online digital identity. Accordingly, such sites interact with each other via open pub/sub-protocols such. Even W3C has specific recommendations that date back to 2017 like WebMention (https://www.w3.org/TR/webmention/)
IndieWeb oversees online activities to be aggregated in open-source silos. For example, micro.blog is one such aggregator that can interact with people’s websites via WebMentions.
These small groups of like-minded “distributed identities” advocates gather online and offline sporadically, but they have failed to gain mainstream attention, due to:
- The lack of consistent user-interface
- Difficulty in the adoption of these technologies and launching such personal websites.
- Inefficiencies at the aggregator (newsfeed) level
Although, the distributed identity approach has no or negligible performance drawbacks as opposed to the DD, with a minor exception of the “aggregator” level. On a positive note, they are philosophically similar to SMTP and POP3, which constitute the email communications infrastructure.
3. Distributed Communities (DC)
Perhaps the most realistic one among all three approaches is the “Distributed Communities” one, where the social network is not one giant graph (a la Facebook or Twitter) but constitutes of many subgraphs around shared topics. Ning and Grou.ps are two such early, yet central examples. On the other hand, the new open-source upcomers such as Mastodon, GNU Social and DiSo do the same, taking a somewhat more decentralized approach where community owners host the open-source software on their own, and there’s an underlying open federated protocol (ActivityPub) that connects the subgraphs.
The main benefit of the DC approach is the fact that, besides technical decentralization, more abstract (yet important) aspects of the network such as governance, moderation, and value-creation, are also split between multiple parties. This is a positive direction, because otherwise, in a giant decentralized network, it will prove much harder to own, regulate, and moderate than one might estimate.
The disadvantage of current DC based software is, while they borrow some ideas from the DI approach, with WebMention allowing Mastodon cross-follows across the networks, they are far from being usable and useful, mainly because the identities are completely isolated from each other. To illustrate it on Mastodon, firstname.lastname@example.org (with the email email@example.com) has nothing in common with the same user on a different network, say firstname.lastname@example.org with the same email email@example.com.
Additionally, the architecture they’re built with, which is based on traditional MVC and relational databases, makes them impossible to scale out in a way regular people or software developers can.
Last but not least, with their shared-nothing data model, Mastodon and the likes have no answer to the censorship problem.
How is Phở Networks different?
Phở Networks is essentially a programming language, rather than a social network. But it lets people build decentralized social applications. Hence, it’s more comparable to secure-scuttlebutt rather than the social networking platforms discussed above.
Phở does not attempt to recreate a whole new web with the client-to-client model replacing the traditional server-client one. It’s rather an attempt to create a camaraderie-network between servers. Accordingly, the decentralized apps created on Phở communicate with each other and reroute queries when one is blocked. This is in order to solve the censorship problem that also touched me personally in 2014.
Phở uses the Kademlia principles to achieve its goals. Kademlia was also used in Gnutella, and IPFS. For more information, you may take a look at the paper at https://www.phonetworks.org/assets/Whitepaper%202020.pdf
Last but not least, Phở comes with an open-source application called Groupsville, which lets people build their own online communities in line with the DC (Distributed Communities) approach, hence it is a completely a decentralized social networking stack.