<oembed><type>rich</type><version>1.0</version><author_name>npub1f2nvlx49er5c7sqa43src6ssyp6snd4qwvtkwm5avc2l84cs84esecrwet</author_name><author_url>https://nostr.ae/npub1f2nvlx49er5c7sqa43src6ssyp6snd4qwvtkwm5avc2l84cs84esecrwet</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2017-12-11&#xA;📝 Original message:On Mon, Dec 11, 2017 at 8:40 PM, Jim Posen via bitcoin-dev&#xA;&lt;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt; Firstly, I don&#39;t like the idea of making the net header encoding dependent&#xA;&gt; on the specific header validation rules that Bitcoin uses (eg. the fact that&#xA;&gt; difficulty is only recalculated every 2016 blocks). This would be coupling&#xA;&#xA;In the last proposal I recall writing up, there was a one byte flag on&#xA;each header to indicate what was included.&#xA;&#xA;Nbits _never_ needs to be sent even with other consensus rules because&#xA;its more or less necessarily a strict function of the prior headers.&#xA;This still holds in every clone of Bitcoin I&#39;m aware of; sending it&#xA;with the first header in a group probably makes sense so it can be&#xA;checked independently.&#xA;&#xA;&gt; with insufficient benefit.&#xA;&#xA;another &gt;18% reduction in size beyond the removal of prev. is not&#xA;insubstantial by any means.  I don&#39;t think it should lightly be&#xA;ignored.&#xA;&#xA;Prev omission itself is not, sadly, magically compatible:  I am quite&#xA;confident that if there is a bitcoin hardfork it would recover the&#xA;nbits/4-guarenteed always-zero bits of prev to use as extra nonce for&#xA;miners. This has been proposed many times, implemented at least once,&#xA;and the current requirement for mining infrastructure to reach inside&#xA;the coinbase txn to increment a nonce has been a reliable source of&#xA;failures.  So I think we&#39;d want to have the encoding able to encode&#xA;leading prev bits.&#xA;&#xA;Many altcoins also change the header structures. If the better thing&#xA;is altcoin incompatible, we should still do it. Doing otherwise would&#xA;competitively hobble Bitcoin especially considering the frequent&#xA;recklessly incompetent moves made by various altcoins and the near&#xA;total lack of useful novel development we&#39;ve seen come out of the&#xA;clones.&#xA;&#xA;Probably the most important change in a new header message wouldn&#39;t be&#xA;the encoding, but it would be changing the fetching mechanism so that&#xA;header sets could be pulled in parallel, etc.&#xA;&#xA;I would rather not change the serialization of existing messages,&#xA;nodes are going to have to support speaking both messages for a long&#xA;time, and I think we already want a different protocol flow for&#xA;headers fetching in any case.</html></oembed>