-
Notifications
You must be signed in to change notification settings - Fork 890
Open
Labels
bugSomething isn't workingSomething isn't workingdasData Availability SamplingData Availability SamplingfuluRequired for the upcoming Fulu hard forkRequired for the upcoming Fulu hard fork
Description
During backfill the only verification we do is of the block's signatures:
lighthouse/beacon_node/beacon_chain/src/historical_blocks.rs
Lines 205 to 213 in d96b731
block_proposal_signature_set_from_parts( | |
block, | |
Some(block_root), | |
block.message().proposer_index(), | |
&self.spec.fork_at_epoch(block.message().epoch()), | |
self.genesis_validators_root, | |
|validator_index| pubkey_cache.get(validator_index).cloned().map(Cow::Owned), | |
&self.spec, | |
) |
This does not cover the blobs or data columns, which could be mismatched/invalid.
For blobs we should check:
- KZG inclusion proof (already checked by the network crate:
lighthouse/beacon_node/network/src/sync/network_context/requests/blobs_by_range.rs
Line 36 in d96b731
if !blob.verify_blob_sidecar_inclusion_proof() { - Blob data matches the KZG commitment: TODO (verify KZG proof).
- Signature in the blob's block header matches the block's signature (equality check is fine).
Similarly for data columns.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingdasData Availability SamplingData Availability SamplingfuluRequired for the upcoming Fulu hard forkRequired for the upcoming Fulu hard fork