Content pfp
Content
@
0 reply
0 recast
0 reaction

vrypan |--o--| pfp
vrypan |--o--|
@vrypan.eth
During the discussion about the Ordering FIP, we practically identified three different network state models, and I think we should be aware of them. Each one has its pros and cons, and makes some use cases simpler and some harder. - Global-state oriented (current model, most probably future model too) - User-state oriented - App-state oriented Depending on how current and future apps want to use the network, each model offers advantages and disadvantages. For example, for a twitter-like app, think Warpcast and Supercast, the global-state oriented model is the best fit. If you're interested in knowing what only specific users do and not the whole network, a user-state model would be a better fit. And if you mostly care about what users do within a special-purpose app (@kmacb.eth's d33m.com comes to mind, or maybe a channel-specific app like @purple has been discussing for some time) then an app-specific model seems better.
5 replies
2 recasts
16 reactions

vrypan |--o--| pfp
vrypan |--o--|
@vrypan.eth
Ordering FIP and discussion: https://github.com/farcasterxyz/protocol/discussions/193
1 reply
0 recast
4 reactions

vrypan |--o--| pfp
vrypan |--o--|
@vrypan.eth
Some more examples: If you want to create a user activity feed, then the user-state model is a better fit. You don't need everyone's casts, just the N users you're interested in. This is something to have in mind if we decide on sharing at some point. But if you want to know how many likes a specific cast received, then you need easy access to the global state. Now, if you have a special-purpose app and you only care what users did within this app (for example, casting and commenting on a game, or discussing governance proposals and using likes as votes), then you probably mostly care about user activity that happens within the app. For example, you don't care if I liked a cast that is not part of the game discussion or the gov process. Knowing what we optimize for can lead to different design decisions in the future. For example, if we decide to use sharding at some point in the future, sharing by fid or by app will make some use cases easier and other harder.
1 reply
0 recast
2 reactions

vrypan |--o--| pfp
vrypan |--o--|
@vrypan.eth
Right now, the network is (relatively) small, and the killer app is Warpcast, so it makes 100% sense to favor a global-state oriented model, which also leaves the door open to any other type of app (given the current network size).
1 reply
0 recast
2 reactions