<oembed><type>rich</type><version>1.0</version><author_name>npub1fvuxqdqg7klqqgy3yy8gdxjv4phu92sll5y8zqm2qe5qdrhxymhqf3vq7f</author_name><author_url>https://nostr.ae/npub1fvuxqdqg7klqqgy3yy8gdxjv4phu92sll5y8zqm2qe5qdrhxymhqf3vq7f</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2016-05-10&#xA;📝 Original message:Your idea of moving the Merkle root to the second chunk does not work.&#xA;&#xA;The AsicBoost can change the version bits and it does not need to find a&#xA;collision.&#xA;(However *Spondoolies patent *only mentions Merkle collisions:&#xA;https://patentscope.wipo.int/search/docservicepdf_pct/id00000032873338/PAMPH/WO2016046820.pdf&#xA;)&#xA;&#xA;Back in 2014 I designed a ASIC-compatible block header that prevents&#xA;AsicBoost in all its forms.&#xA;&#xA;You can find it here:&#xA;https://bitslog.wordpress.com/2014/03/18/the-re-design-of-the-bitcoin-block-header/&#xA;&#xA;Basically, the idea is to put in the first 64 bytes a 4 byte hash of the&#xA;second 64-byte chunk. That design also allows increased nonce space in the&#xA;first 64 bytes.&#xA;&#xA;But it you want to do a simpler change, you can more easily use the first&#xA;32 bits of the Parent Block Hash (now currently zero) to store the first 4&#xA;bytes of the SHA256 of the last 16 bytes of the header. That way to &#34;tie&#34;&#xA;the two header chunks. It&#39;s a minimal change (but a hard-fork)&#xA;&#xA;But some ASIC companies already have cores that are better (on power, cost,&#xA;rate, temperature, etc.) than competing companies ASICs. Why do you think a&#xA;10% improvement from AsicBoost is different from many of other improvements&#xA;they already have (secretly) added? Maybe we (?) should only allow ASICs&#xA;that have a 100% open source designs?&#xA;&#xA;If we change the protocol then the message to the ecosystem is that ASIC&#xA;optimizations should be kept secret. It is fair to change the protocol&#xA;because we don&#39;t like that certain ASIC manufacturer has better chips, if&#xA;the chips are sold in the market and anyone can buy them? And what about&#xA;using approximate adders (30% improvement), or dual rail asynchronous&#xA;adders (also more than 10% improvement) ? How do we repair those?&#xA;&#xA;Disclaimer: I have stake in AsicBoost, but I&#39;m not sure about this.&#xA;&#xA;&#xA;On Tue, May 10, 2016 at 5:27 PM, Tier Nolan via bitcoin-dev &lt;&#xA;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&#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 be&#xA;&gt; 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 2nd&#xA;&gt; 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 would&#xA;&gt; 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 &lt;&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt;&#xA;&gt;&gt; As part of the hard-fork proposed in the HK agreement(1) we&#39;d like to&#xA;&gt;&gt; make the&#xA;&gt;&gt; patented AsicBoost optimisation useless, and hopefully make further&#xA;&gt;&gt; similar&#xA;&gt;&gt; optimizations useless as well.&#xA;&gt;&gt;&#xA;&gt;&gt; What&#39;s the best way to do this? Ideally this would be SPV compatible, but&#xA;&gt;&gt; if it&#xA;&gt;&gt; requires changes from SPV clients that&#39;s ok too. Also the fix this should&#xA;&gt;&gt; be&#xA;&gt;&gt; compatible with existing mining hardware.&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; 1)&#xA;&gt;&gt; https://medium.com/@bitcoinroundtable/bitcoin-roundtable-consensus-266d475a61ff&#xA;&gt;&gt;&#xA;&gt;&gt; 2)&#xA;&gt;&gt; http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-April/012596.html&#xA;&gt;&gt;&#xA;&gt;&gt; --&#xA;&gt;&gt; https://petertodd.org &#39;peter&#39;[:-1]@petertodd.org&#xA;&gt;&gt;&#xA;&gt;&gt; _______________________________________________&#xA;&gt;&gt; bitcoin-dev mailing list&#xA;&gt;&gt; bitcoin-dev at lists.linuxfoundation.org&#xA;&gt;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&gt;&gt;&#xA;&gt;&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;&#xA;&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20160510/e98fa60e/attachment-0001.html&gt;</html></oembed>