In a recent blog post we got more information about block diffusion pipelining: https://iohk.io/en/blog/posts/2022/02/01/introducing-pipelining-cardanos-consensus-layer-scaling-solution/
Technically blocks are propagated before being validated, which in theory opens the network to the risk of spam attacks. Anyone could create malicious blocks and squirt them into the network, as they are forwarded without validation, then the network resources are squandered.
However we see in the article that block headers are validated independently of block bodies, and based on the graphic, what diffusion piplining is really doing is splitting propagation of blocks into validated headers and validated bodies. The dark grey areas in the figures appear to be validation, and the light grey areas appear to be transmission.
Q1/ Have I understood the above accurately?
Q2/ What is being validated in the header? This seems to be critical, it would seem merely validating the header came from a block producer that was verifiable as being able to produce a block in that slot, would be enough. Although the block producer could then follow an invalid block body if they wanted to, this would make the block producer lose rewards.
Edit Q3/ If a valid block producer chose to transmit 1000s of valid block headers at multiple relay nodes, how would that impact diffusion and consensus on the network?