1

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?

1
  • 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. Commented Feb 7, 2022 at 8:31

1 Answer 1

1

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.

1
  • 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
    Commented Feb 8, 2022 at 9:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.