Web3 Social — Lens vs. Farcaster

Moonrock Capital
11 min readMar 30, 2023

We already wrote about web3 social in our first ever bimonthly report. For a few weeks now, we have been using Lens and Farcaster and would like to compare them to understand their differences and similarities. Our use includes Farcaster (Warpcast client), Lens Protocol (Orb client), and Twitter. Farcaster has provided us with the most insightful content, while Lens has a unique experience focused on creators. Twitter remains essential, as most projects share information there, and invites are required to join Lens or Farcaster.

Before we compare the two solutions, we wanted to provide a brief guide about each protocol. At the end of the comparison, we will determine if there is a winner, but we believe each solution has its unique features.

Lens Protocol (Orb Client)

While Farcaster primarily operates on the Ethereum blockchain and has an off-chain solution called Farcaster Hubs for storing information, Lens Protocol utilizes the L2 Polygon blockchain.

Profiles

To participate in the Lens Protocol, you will need a “Profile” which is essentially a sequential ID represented by an NFT. The NFT will belong to a wallet address, and the owner will have control over the profile. With a Lens Profile, owners can publish to their profile, set the profile’s “follow module,” which allows other users to follow their profile, set the profile’s avatar (image URI), and set the profile’s “dispatcher.”

To obtain a Lens Profile NFT, you can mint it in the upgradable contract LensHub.sol. However, currently, only addresses approved by the government can do so, either through an invitation or by purchasing a profile on a marketplace like OpenSea. Once you have a Lens Profile NFT, you can post publications to it, and it will retain a history of all publications, comments, and other activities generated by the owner.

What makes Lens unique is its expandable functionality, with Profiles and other protocol items having various modules that enhance their capabilities. For example, Profile NFTs have a FollowModule, which allows other Profiles to follow them back and save it on-chain. This feature adds to the overall usability and flexibility of the Lens Protocol.

Publications

After obtaining a Profile NFT, you can begin posting Publications on Lens Protocol. Publications can take many forms, such as messages, comments, and more. The three types of Publications available on Lens are posts, comments, and mirrors.

Publications are posted directly to a user’s Profile and remain stored in the owner’s wallet. It is important to note that Publications themselves are not NFTs. Instead, each Publication has a ContentURI that links to the content it contains. This link may lead to a text, image, video, or other media stored on decentralized solutions like Arweave or IPFS, or a centralized web2 storage facility like AWS S3.

When a Publication is posted, two modules are attached to it: the Collect Module and the Reference Module. The Collect Module is responsible for the logic that allows other users to mint the Publication as an NFT, with the minted NFT referencing the original Publication’s URI. The Reference Module, on the other hand, handles the logic related to comments on the Publication and mirrors (retweets).

Comment

Comments are a powerful tool for users to provide feedback on Publications. They function similarly to Publications but come with additional checks and features.

Like Publications, Comments are also stored in the user’s Profile. One notable feature of Comments is that they must follow the rules set by the Reference module of the original Publication. For example, if the Reference module requires that only followers of the Profile NFT can comment, then a Profile NFT attempting to comment on the Publication without following the original poster will result in the transaction failing, and the comment will not be published.

Since Comments are based on Publications, they can also be collected as NFTs. Therefore, people can mint an NFT from a particularly noteworthy comment they like.

Mirror

Mirrors in Lens Protocol are similar to retweets on Twitter. From the Protocol standpoint, they operate similarly to Publications but come with some unique features.

Similar to comments, mirrors must comply with the original poster’s reference module conditions. For instance, if the reference module restricts mirrors to accounts following the original poster, anyone who does not meet this rule cannot mirror the post.

Unlike Publications and Comments, mirrors cannot be collected as NFTs.

Collect

Lens has a built-in feature called Collect, which enables creators to monetize their content. As Lens allows creators to publish various types of content like videos, images, podcasts, art, and more, the Collect module was developed to enable creators to set a price and enable other Profiles to collect or mint their content.

To use this feature, creators can simply enable the Collect module while creating a Publication, which enables minting of the Publication based on its ContentURI. Creators can set their own rules through the module, such as making the content available for free for a limited time or a specific number of collects.

Follow

In the Lens Protocol, following other users differs slightly from Farcaster and other web2 social networks. Instead of a simple follow button, users receive a Follow NFT when they follow a profile on Lens. As with other NFTs, Profile NFTs can have their own Follow Module with customizable rules. This means that a profile owner could require payment or other conditions for someone to follow them back.

An interesting feature of Follow NFTs is their built-in governance capabilities, such as vote delegation. This feature enables the creation of Social DAOs within the Lens Protocol. Rules could be set to give long-time followers more voting power or similar arrangements.

Farcaster (Warpcast Client)

Farcaster is a protocol that is built on top of the Ethereum L1 blockchain. The L1 manages user identities, while the protocol utilizes an off-chain peer-to-peer network to propagate updates between its users, known as Farcaster Hubs. The protocol offers the following features:

  1. The ability to create secure, memorable, and human-readable user identifiers, such as “@joe”.
  2. Real-time settlement and propagation of changes between users.
  3. Decentralized access to all data on the network at reasonable costs.

How It Works

To become a member of the Farcaster protocol, you must register an Ethereum public-private key pair and an ID with an Ethereum contract. This key pair, represented by a new Ethereum address, is used to sign messages and the ID serves as a canonical reference for a user on the Ethereum network, making them tamper-proof and self-authenticating. Recipients can check the key pair associated with the ID in the contract to verify message authenticity.

The Farcaster Hub acts like a blockchain network, with signed messages uploaded and shared between Hubs using a peer-to-peer protocol. Delta graphs are used to achieve consensus about the state of the messages, without the need for coordination. Hubs store and manage the network status, while client apps connect to them, allowing companies and individuals to build customized client apps for their users. This enables the creation of a diverse ecosystem of apps within the Farcaster protocol.

Farcaster IDs and Ethereum address ownership are managed by Farcaster Ethereum contracts, ensuring decentralized and secure ownership of identities.

IDs

According to the official documentation of Farcaster, a Farcaster ID (or fid) is the unique identifier for a user or organization in the protocol. Fids are numerical values that start with an exclamation mark to distinguish them from other numbers, such as !8098. Users register their fids to an Ethereum address, which is also referred to as the custody address. It’s possible for users to transfer their fids to a new custody address, but each address can only own one fid at a time.

To generate a fid, one needs to interact with the Farcaster ID Registry, which is a smart contract on Ethereum. By reading the contract, anyone can find out which Ethereum address owns a particular fid.

Once the fid and the ECDSA key-pair from the custody address are obtained, messages can be signed and sent to the hub. Recipients can verify the message’s authenticity. It’s important to note that the protocol doesn’t allow anyone to reclaim or revoke a fid once it’s claimed by an address. This provides sufficient decentralization to ensure tamper-proof communications over the Hubs.

Names

To enable human-readable references to fids, Farcaster offers the optional use of fnames, such as @alice or @john. Fnames are alpha-numeric strings and distinguished from other text by an at-symbol (unlike fids which have an exclamation mark).

To avoid homoglyph attacks, all fnames must adhere to a specific regular expression pattern: /^[a-z0–9][a-z0–9-]{0,15}$/. Another interesting feature of fnames is their recoverability.

Fnames must be renewed annually and require payment of a fee to the Farcaster Name Registry, which issues each name as an NFT. Renewal can be done up to 90 days before expiration, and if an fname expires, it enters a dutch auction where the price is set to a yearly fee plus a premium, which decays to zero.

The core team of the Farcaster protocol sets the NFT price to control who can join and keep bots out while maintaining a reasonable cost for the community.

Account Recovery

To address the loss of our digital identity, the Farcaster protocol enables users to set a recovery address that safeguards their fnames and fids. However, it’s important to note that this recovery feature is only intended for cases of lost access, not address compromise.

In the event of lost access, the recovery address can request a transfer to a new custody address, which is held in escrow for three days before being processed.

Storage

As previously mentioned, the Farcaster Hubs use delta graphs to store messages and synchronize the social network state across nodes.

In this graph, each vertex represents an entity such as a user or message, and an edge indicates a relationship between the entities. For instance, if @alice creates a message and @bob likes it, the protocol generates a series of deltas that can be easily synchronized between nodes.

Farcaster distinguishes six types of deltas:

  1. Casts, which are messages created by a user
  2. Reactions, which are responses to a user’s messages from another user (such as a like)
  3. Amps, which are endorsements or amplifications of a user
  4. Verifications, which are proofs of ownership (such as an Ethereum address signature)
  5. Signers, which are key pairs authorized by a user to sign their deltas
  6. User data, which are metadata about the user (such as their profile picture)

Lens vs. Farcaster

By now, if you’ve read this far, you likely have a general understanding of the design principles behind these two decentralized social networks, including their respective benefits and drawbacks. So, without further ado, let’s delve into the pros and cons of each.

IDs or Profiles

Renewing your handle on Farcaster is an annual requirement, whereas on Lens, it’s a one-time task. Which approach is superior? Well, that depends.

Farcaster has always prioritized high-quality conversations and charges users for their profiles to support their Hubs and ensure commitment. Although weunderstand the benefits, we’re unsure whether this will lead to Farcaster’s widespread adoption. Perhaps they don’t aim for that outcome, as more users could result in more noise. Instead, they might seek to reduce that ratio by providing high-quality profiles in their network. So far, we can confirm that the conversations on Farcaster are exceptional and insightful.

On the other hand, Lens allows anyone to create and maintain their handle without the need for renewals. While this is convenient, it also enables people to create profiles for prominent brands (like ENS or domains) and charge others to control those social media accounts. Will this be a positive development? Only time will tell, as speculation may become an issue since the profiles don’t expire like they do on Farcaster.

Social Graph

One of Lens’s most intriguing features is its on-chain storage of everything in your profile. The protocol generates contracts for your publications, ensuring that any client utilizing the protocol displays precisely the same content. This means that your followers and content will remain intact, no matter where you go.

Conversely, Farcaster offers more flexibility. While Lens is appealing you can’t categorize your content, unlike on Farcaster. Each app could depend on the delta graph and construct its followers’ list. The only downside is that exporting your followers would be necessary if you decide to switch clients. Whether this is good or bad, only time will reveal.

Everything vs. Something On-Chain

Lens utilizes Polygon for all its transactions, storing everything on the network. In contrast, Farcaster employs its off-chain solution.

Lens’s approach involves saving everything in your wallet as an NFT with different contracts created for you (the modules). This is clever because your social graph and posts could grow indefinitely. However, Hubs on Farcaster have a limitation on the size of the delta graph (64TB). The Lens approach is “simple,” as you own everything, you should be able to destroy/burn everything. However, as you know, the blockchain will maintain a history of your actions, allowing others to refer to past statements and actions. It will be interesting to see where regulations stand in such a scenario.

Extending The Protocol

Lens provides the option to extend modules, allowing for endless possibilities. However, on Farcaster, proposing changes to the protocol requires all hubs to upgrade to support those changes. Which approach is superior? We prefer Lens’s approach, where everything is a contract that can be deployed with its own rules. On the other hand, the Farcaster approach seems more like any other open-source project, which is also commendable. As with other solutions, time will determine which approach is more effective.

Conclusion

Farcaster seems like the go-to platform to have deep and insightful conversations. The engagement with the community is very good, and if you want you always learn something new. In contrast, Twitter is mostly filled with self-promotion and hateful discussions. On Farcaster, conversations are respectful, and even when people disagree, it feels like a learning experience in a welcoming environment.

On the other hand, Lens is the perfect place for creators and artists. The overall engagement seems to be less. Even if you get numerous likes and mirrors, there is little to no interaction through comments, which feels odd. It seems like the followers and likes may be artificial, as you do not have real interactions with others on the platform. Nevertheless, the technology and collecting aspects of Lens, such as setting up rules for following, collecting posts, and using Wav3s to offer paid conditions to your followers are very well thought out.

Both protocols have multiple client apps available, each with its pros and cons. On Lens, there’s Buttrfly, Orb, and Phaver, but Phaver’s UX is confusing as it switches between its social network and Lens. Orb is a full-featured solution with only minor missing details that will likely be addressed in future releases.

On Farcaster, Warpcast is currently the only full-featured client, but Jam will be available soon. However, your social graph on Warpcast will not transfer to Jam, which means you will have to start over from scratch.

Our current feeling is, that Lens has a slight lead, but we recommend trying both platforms as they offer unique communities and experiences. As everything is decentralized, it is possible to have all your social networks in one place, such as with Yup. Social networks have not been this exciting in years!

Who We Are

Moonrock Capital is a Blockchain Advisory and Investment Firm, incubating and accelerating early stage startups since 2019.

Website: https://www.moonrockcapital.io

Twitter: https://twitter.com/MoonrockCapital

Disclaimer: None of the information contained here constitutes an offer (or solicitation of an offer) to buy or sell any currency, product or financial instrument, to make any investment, or to participate in any particular trading strategy.

--

--

Moonrock Capital

Moonrock Capital is a Blockchain Advisory and Investment Firm, incubating and accelerating early stage startups since 2019. https://www.moonrockcapital.io