<oembed><type>rich</type><version>1.0</version><author_name>npub1fx98zxt3lzspjs5f4msr0fxysx5euucm29ghysryju7vpc9j0jzqtcl2d8</author_name><author_url>https://nostr.ae/npub1fx98zxt3lzspjs5f4msr0fxysx5euucm29ghysryju7vpc9j0jzqtcl2d8</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-12-08&#xA;📝 Original message:On Wed, Dec 9, 2015 at 12:59 AM, Gregory Maxwell via bitcoin-dev&#xA;&lt;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt; On Tue, Dec 8, 2015 at 3:12 PM, Gavin Andresen via bitcoin-dev&#xA;&gt; &lt;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt; We already have consensus critical enforcement there, the height,&#xA;&gt; which has almost never been problematic. (A popular block explorer&#xA;&gt; recently misimplemented the var-int decode and suffered an outage).&#xA;&#xA;It would be also a nice opportunity to move the height to a more&#xA;accessible place.&#xA;For example CBlockHeader::hashMerkleRoot (and CBlockIndex&#39;s) could be&#xA;replaced with a hash of the following struct:&#xA;&#xA;struct hashRootStruct&#xA;{&#xA;uint256 hashMerkleRoot;&#xA;uint256 hashWitnessesRoot;&#xA;int32_t nHeight;&#xA;}&#xA;&#xA;&gt; From a risk reduction perspective, I think it is much preferable to&#xA;&gt; perform the primary change in a backwards compatible manner, and pick&#xA;&gt; up the data reorganization in a hardfork if anyone even cares.&#xA;&#xA;&#xA;But then all wallet software will need to adapt their software twice.&#xA;Why introduce technical debt for no good reason?&#xA;&#xA;&gt; I think thats generally a nice cadence to split up risks that way; and&#xA;&gt; avoid controversy.&#xA;&#xA;Uncontroversial hardforks can also be deployed with small risks as&#xA;described in BIP99.</html></oembed>