FIP: Version byte at root of Farcaster Message #80
Closed
pfletcherhill
started this conversation in
FIP Stage 1: Ideas
Replies: 2 comments
-
Version bytes will solve the problem of useful error states though it does carry a storage cost. Assuming a network of 10M users with an average of 1,000 messages each, that's roughly 10GB of additional space. A more important problem is that sync is broken whenever a message upgrade happens since the tries will never converge. My bias is to start by figuring out the solution for that and then working backwards to see if version bytes fit into that design. |
Beta Was this translation helpful? Give feedback.
0 replies
-
Closing, based on offline discussions. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
When we upgrade the message schema, messages made with an upgrade protocol version may no longer be valid in previous versions. The primary reason for this is that the hash breaks across versions—a hash that uses data from
2023.4.19
(i.e.CastAddBody.parent_url
) will be missing from the message when hashed using2023.3.1
, so the hash will seem to be invalid.Should we include a new field at the Message root that indicates the protocol version of the message in order to provide the user with feedback in this case (i.e. an error saying the message is from a future version so cannot be validated)?
Beta Was this translation helpful? Give feedback.
All reactions