Farcaster: The Protocol for Web 3.0 Social Apps

icon FOR
Photo - Farcaster: The Protocol for Web 3.0 Social Apps
Farcaster is a decentralized protocol designed for the development of social media apps. Its goal is to offer a platform where users can control their social graphs, allowing applications to interact with each other in a decentralized manner.
Picture Farcaster as a platform where social media platforms like Instagram, Facebook, Reddit, and others coexist. Users maintain a single account and, should one of the ecosystem's applications impose restrictions, they can seamlessly authenticate via any other app.

Farcaster introduces two types of usernames (on-chain — created on Ethereum, and off-chain — within the Farcaster network) and boasts a user-friendly design that streamlines the registration process. The protocol addresses spam by incentivizing network participants to judiciously manage their posting capacity.

How Farcaster Works

Farcaster stands out for its hybrid approach to data storage and processing, utilizing both onchain and offchain systems. This makes Farcaster a hybrid protocol that strikes an optimal balance between decentralization and performance.
Hybrid Architecture of Farcaster. Source: farcaster.xyz

Hybrid Architecture of Farcaster. Source: farcaster.xyz

Onchain. Farcaster's on-chain systems consist of smart contracts on the OP Mainnet blockchain. These systems are optimized to minimize actions, thereby reducing costs and enhancing the efficiency of applications.

On-chain activities include account creation, data storage rental payments, and the addition of user keys for application connectivity. This functionality is supported by three smart contracts:

  • Id Registry: Manages account registration, transfer, and recovery in Farcaster. Each account is identified by a unique fid number associated with an Ethereum wallet address, ensuring that one address is linked to only one account at a time.
  • Storage Registry: Facilitates storage rental payments in Ethereum. The storage cost is pegged to the USD and converted to ETH via Chainlink.
  • Key Registry: Allows users to delegate the provision of application keys on their behalf, essential for message signing and identity verification.

Offchain. The off-chain system of Farcaster consists of a peer-to-peer network of servers, known as hubs, which handle the majority of operations, including message posting, user subscriptions, message reactions, profile updates, and more.

Any user can become a hub by installing special software designed to collect data from Ethereum and other hubs. Access to Ethereum is facilitated through synchronization with the Optimism blockchain, while interaction with hubs is achieved via an API.

ENS Names. Farcaster leverages Ethereum Name Service (ENS) names for account identification. There are two types of names mentioned earlier:

  1. Onchain names: These are available for a certain fee and are created within the Ethereum network. The cost is dependent on the duration the name is held. An example is @GNcrypto.eth.
  2. Offchain names: These are free and created within the Farcaster network. Referred to as fnames, they correspond to ENS names but are generated outside Ethereum. An example of such a name is @GNcrypto. 

A Farcaster account is limited to a single username, which can be changed once every 28 days. Changing the username does not impact the user's account activities, including the number of posts, followers, or subscriptions.
Fnames vs. Onchain Usernames. Source: farcaster.xyz

Fnames vs. Onchain Usernames. Source: farcaster.xyz

There are certain considerations to keep in mind before creating an fname:

  • Names should not be associated with public figures or organizations, such as @buterin or @amazon;
  • It is prohibited to register names with the intention of reselling them.

Usernames are validated by the Farcaster team. Hence, individuals desiring full control over their blockchain nickname are encouraged to create an ENS name within Ethereum. Moreover, fnames that have remained inactive for 60 days post-registration will be deleted.

Messages. Activity within a Farcaster account involves the signing and publishing of messages. For instance, if this article were on Farcaster, the author would need to sign it using their key.

Each account possesses a key pair: a private key for signing operations and a public key for verification. Accounts have the option to use these keys independently or delegate the process to one or several applications, such as Supercast, Yup, Tiles, etc., each possessing their own keys.

Users can post five types of messages:
  1. Casts. Public posts, e.g., "Follow the GNcrypto Telegram channel!"
  2. Reactions: Interactions between accounts and announcements, e.g., "Vitalik Buterin liked GNcrypto's announcement."
  3. Links: Interactions between two accounts, e.g., "Vitalik Buterin followed GNcrypto."
  4. Profile Data: Information regarding the user's account (such as avatar, display name, follower count, etc.).
  5. Verification: Proof of owning something (like an Ethereum address).

To maintain messages within the Farcaster network, users must rent storage. This method helps prevent spam and encourages influencers to produce high-quality content.

Storage. Renting a storage unit involves a transaction through the Storage Registry. As of December 2023, the cost for one unit was $7, valid for a year. 

Limits for each message type include:

  • 5000 casts,
  • 2500 reactions,
  • 2500 links,
  • 50 profile data entries,
  • 50 verifications.

Exceeding a limit results in the oldest message being deleted to free up space for new content. Accounts can also expand their limit by acquiring additional storage units. After a storage term expires, there's a 30-day grace period for renewal. Failure to renew results in the destruction of previously published messages.

As publications are processed off-chain, users can delete them, leaving behind a "tombstone" marker. These posts are counted towards the storage limit until they are replaced by new content.

How to Get Started with Farcaster?

To begin using Farcaster, you need to install a hot crypto wallet (either a browser extension or a mobile app) that supports the Ethereum blockchain. This is crucial for engaging with the Farcaster ecosystem, encompassing activities like registration, posting messages, and subscribing.

However, to set up a Farcaster account, Warpcast — a wallet developed by the project's team and available for both mobile and desktop devices — is required. It's worth noting that account registration is exclusively available on mobile platforms. 

The initial setup involves securing a username, renting storage space, and adding keys through blockchain transactions. 

Social Apps on Farcaster

Farcaster allows for the creation of web3 social applications, not just as an add-on but as a primary protocol application. 

The ecosystem boasts over 30 different apps, each with unique features, including text, video, and audio content sharing, internet searches, or live streaming.

Highlights among these applications include:

Warpcast: A Farcaster-developed app resembling X (formerly Twitter), accessible on both mobile and desktop. It allows users to share updates, interact, display NFTs, and more.

Alertcaster: This app keeps you informed about Farcaster messages that align with your interests, effectively customizing a news feed through content discovery.

Blobs: An app that gamifies physical activity monitoring through step-powered Tamagotchis, encouraging users to stay active.

Kiwi News: A platform where users can share articles, news analysis, and recommendations with the community, vote for the best content, and follow their favorite publishers ad-free.

Flink: A discussion platform similar to Reddit, allowing users to follow channels and users, and filter the feed by novelty, relevance, and interaction volume.

Potential Farcaster Airdrop

Farcaster has 6,800 active addresses, collectively publishing 6,900 podcasts and leaving 19,300 reactions daily. In comparison, the most hyped SocialFi project, Friend.tech, has 3,300 active users.

Despite lacking its own token, Farcaster could utilize one for functionalities like renting storage, messaging, rewarding, and app development. The vibrant user activity and growing interest in the SocialFi sector hint at the possibility of a future airdrop.

For those keen on becoming active on Farcaster:

  • Initiate by creating a Farcaster account using an fname.
  • Engage actively in leading projects within the ecosystem (refer to our list above).
  • Participate in apps currently in the testing phase (e.g., Frens).

For a streamlined experience, tackle quests on FarQuest to earn FarPoints, aiding in quicker platform familiarization and improving your standing among users. 

DYOR!
What are the key features of the Farcaster protocol for Web 3.0 social apps?

Farcaster is a decentralized protocol tailored for Web 3.0 social applications, delivering vital features to enhance user experience and security. The primary features include decentralization, ensuring no single entity controls the data, enhancing privacy and security. Immutable record-keeping assures that all interactions and transactions are permanently recorded on the blockchain, preventing any unauthorized modifications. Additionally, Farcaster embraces interoperability, allowing seamless integration with multiple platforms and protocols. User sovereignty is upheld by granting users complete ownership and control over their data and digital assets. The protocol also emphasizes censorship resistance, mitigating the risks of content removal by central authorities. Farcaster’s API is developer-friendly, ensuring easy adoption and innovation for building robust social apps on the decentralization frontier.

AI Crypto Expert

avatar
Vlad Vovk
Author
Writes about DeFi and cryptocurrencies from a technological perspective.