Sunday, December 22, 2024

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

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 obtained 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 method that’s particular to every connection (stopping third events from rising collision danger). Since node B is lacking the transactions, it additionally would 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 won’t obtain a compact block announcement till node B‘s transaction request has accomplished its spherical journey. (After all, this assumes that node C solely receives new blocks from node B.) That appears to indicate that the propagation latency discount of high-bandwidth mode skipping full validation earlier than relay is essentially misplaced when a block consists of transactions that aren’t broadly accessible.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles