One of the fundamental promises of blockchain is digital sovereignty and ownership. Legacy systems have been fundamentally broken for some time now. The advent of frontier technology enables us to move beyond these systems into new paradigms. Social media is one of many such systems that require a massive overhaul. This sentiment is not new nor novel. Builders, users, and investors have been advocating for a decentralized social graph, attestation layer, and all that comes with it since the Bitclout days.
Many have tried, but none have succeeded yet. Enter Farcaster, a sufficiently decentralized social network application built on Ethereum and powered by Optimism. Farcaster functions similarly to X (formerly known as Twitter) and Reddit. Users can quickly join the network, create profiles, post “casts” (similar to tweets), and follow other users. Much of the heavy lifting is done by Warpcast, a Farcaster client that abstracts the technical complexities and makes the user experience seamless.
Unlike X and Reddit, Farcaster allows users to own their accounts and the social graphs and relationships they create with other users. This is a significant upgrade from existing legacy systems. Each Farcaster user is free to move between different apps launched on Farcaster, ensuring user autonomy and ownership within the client.
State of Farcaster
=
\=
Hub: Similar to blockchain nodes, Hubs store data and listen to Ethereum and Optimism for specifics about users.
Client Apps: Applications used on the Farcaster platform, essentially a Keypair and dataset on-chain that a Client App publisher uses to act on behalf of a user, allowing them to post, read data, and perform other actions.
Farcaster has built a “sufficiently decentralized” system that allows users to have a portable identity between Client Apps. This is akin to using Google to sign into Facebook and X, but Farcaster goes further by making data portable too. Different Client Apps can create unique experiences over the same data. For example, Warpcast resembles Twitter, while another app might feel more like Discord.
A Client App must connect to a Hub, which is under no obligation to allow communication. Hubs are similar to web servers in web2 land, and there is no charge for Client Apps to read or write data to a Hub. Usually, the team that makes the Client App (like Warpcast) also runs the Hub nodes they connect to, making them “operators” of the Hub. Anyone can run a Hub, and if the initial configuration points to other Hubs, a network is created.
Users can have a portable crypto balance, and Client Apps can create fiat wallets or additional Client App-specific crypto balances. For example, Warpcast users pay for “warps,” which are used for global Farcaster storage and Warpcast-specific features.
The chosen architecture is “sufficiently decentralized” because it assumes multiple Client Apps operating independently and that anyone building a Client or Connected app will need to run a node or buy access from a node-running entity.
Misaligned Network Incentives
Farcaster operates through Hubs that store data and facilitate communication between Ethereum and Optimism. Hubs host APIs allowing Client Apps to read and write data. Users must pay for storage by calling a “rent” function on an Optimism smart contract. This payment gate potentially reduces spam and bot accounts, but none of the rent money is given to node operators. As Farcaster grows, storage may become untenable for a single node. Horizontal scaling or incentivizing node operators could address this.
Centralization of Client Apps
Warpcast is the core contributor and creator of Farcaster, and it is the most widely used Client App. If only one client dominates, Farcaster risks becoming another centralized social media platform. Client Apps use a single key to act on behalf of the user, which is similar to how web3 wallets work but carries significant power. Integrating smart wallet technology could allow users to use their Farcaster key account as a primary wallet.
Farcaster is exciting not only for its technical achievements but also for the community it has cultivated. However, the final form of Farcaster is not yet realized. Enter Ferrule, a protocol built within Farcaster that enables anyone to build their own client for Farcaster.
Importance of Ferrule
Currently, the economics of Farcaster are limited. Specifically, there are no incentives for anyone to run a Farcaster Hub, resulting in Farcaster managing the entire network. While this is not entirely centralized, it is not fully decentralized, hence the “sufficiently decentralized” tagline of Farcaster. The path to a more decentralized network would benefit immensely from Ferrule.
The benefits of a fully decentralized network are significant. As with Ethereum and Solana, state growth is becoming an increasingly problematic issue. As more users join and interact, the burden of data storage rests entirely on Farcaster. This becomes an issue of both centralization and scalable, sustainable state growth. With mass adoption, this problem will accelerate.
Source: https://dune.com/pixelhack/farcaster
Farcaster growth has not slowed down and continues to gain momentum, with over 60,000 unique daily users, up 66% month-over-month. With exponential growth, the user activity embedded within each unique account increases. Although anyone can run a Farcaster node, there are no incentives to do so. Incentives for node growth will be essential for the system to scale optimally.
Ferrule Design
Ferrule is a novel design of Farcaster Hubs operating as an Eigenlayer Actively Validated Service (AVS). It enables the use of existing assets to secure and ensure the operation of Hubs and the correct function of the Farcaster protocol. Users restake into Ferrule contracts, and assets are delegated to hubs dynamically based on network behavior. Some staking yield will be directed to hub operators as rewards, along with some storage account rent costs.
Currently, Farcaster Hubs have limited data integrity checks and no economic disincentives for spam or manipulation. Ferrule aims to address this by ensuring Hubs operate verifiably and securely. Ferrule nodes broadcast cryptographically verifiable artifacts attesting to correct operation. Economic incentives encourage correct behavior, and inaction or malicious action is punished through slashing.
As Ferrule evolves, it aims to tackle state growth and client/hub centralization problems. Incentivized Hubs can create a routing system ensuring they do not need to store all data, are rewarded for storing and providing access to data. The Ferrule design aims to make centralization less viable by rewarding correct hub behavior.
A few roadmap items for Ferrule include:
Restaking Mechanism:
Incentivization:
Verifiable Operation:
Data Sharding and Routing:
Ferrule MPC: Enabling Decentralized Client and Connected Apps
MPC Framework:
Authorization and Smart Wallet Integration:
API and Data Interfaces:
Ferrule MPC is a library and set of examples for teams to run decentralized Client or Connected apps on Farcaster. It will be a core part of Ferrule should it be pursued fully. While not fully ready for release, Ferrule MPC aims to ignite discussion within the Farcaster community about solving these looming problems.
We hope that Ferrule MPC will be a useful tool moving forward. If the Ferrule design excites you,
One of the fundamental promises of blockchain is digital sovereignty and ownership. Legacy systems have been fundamentally broken for some time now. The advent of frontier technology enables us to move beyond these systems into new paradigms. Social media is one of many such systems that require a massive overhaul. This sentiment is not new nor novel. Builders, users, and investors have been advocating for a decentralized social graph, attestation layer, and all that comes with it since the Bitclout days.
Many have tried, but none have succeeded yet. Enter Farcaster, a sufficiently decentralized social network application built on Ethereum and powered by Optimism. Farcaster functions similarly to X (formerly known as Twitter) and Reddit. Users can quickly join the network, create profiles, post “casts” (similar to tweets), and follow other users. Much of the heavy lifting is done by Warpcast, a Farcaster client that abstracts the technical complexities and makes the user experience seamless.
Unlike X and Reddit, Farcaster allows users to own their accounts and the social graphs and relationships they create with other users. This is a significant upgrade from existing legacy systems. Each Farcaster user is free to move between different apps launched on Farcaster, ensuring user autonomy and ownership within the client.
State of Farcaster
=
\=
Hub: Similar to blockchain nodes, Hubs store data and listen to Ethereum and Optimism for specifics about users.
Client Apps: Applications used on the Farcaster platform, essentially a Keypair and dataset on-chain that a Client App publisher uses to act on behalf of a user, allowing them to post, read data, and perform other actions.
Farcaster has built a “sufficiently decentralized” system that allows users to have a portable identity between Client Apps. This is akin to using Google to sign into Facebook and X, but Farcaster goes further by making data portable too. Different Client Apps can create unique experiences over the same data. For example, Warpcast resembles Twitter, while another app might feel more like Discord.
A Client App must connect to a Hub, which is under no obligation to allow communication. Hubs are similar to web servers in web2 land, and there is no charge for Client Apps to read or write data to a Hub. Usually, the team that makes the Client App (like Warpcast) also runs the Hub nodes they connect to, making them “operators” of the Hub. Anyone can run a Hub, and if the initial configuration points to other Hubs, a network is created.
Users can have a portable crypto balance, and Client Apps can create fiat wallets or additional Client App-specific crypto balances. For example, Warpcast users pay for “warps,” which are used for global Farcaster storage and Warpcast-specific features.
The chosen architecture is “sufficiently decentralized” because it assumes multiple Client Apps operating independently and that anyone building a Client or Connected app will need to run a node or buy access from a node-running entity.
Misaligned Network Incentives
Farcaster operates through Hubs that store data and facilitate communication between Ethereum and Optimism. Hubs host APIs allowing Client Apps to read and write data. Users must pay for storage by calling a “rent” function on an Optimism smart contract. This payment gate potentially reduces spam and bot accounts, but none of the rent money is given to node operators. As Farcaster grows, storage may become untenable for a single node. Horizontal scaling or incentivizing node operators could address this.
Centralization of Client Apps
Warpcast is the core contributor and creator of Farcaster, and it is the most widely used Client App. If only one client dominates, Farcaster risks becoming another centralized social media platform. Client Apps use a single key to act on behalf of the user, which is similar to how web3 wallets work but carries significant power. Integrating smart wallet technology could allow users to use their Farcaster key account as a primary wallet.
Farcaster is exciting not only for its technical achievements but also for the community it has cultivated. However, the final form of Farcaster is not yet realized. Enter Ferrule, a protocol built within Farcaster that enables anyone to build their own client for Farcaster.
Importance of Ferrule
Currently, the economics of Farcaster are limited. Specifically, there are no incentives for anyone to run a Farcaster Hub, resulting in Farcaster managing the entire network. While this is not entirely centralized, it is not fully decentralized, hence the “sufficiently decentralized” tagline of Farcaster. The path to a more decentralized network would benefit immensely from Ferrule.
The benefits of a fully decentralized network are significant. As with Ethereum and Solana, state growth is becoming an increasingly problematic issue. As more users join and interact, the burden of data storage rests entirely on Farcaster. This becomes an issue of both centralization and scalable, sustainable state growth. With mass adoption, this problem will accelerate.
Source: https://dune.com/pixelhack/farcaster
Farcaster growth has not slowed down and continues to gain momentum, with over 60,000 unique daily users, up 66% month-over-month. With exponential growth, the user activity embedded within each unique account increases. Although anyone can run a Farcaster node, there are no incentives to do so. Incentives for node growth will be essential for the system to scale optimally.
Ferrule Design
Ferrule is a novel design of Farcaster Hubs operating as an Eigenlayer Actively Validated Service (AVS). It enables the use of existing assets to secure and ensure the operation of Hubs and the correct function of the Farcaster protocol. Users restake into Ferrule contracts, and assets are delegated to hubs dynamically based on network behavior. Some staking yield will be directed to hub operators as rewards, along with some storage account rent costs.
Currently, Farcaster Hubs have limited data integrity checks and no economic disincentives for spam or manipulation. Ferrule aims to address this by ensuring Hubs operate verifiably and securely. Ferrule nodes broadcast cryptographically verifiable artifacts attesting to correct operation. Economic incentives encourage correct behavior, and inaction or malicious action is punished through slashing.
As Ferrule evolves, it aims to tackle state growth and client/hub centralization problems. Incentivized Hubs can create a routing system ensuring they do not need to store all data, are rewarded for storing and providing access to data. The Ferrule design aims to make centralization less viable by rewarding correct hub behavior.
A few roadmap items for Ferrule include:
Restaking Mechanism:
Incentivization:
Verifiable Operation:
Data Sharding and Routing:
Ferrule MPC: Enabling Decentralized Client and Connected Apps
MPC Framework:
Authorization and Smart Wallet Integration:
API and Data Interfaces:
Ferrule MPC is a library and set of examples for teams to run decentralized Client or Connected apps on Farcaster. It will be a core part of Ferrule should it be pursued fully. While not fully ready for release, Ferrule MPC aims to ignite discussion within the Farcaster community about solving these looming problems.
We hope that Ferrule MPC will be a useful tool moving forward. If the Ferrule design excites you,