Farcaster promises a "sufficiently decentralized" protocol with various baseline social primitives that enable users to carry their identity across multiple digital platforms without losing their connections or content. This framework appeals to developers because it provides a flexible and expressive toolset to build exciting consumer applications without the heavy lifting required to roll a new social network and the peace of mind that the network will exist regardless of any centralized entity.
However, an outspoken group of critics has recently challenged the notion that Merkle Manufactory (the organization building Farcaster and Warpcast) intends to further its goal of creating an adequately decentralized social graph. Arguments over semantics and healthy and fair criticisms abound throughout the platform.
As I write this, I feel like I'm back in 2015, writing and reading Medium articles about the promise of blockchain, attending Ethereum meetups with ten other nerds, eating free Costco pizza, and talking about our grand visions for the future of programmable money.
I distinctly remember a Laura Shin podcast where she interviewed an early Ethereum investor who specifically said their interest in Ethereum was borne of the possibility of rolling dApps without the necessity of building an entirely new blockchain network from scratch (as was typical of the preceding era).
I also recall the challenges and criticisms Vitalik, Joe Lubin, Gavin Wood, and the rest of the team faced.
There were two clients in the beginning. GETH (Go Ethereum) - the one everyone used - and cpp-ethereum, a clunky C++ client no one used. A wallet interface called Mist required a full-node sync, which worked about one-third of the time. The Ethereum Foundation and project co-founders developed all of these tools.
Blockchain ideologues fiercely criticized the Ethereum Foundation for feigning decentralization and seeking absolute network control through nefarious means. Of course, these criticisms couldn't have been further from the truth throughout the succeeding nine years.
At least eight Ethereum clients have been launched by independent teams in various programming languages, serving multiple purposes for the ecosystem. Thousands of dApps built by hundreds of thousands of developers have shaped the face of the industry. While Ethereum still receives heavy criticism (as any multi-billion dollar company should), the project continues to dominate as the world's second most valuable blockchain.
My conviction in Ethereum's promise of a more fair and transparent internet led me to a career in blockchain driven by a passion that still burns quite ferociously. I have a similar conviction in Farcaster, but I would not be me if I didn't at least consume and analyze the arguments against the platform. Let's dive in.
Semantics...
Over the weekend, users Leeward Bound, a self-proclaimed creator of the #opensourcewarpcast hashtag, levied some heavy complaints about the supposed decentralization of the Farcaster protocol. These comments are similar in many ways to the complaints critics made of Ethereum, but let's review them rather than dismiss them for their aggressive tone.
To summarize the entire conversation between Leeward and Dan Romero, the essential criticisms surround client diversity, protocol stability, and the lack of genuine competition in the ecosystem.
Client Diversity and Open Source Warpcast
First, a nontrivial difference exists between a blockchain client and a Farcaster client. Farcaster is not a blockchain. While it does leverage a set of nodes (Hubs) for content propagation and distributed storage, there is no consensus model. This distinction is critical because protocol updates don't require consensus. Updates can, and often are, issued unilaterally by a centralized party.
So, while anyone can run a hub and keep a copy of the information, that information is likely synced with a centralized service provider. The functionality and utility of the primitives driving the ecosystem are liable to change suddenly. While the Merkle team appears to communicate with developers before making decisions, no DAO or proposal framework dictates the outcomes of such conversations.
Does this matter beyond semantics? Not really. Would open-sourcing the main client be useful? I would posit that it would, but it's not necessarily a showstopping hindrance.
Open-sourcing Warpcast would be helpful to developers who are struggling with various challenges posed by interacting with the network, but beyond that, it's probably more trouble than it's worth.
User Andrei O. fairly criticizes Merkle's strategy (albeit harsh and naively absolute).
Put simply, his cast says that Hubs are open source, meaning one could fork them and start working on their specialized version. However, there's no point because some features are still siloed within Warpcast.
Unfortunately, his argument is not convincing because it makes egregious assumptions about the future state of Farcaster and the Merkle team's long-term strategy.
Dan has repeatedly said that primitives will be decentralized when they've been appropriately iterated upon and a consensus is found around their functionality. While this is not the typical methodology of DAO-driven soft and hard forks within a blockchain network, it makes sense for a consumer application.
Having personally built and run a blockchain network for the better part of a decade, I can confirm that updating a large set of nodes, whether centrally owned or not, is not a simple task and requires the attention and resources of many individuals. It makes more sense to get things right in a silo, then release the primitives to the broader community when they are in maintenance mode.
As Vitalik famously stated at a conference in Amsterdam in 2014,
"You don't need to be an expert to build things. You just have to be willing to build things. We are building the plane while it's flying."
While this methodology captured the ethos of blockchain at the time, web3 has evolved significantly. Consumers and developers expect a level of refinement in the products and tools they use that can't necessarily be achieved by building "while the plane is flying."
Bounties and funding
The other comment Leeward made that I feel is worth addressing is funding. His statement essentially states that no serious competitors can emerge without significant funding due to the centralized control and resources required. This undermines the claim that the protocol is genuinely open and competitive, as the barrier to entry is prohibitively high.
Dan confirms the latter point throughout his communications with network users, often citing the complex, proprietary infrastructure required to operate efficiently. However, in a recent YouTube AMA, Dan said that even retroactive grants have fallen short.
In contrast to Ethereum, there is no token on Farcaster. The growing infrastructure is likely to absorb the costs of joining the network. Until a critical mass of users is onboard and revenues can support externalized R&D, it's hard to imagine grants being very effective.
Even monetized apps like Supercast are probably not generating enough consistent income to become meaningful companies yet.
Hence, Merkle's virulent commitment is to grow the quality of content and daily users across the network. Herein lies my final point.
Decentralized or not, we need users
Here's the bottom line: we can sit around arguing about the perfect level of decentralization until we're blue in the face, or we can roll up our sleeves and build something people actually want to use. Decentralization is a means to an end, not the end itself. The end is a better social media experience that gives users more control and creators more opportunities.
So yeah, keep pushing for more openness, more decentralization, more community involvement. That's all good stuff. But don't lose sight of the bigger picture. We need users. We need compelling content. We need sticky features that keep people coming back. Without that, the most decentralized protocol in the world is just a really inefficient way to shout into the void.
I've seen this movie before with Ethereum. The critics will always be there, but the builders are the ones who change the game. So, you can keep complaining about Merkle's approach, or you can start building the next big thing on Farcaster. Your call.
In the meantime, I'll be here, watching this space evolve, probably making bad jokes on Warpcast, and definitely rooting for this crazy experiment to succeed. Because at the end of the day, that's what Web3 is all about - trying new things, failing fast, and hopefully, eventually, changing the world. Or at least making social media suck a little less.
Now, who's up for some Costco pizza and a hackathon?