# Decentralized Social Media Protocols Comparison
## Protocol Architectures and Core Principles
### Farcaster: Hybrid Decentralization
Farcaster employs a hybrid architecture that stores identity on-chain while managing content off-chain. Created in 2020 by former Coinbase executives Dan Romero and Varun Srinivasan, Farcaster uses Optimism (a Layer 2 scaling solution on Ethereum) for identity management while utilizing off-chain Hubs for content storage and distribution.
Farcaster's architecture revolves around "sufficient decentralization" – a pragmatic approach that balances true decentralization with user experience. The protocol incorporates registry contracts for identity management, key registry, and storage allocation, while off-chain Hubs handle the actual content distribution.
### Bluesky (AT Protocol): Federated with User Portability
The AT Protocol (Authenticated Transfer Protocol) takes a federated approach with a strong emphasis on user-level decentralization rather than just server-level federation. This allows users to maintain a consistent identity across the network and migrate between providers without losing their data, followers, or content history.
Bluesky's architecture combines servers, cryptographic keys, and content addressing to create a decentralized yet user-friendly social networking system. The protocol separates "speech" (content creation) from "reach" (content distribution and moderation), providing flexibility in how content is discovered and shared.
### Mirror.xyz: Blockchain-Based Publishing
Mirror.xyz implements a fully blockchain-based approach to publishing, utilizing Ethereum for identity and governance while storing content permanently on Arweave. This architecture ensures that published content remains accessible indefinitely and cannot be censored or removed.
The protocol includes several components that ensure decentralization: Ethereum wallet authentication, signing keys for content verification, Arweave for permanent content storage, and NFT capabilities for monetization.
### ActivityPub: Federated Server Network
ActivityPub is a W3C Recommendation that creates a federated social web through both client-server and server-server APIs. It forms the backbone of the "Fediverse" – a network of interconnected servers running different software but communicating through a common protocol.
The protocol uses ActivityStreams 2.0 format with JSON-LD, organizing data into Objects, Activities, and Actors. Each actor has inbox and outbox streams for sending and receiving activities, creating a distributed yet interconnected social network.
## Publishing Capabilities Comparison
### Primary Publishing Formats
Each protocol offers distinct publishing formats that influence how users create and interact with content:
- **Farcaster** uses "Casts" similar to tweets, focusing on short-form content with the recent addition of Frames for interactive elements.
- **Bluesky** offers standard "Posts" with a clean, Twitter-like experience and custom feed algorithms that give users control over content discovery.
- **Mirror.xyz** provides "Entries with NFT capability," allowing writers to publish content that can be collected, traded, and monetized directly.
- **ActivityPub** supports the broadest range of content types including "Notes, Articles, and other ActivityStreams types," enabling diverse applications from microblogging to video sharing.
### Data Storage Approaches
The protocols employ different strategies for storing user data and content:
- **Farcaster** stores data in off-chain Hubs while keeping identity information on the Optimism L2 blockchain, creating a balance between performance and decentralization.
- **Bluesky** utilizes federated servers with cryptographic URLs, allowing content to be verified regardless of which server hosts it.
- **Mirror.xyz** stores content permanently on Arweave, a blockchain specifically designed for immutable data storage.
- **ActivityPub** distributes data across federated servers in the network, with each server maintaining its own copy of relevant content.
## Monetization and Economic Models
The economic sustainability of these protocols varies significantly:
- **Farcaster** introduced Frames for interactive content, enabling various forms of engagement and potential monetization directly within the platform.
- **Bluesky** currently offers limited native monetization features but is exploring options like custom domains for revenue.
- **Mirror.xyz** provides robust monetization through NFT minting, crowdfunding, and auctions, directly connecting content creation with economic value.
- **ActivityPub** implementation varies across platforms, with different instances offering diverse approaches to monetization.
## Protocol Comparison Table
| Protocol | Architecture | Primary Publishing Format | Data Storage | Identity System | Content Addressing | Monetization Features | Interoperability | Censorship Resistance |
| :-- | :-- | :-- | :-- | :-- | :-- | :-- | :-- | :-- |
| Farcaster | Hybrid (on-chain identity, off-chain data) | Casts (similar to tweets) | Hubs (off-chain), Identity on Optimism L2 | On-chain identity (Optimism L2) | Message-based with signatures | Frames for interactive content | Limited, primarily within ecosystem | Moderate ("sufficient decentralization") |
| Bluesky (AT Protocol) | Federated with user-level decentralization | Posts | Federated servers, Cryptographic URLs | DIDs (Decentralized Identifiers) | UCAN-based authorization, content addressing | Limited native features | High within AT Protocol, limited external | Moderate (user can move between providers) |
| Mirror.xyz | Blockchain-based (Ethereum + Arweave) | Entries with NFT capability | Arweave (permanent storage) | Ethereum-based identity | Cryptographic signatures, Arweave addressing | NFT minting, crowdfunding, auctions | Limited, blockchain interoperability | High (blockchain-based permanent storage) |
| ActivityPub | Federated client-server and server-server | Notes, Articles, and other ActivityStreams types | Federated servers across the network | ActivityPub actors with WebFinger | ActivityStreams with HTTP URLs | Varies by implementation | High across Fediverse, many implementations | Moderate (federated model, server autonomy) |
## Top Clients and Frontends by Protocol
The user experience of these protocols is largely shaped by their client applications. Here is a table with links to the official websites for the clients:
| **Protocol** | **Client/Frontend** | **Official Website** |
| :-- | :-- | :-- |
| **Farcaster** | Warpcast | [warpcast.com](https://warpcast.com) |
| | Supercast | [supercast.com](https://www.supercast.com) |
| | Opencast | [opencast.org](https://opencast.org) |
| | Screencastify | [screencastify.com](https://www.screencastify.com) |
| **Bluesky (AT Protocol)** | Bluesky app | [bsky.app](https://bsky.app) |
| | Graysky | [graysky.app](https://graysky.app) |
| | Skyfeed | [skyfeed.app](https://skyfeed.app) |
| | Deck.blue | [deck.blue](https://deck.blue) |
| | Skeets | [skeetsapp.com](https://www.skeetsapp.com) |
| | Sora | [sora.com](https://sora.com) |
| **Mirror.xyz** | Mirror.xyz web app | [mirror.xyz](https://mirror.xyz) |
| **ActivityPub** | Mastodon | [joinmastodon.org](https://joinmastodon.org) |
| | Pixelfed | [pixelfed.org](https://pixelfed.org) |
| | PeerTube | [joinpeertube.org](https://joinpeertube.org) |
| | Pleroma | [pleroma.social](https://pleroma.social) |
| | Friendica | [friendi.ca](https://friendi.ca) |