From fd1ca8ef23448b9295bf405313e02337eff453f1 Mon Sep 17 00:00:00 2001 From: Michael Sproul Date: Tue, 25 Feb 2025 23:30:02 +1100 Subject: [PATCH] Ban peers with banned payloads --- .../src/network_beacon_processor/sync_methods.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/beacon_node/network/src/network_beacon_processor/sync_methods.rs b/beacon_node/network/src/network_beacon_processor/sync_methods.rs index 338f2bc4c8..ef4d9cc4c1 100644 --- a/beacon_node/network/src/network_beacon_processor/sync_methods.rs +++ b/beacon_node/network/src/network_beacon_processor/sync_methods.rs @@ -800,6 +800,18 @@ impl NetworkBeaconProcessor { peer_action: Some(PeerAction::LowToleranceError), }) } + // Penalise peers for sending us banned blocks. + BlockError::KnownInvalidExecutionPayload(block_root) => { + warn!( + self.log, + "Received block known to be invalid"; + "block_root" => ?block_root, + ); + Err(ChainSegmentFailed { + message: format!("Banned block: {block_root:?}"), + peer_action: Some(PeerAction::LowToleranceError), + }) + } other => { debug!( self.log, "Invalid block received";