Fediverse, Mastodon and social networking protocols
A month ago I gave a talk at TX Conference 2023 about the Fediverse. The video is here.
Social networks are tools to keep us up to date with what others are doing. But they come with flaws. I will focus on centralization.
Instagram (Meta), Facebook (Meta), LinkedIn (Microsoft)… You see the pattern here?
Major social media is owned by tech giants.
The business of attention and data is a lucrative one, and there’s abundance to keep them running. Revenue is maximized by advertisements and algorithms amplifying content to keep your attention… these features make user a product and communication unidirectional - parasocial media.
But businesses often fail.
When a social network is gone, there is no way to migrate your connections.
Remember MySpace?
The above-mentioned platforms were created 10, 15+ years ago, when hardware was expensive and developer resources limited. To build such a system was a massive technical and financial challenge. Cheaper hardware and developer resources enabled a number of smaller platforms, often powered by open source software.
In 2018 ActivityPub is presented, a social networking protocol authored by W3C.
Protocol is a set of rules for communicating data. You are probably familiar with HTTP protocol - rules web browsers and servers follow to show you requested web page. Or email protocols - rules email clients and servers use to exchange email messages. ActivityPub is a protocol created for social media.
Let’s imagine X (ex Twitter) and Instagram have integrated ActivityPub protocol - Instagram is actually rolling it out for Threads. I could see, like, comment my friends' Instagram posts all inside the X app. They could see, like, comment my X content without leaving Instagram. While this is still an imagination, there are similar platforms which allow this kind of communication. They implement ActivityPub and form a decentralized network known as the Fediverse.
Mastodon is an ActivityPub-supported social network and the most popular one in the Fediverse, with many instances open for registration. It is open source - you can self-host or use a hosting provider. It is used at Medium, Vivaldi (the web browser), and Swiss authorities - to name a few interesting entities.
Other notable ActivityPub-supported platforms include:
- Pixelfed, a decentralized photo sharing platform
- PeerTube, a decentralized video sharing platform
- Lemmy, a social link aggregation and discussion platform
But also WordPress (via official plugin), and soon Threads (docs), Tumblr, GitLab (experimental)… All setting the stage for widespread adoption.
There are drawbacks to this system.
In Fediverse, your identity is tied to an instance where you registered an account. The concept of instance and having to select one is an obstacle for newcomers. Like centralized platforms, you cannot rely on an instance run by communities and individuals to always be available, and when it disappears you have to migrate to a new one. Self-hosting is a choice, but that’s another issue.
Nostr is a social networking protocol with a different approach over ActivityPub.
We’ve covered centralized media, then partially decentralized (Fediverse) - if your instance disappears, so does your identity. Nostr is fully decentralized.
In Nostr you own your identity.
It does not link your identity to a specific server.
How? By using public-key cryptography.
Your public key is your identifier. Everything you publish to the network includes a signature only your key combination can create, in such a way that client can verify it’s you by just knowing your public key. Servers are called relays and serve as a database. They are not federated, do not talk to each other. Clients connect to multiple relays to publish and fetch data. As long as two users have mutual relay, they can exchange content. Moderation, filtering, and blocking are all client-side.
It’s a very interesting protocol I plan to cover in another article.