I have a question about when the fork-choice rule is checked in real implementation or in the specification. Maintaining a fork-choice store is important and due to network delay, there may happen temporal fork. In this case, as I understand, the fork-choice rule (i.e., in this case, LMD-GHOST) decides the canonical head (simply the most voted block win).

  1. When a validator receives any new unaggregated/aggregated attestation
    • This may require too much computation
  2. When a validator receives a new beacon block
    • e.g., during per-block processing
  3. When a validator became a proposer
  4. When slot/epoch starts or ends
    • e.g., during per-slot/epoch processing


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.