You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The bootstrapping tooling generates a root block for a spork. The root block provides a flag --root-height, which is used to manually pass in the height extending the final block of the prior spork, ensuring block heights are not repeated. By contrast, the block view is reset to 0 every spork, so subsequent sporks re-use view numbers.
In Mainnet25, we released the Protocol KV Store, which includes a view-based mechanism for determining its version over time. The KV Store version cannot be downgraded, and we rely on the fact that views are strictly increasing over time for safety. Currently the KV Store Upgrade mechanism (which also supports "Protocol HCU"s) is incompatible with the current practice of resetting the view count every epoch.
⚠️ Caution: Because views have been reset for a long time, there are known and (we should assume) unknown instances in our codebase where components assume root blocks have a zero view. Here is a non-exhaustive list of examples:
Context
The bootstrapping tooling generates a root block for a spork. The root block provides a flag
--root-height
, which is used to manually pass in the height extending the final block of the prior spork, ensuring block heights are not repeated. By contrast, the block view is reset to 0 every spork, so subsequent sporks re-use view numbers.In Mainnet25, we released the Protocol KV Store, which includes a view-based mechanism for determining its version over time. The KV Store version cannot be downgraded, and we rely on the fact that views are strictly increasing over time for safety. Currently the KV Store Upgrade mechanism (which also supports "Protocol HCU"s) is incompatible with the current practice of resetting the view count every epoch.
Definition of Done
The text was updated successfully, but these errors were encountered: