Compact Block Relay (BIP-152) launched an environment friendly approach to relay blocks when there’s good mempool sync between nodes, greatest illustrated by this determine from the BIP:
The determine implies block might be relayed earlier than the receiving node finishes processing it.
I need to know what’s the scenario in follow in Bitcoin Core?
I think about this might be secure:
- Obtain block in full (important path)
- Confirm PoW and Merkle root first (important path)
- Relay the block (not on important path, different thread can do)
- Validate absolutely and join block (important path)
- Begin mining new tip (important path)
So, what’s the delay between obtain and ship?
The socket loop has 50ms delay, and PoW and Merkle root checking is negligible, so ideally the node’s inside delay shouldn’t add way more than 50ms when propagating blocks. Is that what occurs, or is propagation blocked by ready for full validation?

