In Farcaster v2, off-chain Farcaster protocol data will be stored on Farcaster Hubs. I’ve had a few questions recently about why we built hubs and who is going to run them.

Farcaster v1 off-chain shortcomings

During the first year of running Farcaster v1, we learned that several of our original assumptions for how the off-chain part of the protocol should be architected were suboptimal.

In retrospect, perhaps more rigorous first principles thinking may have had us avoid this architecture at the start. Some observant readers may also point out that validity, indexing and consistency are solved with blockchains! This is true, but blockchains come with another set of trade-offs which we can revisit in a future essay. (cf. Varun’s Sufficient Decentralization in Social Networks for a directional gist.)


What do Farcaster Hubs do?

Farcaster Hubs are servers that do three things: validation, propagation and storage. This is similar to an Ethereum node, but for Farcaster data. Another way to think about it as the “data layer” for Farcaster.


Why build Farcaster Hubs vs. use another protocol / platform?

We think hubs offer developers a better Farcaster-specific developer experience. With hubs, developers get out-of-box data validation, consistency, indexing, storage and APIs in a single binary. It’s certainly possible that other general purpose protocols and platforms can achieve similar outcomes, but at the expense of developer speed and efficiency, especially at scale.

In line with our philosophy of product-led protocol development, we believe an opinionated, vertically-integrated developer experience is the best way to encourage developers to start building on Farcaster.