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
Say you need to verify a signature of an object from slot 32 N + s with 0 < s < 32, that is in the middle of the epoch.
We would typically call StateByRoot to regenerate the prestate/poststate of the object and use that state to verify the signature. But in fact we only care about having the right epoch N and the right Fork version of the object. Both of these can be obtained from the object itself perhaps.
There are different designs to avoid this state regeneration:
The simplest most naive one is to simply grab from db a state from the right fork and perhaps at an epoch boundary, this has more chances of not having to regenerate anything
Another one is to simply use the headstate since until we reuse indices the BLS keys won't have changed and we can get the epoch and fork version from the object.
The biggest problem is that the validator set may have changed between the required state and the one we are using.
We currently regenerate the pre/post-state to the object (think for beacon blocks) when we would be find regenerating the justified state previous to the object, plus perhaps using the object's fork version instead of the state one.
The text was updated successfully, but these errors were encountered:
Say you need to verify a signature of an object from slot
32 N + s
with0 < s < 32
, that is in the middle of the epoch.We would typically call
StateByRoot
to regenerate the prestate/poststate of the object and use that state to verify the signature. But in fact we only care about having the right epochN
and the right Fork version of the object. Both of these can be obtained from the object itself perhaps.There are different designs to avoid this state regeneration:
The biggest problem is that the validator set may have changed between the required state and the one we are using.
We currently regenerate the pre/post-state to the object (think for beacon blocks) when we would be find regenerating the justified state previous to the object, plus perhaps using the object's fork version instead of the state one.
The text was updated successfully, but these errors were encountered: