lighthouse
lighthouse copied to clipboard
Optimise verification on GetBlobsV2 response
We've recently introduced gossip verification to getBlobsV2 response (#7493) to make sure
- The proofs from the EL are validated
- We don't re-process already imported data columns (
GossipDataColumnError::PriorKnownandGossipDataColumnError::PriorKnownUnpublished)
We currently do this by performing full gossip verification here: https://github.com/jimmygchen/lighthouse/blob/e33dadbf1a520e92ddec614f3b7133fcc9e4c572/beacon_node/beacon_chain/src/fetch_blobs/mod.rs#L340-L352
The full verification includes relatively expensive checks like signature verification, which isn't necessary since the block headers are already verified and we're just cloning it over to build DataColumnSidecars. This impacts the block attestable time and import time. We could optimise this to have a verification mode that skips all validation on the SignedBeaconBlockHeader and still do the rest.
I'd like to work on this if no one else is already on it
Nice, thanks @eserilev
Completed in #7582