What we think about Farcaster

@zkorum.com

Farcaster is deeply rooted within the Ethereum ecosystem. It claims to be a “sufficiently decentralised social network protocol”. The goal of the decentralisation is twofold:

  • To ensure users' identity is not owned by a single centralised platform which could make the user trapped or censored.
  • To allow user A and user B to interact without the need of a centralised party, effectively combating censorship.

The word “sufficiently” refers to the statement that apart from the two features stated above, the other features of a social network are believed to change too frequently to be “decentralised” on a blockchain: they are too app-specific and would be too expensive to host on a blockchain, besides the counter-feature that blockchain can bring, such as privacy and the right to be forgotten.

Farcaster achieves “sufficient decentralisation” by implementing the following architecture:

  • Farcaster uses Ethereum/Optimism smart contracts as decentralised registries to:
    • Create user accounts and associate a globally unique username with an Ethereum address within the whole Farcaster protocol.
    • Associate an “Account key” to their user account, which will be used by third-party “Apps” to take action on behalf of the user.
    • Recover an account by associating another Ethereum address as the recovery account; this recovery account can be heavily protected via smart and/or cold wallets because it is not meant to be used by Farcaster other than for recovery.
    • Pay rent to store data within the Farcaster Hubs protocol.
  • Farcaster uses an off-chain and permissionless peer-to-peer protocol, called Farcaster Hubs, to:
    • Broadcast public messages (called “Casts”).
    • Broadcast a Reaction to a Cast, such as “likes”.
    • Broadcast a Link between two accounts, such as “follows”.
    • Broadcast an account’s profile picture.
    • This permissionless data lake ensures that anybody can broadcast data, listen and keep track of it, then build applications or data feeds on top of it.
  • Farcaster uses “Apps” to abstract away user interaction with the Hubs and with the smart contracts for account creation. Apps are formed of a traditional frontend and backend.
  • Moderation on Farcaster has an emphasis on promoting positive content instead of censoring bad content.

architecture

(Source: Farcaster documentation)

Advantages

  • Overall, Farcaster strikes a good balance between scalability/usability and censorship-resistance. The usage of Ethereum exclusively as a decentralised name registry is quite elegant, given the constraint of making use of Ethereum at all. Farcaster’s set of smart contracts achieve the highest level of trust-minimization and transparency for a global user registry, while providing options for account recovery and key rotation.
  • Farcaster focuses on solving the problem of platform censorship and does it reasonably well.
  • User identity on Farcaster is portable, verifiable, and decentralised. If users host their own Farcast Hubs to record their own data, their social graph and other posts are self-sovereign.
  • The usage of centralised client/server apps on top of a decentralised p2p protocol is a smart way to provide high scalability and excellent UX, while ensuring a high level of censorship-resistance.
  • Every data on Farcaster is verifiable, signed by the user’s private key or by the Account key. By introducing “Account key”, users do not need to constantly interact with an underlying wallet, which increases usability.

Limitations

  • Each profile update, including creation, interacts with smart contracts and hence costs money, which does not scale well, and which is a huge friction for user adoption.
  • By introducing “Account keys”, users have to entrust the Apps they register to, in a similar fashion that they do with centralised social networks. Using the “Account key”, Farcaster Apps could sign data that the user did not request, essentially breaking true “verifiability”.
  • Farcaster does not solve the problem of sybil attacks: fake accounts, spams, scams, opinion manipulation, etc. It does not provide a built-in way to cryptographically associate any real-life credentials to a Farcaster Account (ID, passport, proof of residency, or even web domain ownership). It is possible but it is not the primary purpose of Farcaster. Instead, users tend to associate their ENS names to their Farcaster address - but this is still a pseudonym. The Ethereum ecosystem does try to associate those real-life credentials to Ethereum addresses and ENS names (zkEmail, Proof of Passport, etc.), so it may be coming in the future.
  • Farcaster provides pseudonymity but its pseudonymous users are no different than bots.
  • Even though Farcaster relies on Ethereum, which is the de-facto blockchain standard, its decentralised registry is not standardised by any Web standards organisations such as the W3C or the IETF, and no process in that direction seems to be planned.
  • Users need to pay to store more than a certain threshold of data size on the Farcaster Hubs. This is supposedly a work-around to protect against DDoS attacks, though the real usefulness of paywalls is questionable, as X has proven that making people pay for the Blue tick does not prevent scams and spams: they gladly pay. What would work against these sybil attacks is proof of humanity: 1 account = 1 human.
  • The protocol focuses on the traditional profile/follow/like/post/reply/repost mechanism and does not innovate from a product perspective aside from the objectives and advantages exposed above, which are not enough to persuade most social media users to migrate their account from traditional centralised social media.

Could it be useful for our requirements?

  • Farcaster is a carefully designed protocol that achieves similar qualities as the AT Protocol.
  • However, making users pay to create an account is an anti-feature from a “user friendliness” requirement, outside of the crypto-native community.
  • We also personally believe more in DNS gradually migrating part of its design to Ethereum, rather than Ethereum outright replacing the Web of Trust.
zkorum.com
ZKorum

@zkorum.com

🌐 We rehumanize and depolarize social media. For a more inclusive and democratic world. | https://zkorum.com

Post reaction in Bluesky

*To be shown as a reaction, include article link in the post or add link card

Reactions from everyone (0)