Can a BIP152 compact block be despatched earlier than validation by a node that does not know all transactions?

0
39


A brand new block is being relayed from node A to B to C utilizing BIP152 compact block’s high-bandwidth mode, which permits relaying a block after solely validating its header proof-of-work. When node B receives the compact block, it is lacking some transactions, so node B cannot reconstruct the block instantly. It has to request the lacking transactions from node A.

Earlier than B has acquired the lacking transactions, is it doable for it to announce the block to node C?

My understanding is that that is not possible. The compact block that node B receives solely references the lacking transactions by their BIP152 shortid, which is generated from every transaction’s txid in a approach that’s particular to every connection (stopping third events from rising collision danger). Since node B is lacking the transactions, it additionally does not know their txids, so it’s unable to create shortids for them for sending a compact block to node C.

Which means, even when node C has the transactions that node B is lacking, it is not going to obtain a compact block announcement till node B‘s transaction request has accomplished its spherical journey. (In fact, this assumes that node C solely receives new blocks from node B.) That appears to suggest that the propagation latency discount of high-bandwidth mode skipping full validation earlier than relay is basically misplaced when a block contains transactions that aren’t extensively accessible.

LEAVE A REPLY

Please enter your comment!
Please enter your name here