Varun Srinivasan
@v
Our goal is to scale Farcaster to 1 million daily users. Farcaster will need to handle 10,000 messages / second while staying credibly decentralized. That's roughly in the same order of magnitude as most global credit card networks. Here's our proposal: https://github.com/farcasterxyz/protocol/discussions/163
28 replies
38 recasts
316 reactions
Varun Srinivasan
@v
The most pressing problem to solve is network sync. Hubs can achieve consensus without coordination thanks to CRDTs. But they still need to replicate and converge to the same state quickly. We use a combination of snapshots, gossip and differential sync to achieve this.
3 replies
0 recast
7 reactions
Varun Srinivasan
@v
The second most important problem is replication. Hubs are good for fetching state but less good at running queries on it. To do this, you'll need to transfer data into a db like Postgres, and do it in under a second. We're working on a new system called shuttle to solve this.
2 replies
0 recast
4 reactions
Varun Srinivasan
@v
The final boss is state growth. Users create messages which take up space on disk. Each hub stores a copy of every message on the network. Our goal is to keep nodes under 10TB at 1M users. This keeps hubs very useful to developers and very simple to operate.
1 reply
0 recast
6 reactions
Varun Srinivasan
@v
Our goal is that even at 1M users you can run hubs on commodity hardware. You should be able to press a few buttons and have a hub running for less than $1000 / month. That gives you direct access to the entire Farcaster dataset, right there on your machine.
3 replies
0 recast
6 reactions