<p>From a member of the IOG networking team.</p>
<blockquote>
<p>Q1/ Have I understood the above accurately?</p>
</blockquote>
<p>Generally, yes. Except wording suggests that you don't realize diffusion is already split into headers and block: that's not new as of pipelining, though it is very relevant to this pipelining strategy.</p>
<blockquote>
<p>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.</p>
</blockquote>
<p>The crucial info in the header is indeed the proof of the right to mint a block.As you note, a block producer should not mint a block that extends a chain until they have validated that chain.</p>
<blockquote>
<p>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?</p>
</blockquote>
<p>We have also anticipated this and have designed a mitigation strategy discussed in the document.</p>

CC BY-SA 4.0
2022-02-08T09:53:08.483Z
Thanks, I suppose from the graphic it was clear headers are already propagating discreetly from block bodies, but i had perhaps not explicitly absorbed that. Q3 is important as headers are small and could be constructed easily with a Sybil style attack.  Not surprised this has been addressed, but look forward to the document.  Thanks.
Scalextrix
CC BY-SA 4.0
2022-02-07T19:24:54.980Z
2022-02-07T19:49:13.180Z
2022-02-07T19:49:13.180Z
Erik de Castro Lopo
<p>In a recent blog post we got more information about block diffusion pipelining: <a href="https://iohk.io/en/blog/posts/2022/02/01/introducing-pipelining-cardanos-consensus-layer-scaling-solution/" rel="nofollow noreferrer">https://iohk.io/en/blog/posts/2022/02/01/introducing-pipelining-cardanos-consensus-layer-scaling-solution/</a></p>
<p>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.</p>
<p>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.</p>
<p>Q1/ Have I understood the above accurately?</p>
<p>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.</p>
<p>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?</p>

CC BY-SA 4.0
2022-02-07T08:31:47.270Z
There is a document being worked on that will better explain this. As soon as that document is posted publicly I will post a link.
Erik de Castro Lopo
<block-production>
Block diffusion pipelining and spam attacks
# Block diffusion pipelining and spam attacks

(Asked by: username_0 on 2022-02-06)

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?

**Tags:** block-production
> **Comments:**
> **username_1**: There is a document being worked on that will better explain this. As soon as that document is posted publicly I will post a link.  

---

## 1 answers

### Answer by username_1 on 2022-02-07. Score: 1 | Accepted answer

From a member of the IOG networking team.

> Q1/ Have I understood the above accurately?

Generally, yes. Except wording suggests that you don't realize diffusion is already split into headers and block: that's not new as of pipelining, though it is very relevant to this pipelining strategy.

> 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.

The crucial info in the header is indeed the proof of the right to mint a block.As you note, a block producer should not mint a block that extends a chain until they have validated that chain.

> 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?

We have also anticipated this and have designed a mitigation strategy discussed in the document.

> **Comments:**
> **username_0**: Thanks, I suppose from the graphic it was clear headers are already propagating discreetly from block bodies, but i had perhaps not explicitly absorbed that. Q3 is important as headers are small and could be constructed easily with a Sybil style attack.  Not surprised this has been addressed, but look forward to the document.  Thanks.  

---

