
History of a buggy bug
This is a full explainer of the DOS experienced by Prysm nodes at the Capella and Fusaka forks. Checkpoints and Attestations Before going into the bug details, let’s get a refresher on the technical aspects of attestation validation on Ethereum. Ethereum has Epochs, consisting of 32 Slots, where blocks are proposed. When a validator, during its assigned slot attests to a block, it also attests to a target checkpoint. This target checkpoint is explicitly sent in the attestation for bookkeeping and accountability reasons, but can be completely derived from the attestation’s slot and block roots. The associated checkpoint is easier to visualize than to define, so let’s draw some cases first before jumping into formal definitions. ...