<oembed><type>rich</type><version>1.0</version><author_name>npub1e46n428mcyfwznl7nlsf6d3s7rhlwm9x3cmkuqzt3emmdpadmkaqqjxmcu</author_name><author_url>https://nostr.ae/npub1e46n428mcyfwznl7nlsf6d3s7rhlwm9x3cmkuqzt3emmdpadmkaqqjxmcu</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2016-05-10&#xA;📝 Original message:Yea, I think in any hardfork that we should be talking about, a part of&#xA;it should include 1) fix the version field so its a static constant, 2)&#xA;the merkle root becomes hash of the real block header 3) swap first 2&#xA;bytes of the merkle root with the timestamp&#39;s two high-order bits, 4)&#xA;swap the next 4 bytes of the merkle root with the difficulty field.&#xA;&#xA;I believe this should be compatible with all existing ASICs, with the&#xA;exception, possibly, of some 21 Inc hardware. I believe this fixes&#xA;AsicBoost (without thinking about it tooo much, so please critique).&#xA;&#xA;While this is somewhat nasty, the risks of AsicBoost and the precedent&#xA;that should be set necessitates a response, and it should be included in&#xA;any hardfork.&#xA;&#xA;Matt&#xA;&#xA;On 05/10/16 20:27, Tier Nolan via bitcoin-dev wrote:&#xA;&gt; The various chunks in the double SHA256 are&#xA;&gt; &#xA;&gt; Chunk 1: 64 bytes&#xA;&gt; version&#xA;&gt; previous_block_digest&#xA;&gt; merkle_root[31:4]&#xA;&gt; &#xA;&gt; Chunk 2: 64 bytes&#xA;&gt; merkle_root[3:0]&#xA;&gt; nonce&#xA;&gt; timestamp&#xA;&gt; target&#xA;&gt; &#xA;&gt; Chunk 3: 64 bytes&#xA;&gt; digest from first sha pass&#xA;&gt; &#xA;&gt; Their improvement requires that all data in Chunk 2 is identical except&#xA;&gt; for the nonce.  With 4 bytes, the birthday paradox means collisions can&#xA;&gt; be found reasonable easily.&#xA;&gt; &#xA;&gt; If hard forks are allowed, then moving more of the merkle root into the&#xA;&gt; 2nd chunk would make things harder.  The timestamp and target could be&#xA;&gt; moved into chunk 1.  This increases the merkle root to 12 bytes in the&#xA;&gt; 2nd chunk.  Finding collisions would be made much more difficult.&#xA;&gt; &#xA;&gt; If ASIC limitations mean that the nonce must stay where it is, this&#xA;&gt; would mean that the merkle root would be split into two pieces.&#xA;&gt; &#xA;&gt; On Tue, May 10, 2016 at 7:57 PM, Peter Todd via bitcoin-dev&#xA;&gt; &lt;bitcoin-dev at lists.linuxfoundation.org&#xA;&gt; &lt;mailto:bitcoin-dev at lists.linuxfoundation.org&gt;&gt; wrote:&#xA;&gt; &#xA;&gt;     As part of the hard-fork proposed in the HK agreement(1) we&#39;d like&#xA;&gt;     to make the&#xA;&gt;     patented AsicBoost optimisation useless, and hopefully make further&#xA;&gt;     similar&#xA;&gt;     optimizations useless as well.&#xA;&gt; &#xA;&gt;     What&#39;s the best way to do this? Ideally this would be SPV&#xA;&gt;     compatible, but if it&#xA;&gt;     requires changes from SPV clients that&#39;s ok too. Also the fix this&#xA;&gt;     should be&#xA;&gt;     compatible with existing mining hardware.&#xA;&gt; &#xA;&gt; &#xA;&gt;     1)&#xA;&gt;     https://medium.com/@bitcoinroundtable/bitcoin-roundtable-consensus-266d475a61ff&#xA;&gt; &#xA;&gt;     2)&#xA;&gt;     http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-April/012596.html&#xA;&gt; &#xA;&gt;     --&#xA;&gt;     https://petertodd.org &#39;peter&#39;[:-1]@petertodd.org &lt;http://petertodd.org&gt;&#xA;&gt; &#xA;&gt;     _______________________________________________&#xA;&gt;     bitcoin-dev mailing list&#xA;&gt;     bitcoin-dev at lists.linuxfoundation.org&#xA;&gt;     &lt;mailto:bitcoin-dev at lists.linuxfoundation.org&gt;&#xA;&gt;     https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&gt; &#xA;&gt; &#xA;&gt; &#xA;&gt; &#xA;&gt; _______________________________________________&#xA;&gt; bitcoin-dev mailing list&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org&#xA;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&gt;</html></oembed>