Justifed state in LMD GHOST #768
Labels
milestone:June 30 freeze 🥶
Phase 0 spec freeze for long-lived cross-client testnet
scope:fork-choice
Milestone
Issue
justified_head_state
which is used to get the active validator set forlmd_ghost
is currently defined as "the resultingBeaconState
object from processing the chain up to thejustified_head
".This is correct in the "happy" case in which no slots were skipped between the
justified_head
and the epoch boundary that was justified, but in the case that slots were skipped between the head and epoch boundary slot (% epoch_length == 0
), the justified head is actually the block from a prior slot but at the state at the epoch boundary slot. For example, if a block at slot 63 (epoch 0) is justified for epoch 1 (epoch boundary @ slot 64) in the case that there was no block for slot 64, then the state associated with this(justified_block, justified_epoch)
tuple is actually the justified block from slot 63 transitioned through an additional slot to slot 64.Solution
Define
justified_head_state
as "the resultingBeaconState
object from processing the chain up to thejustified_head
through the start slot ofjustified_epoch
"The text was updated successfully, but these errors were encountered: