core-rs-albatross icon indicating copy to clipboard operation
core-rs-albatross copied to clipboard

Propagate block headers and bodies through separate gossipsub topics

Open styppo opened this issue 7 months ago • 0 comments

The current gossipsub topic structure for block propagation suffers from poor mesh quality on the block-header topic, duplicated messages due to re-publishing as well as data duplication across topics.

This PR replaces the block/block-header gossipsub topics by a block-header and a block-body topic, eliminating cross topic data duplication. All nodes subscribe to the block-header topic, improving mesh quality, while only full/history nodes subscribe to the block-body topic.

Additionally, validators and next_batch_initial_punished_set are moved from the macro body to the macro header while preserving circuit compatibility. These properties are always required by light nodes, so they need to be part of the header.

Closes #2499, closes #2560

styppo avatar Jul 01 '24 17:07 styppo