8 replies
8 recasts
27 reactions
1 reply
0 recast
0 reaction
1 reply
0 recast
1 reaction
2 replies
0 recast
1 reaction

Finally got a chance to read! Sounds a lot like ATProto's lexicon namespaces? Except the bundles are aggregated/immutable, which I think loses some utility of shared relay infrastructure. (An "L2" would need to run its own infra, at which point I'm not sure why Farcaster needs to be involved? There's no "inherited security" or atomicity benefits of being a based rollup, right?)
High level, I think this is a design flaw of the Farcaster protocol: Everything is assumed to be in the main namespace and always "alive", there's no notion of segmenting namespaces and there's no notion of immutable archives.
For example, say we take your sports app scenario but instead apply it for archiving casts. Anything more than 90 days old gets "rebundled" into an immutable archive, freeing up "alive storage" that is otherwise more expensive. I think this is a fine idea but it would break today's assumptions and I think it's culturally opposed to what Farcaster leadership wants this to be. (Maybe I'm wrong?)
I guess high level, it's not clear to me what the "layer" relationship is between the L1 and L2 here. To me it sounds more like an "offchain"/"onchain" relationship, rather than a rollup-style relationship.
But considering it from a consumer/builder perspective: Say I'm making an "offchain" live sports for realtime chatting, leveraging the Farcaster social graph... why would I even post it back onto Farcaster after at all? Who benefits? 1 reply
0 recast
0 reaction
2 replies
0 recast
0 reaction
0 reply
0 recast
1 reaction
The way I see it, Forecaster's core features is identity and social graph. Casts are a nice feature, but they are a feature that could have been implemented on top of Farcaster, just like direct casts are implemented on top of Farcaster.
In a way, the L2s I describe are an alternative implementation of casts, not stored on Snapchain (was written before snapchain, but the idea is the same).
The L2 inherits L1 security in the sense that a delta submitted to an L2 must be valid in L1 (a valid signer, valid signature, etc). You could say they are off-chain messages, that can be submitted at any time to L1 if you like (or moved to an other L2).
You also get a proof that the bundle has been included in the L2, because its hash is submitted to L1 (using BundleAdd).
Yes, you will have to run your infra, but you get the hardest parts for free (identity, authentication, social graph). Storing content (casts, reactions) is the easiest part, and trivial to implement imo. 0 reply
0 recast
1 reaction