Varun Srinivasan
@v
@justindrake asked me why we don't use DA layers instead of Snapchain. I've heard the question a few times, so here's the answer. Snapchain is a storage layer for Farcaster data. Every like, cast, reaction you post is stored there and propagated to all apps in real time.
3 replies
11 recasts
54 reactions
Varun Srinivasan
@v
Social data tends to mutate often. People like things and then unlike them all the time. They also exceed rate or storage limits and their older content needs to be cleared out. Snapchain's main innovation is handling this in a very performant way so that the bytes on disk and over the network are minimized. This is what makes Farcaster scalable
2 replies
1 recast
19 reactions
Varun Srinivasan
@v
DA layers aren't really designed to handle this. They're more like flat file stores that you push immutable blobs to. This works really well for an L2 trying to make its data available for future validation. But its not good for a network trying to stream real-time updates that are mutating state frequently.
1 reply
0 recast
10 reactions
Varun Srinivasan
@v
If you tried to use a DA to be the primary store of Farcaster data, you'd get very large disk size, slow replication and high costs. The one area where DA might be useful is to store archival data when they get pruned from nodes, which we may explore in the future. But honestly, S3 might be "good enough" for this use case
3 replies
0 recast
9 reactions
vrypan |--o--|
@vrypan.eth
The real question would be why other projects (for example DePIN projects) don't use a network of Hubbles to aggregate and distribute data. The design is ideal for these projects.
1 reply
0 recast
3 reactions
Henry
@hlau
Got some Cosmos flashbacks from the Tendermint mention. My understanding is that the core object mutates then? Because you could of course chain together all subsequent mutations as well (prob some ugly client performance I’m guessing). Doesn’t this mean that casts could be edited?
0 reply
0 recast
0 reaction
alexevans
@bibliophagos
Trying to understand the storage point DA isn't used to store data - it's deleted after some interval DA can, in theory, be used to stream updates and persist these just long enough for nodes to receive them and update state Snapchain seems to be innovating on an independent axis? Am I missing an important detail?
0 reply
0 recast
2 reactions