"Compressed" headers stream



Summary:

In a discussion on bitcoin-dev, Jim Posen expressed his dislike of the idea of making the net header encoding dependent on specific header validation rules used by Bitcoin. He stated that coupling with insufficient benefit would be detrimental. In the last proposal he wrote up, there was a one byte flag on each header to indicate what was included. Nbits does not need to be sent even with other consensus rules because it is more or less necessarily a strict function of the prior headers. Posen stated that another >18% reduction in size beyond the removal of prev is not insubstantial and should not be ignored. However, Prev omission itself is not magically compatible and Posen believes that if there is a bitcoin hardfork it would recover the nbits/4-guarenteed always-zero bits of prev to use as extra nonce for miners. Many altcoins also change the header structures, so even if the better thing is altcoin incompatible, it should still be done. Changing the serialization of existing messages is not desirable as nodes will have to support speaking both messages for a long time. Posen believes that probably the most important change in a new header message wouldn't be the encoding, but it would be changing the fetching mechanism so that header sets could be pulled in parallel, etc.


Updated on: 2023-05-20T03:30:02.692632+00:00