{"type":"rich","version":"1.0","author_name":"npub17w8rw3wtcr03zdsdjhmcj37w0g6l79gsspleltsznexdktv0qw0qd3nc05","author_url":"https://nostr.ae/npub17w8rw3wtcr03zdsdjhmcj37w0g6l79gsspleltsznexdktv0qw0qd3nc05","provider_name":"njump","provider_url":"https://nostr.ae","html":"📅 Original date posted:2017-04-07\n📝 Original message:I've gotten feedback from Adam Back that you actually don't need all 32\nbits in the header for overt ASICBoost, so I'm modifying my proposal. Of\nthe 32-bit version field, bits 16 to 23 are reserved for miners, the\nwitness commitment stays as defined in BIP-141 except that it's now\nrequired. BIP9 then is modified so that bits 16 to 23 are now no longer\nusable.\n\nOn Fri, Apr 7, 2017 at 3:06 PM, Jimmy Song \u003cjaejoon at gmail.com\u003e wrote:\n\n\u003e Hey everyone, This is an idea that I had about Segwit and Gregory's\n\u003e proposal from yesterday that I wanted to run by everyone on this list. I'm\n\u003e not at all sure what this would mean for non-upgraded nodes on the network\n\u003e and would like feedback on that. This is not a formal BIP as it's a\n\u003e modification to a previously submitted one, but I'm happy to formalize it\n\u003e if it would help.\n\u003e ----------------------------------------\n\u003e MotivationOne of the interesting aspects of Gregory Maxwell’s proposal is\n\u003e that it only precludes the covert version of ASICBoost. He specifically\n\u003e left the overt version alone.\n\u003e\n\u003e Overt ASICBoost requires grinding on the version bits of the Block header\n\u003e instead of the Merkle Root. This is likely more efficient than the Merkle\n\u003e Root grinding (aka covert ASICBoost) and requires way less resources\n\u003e (much less RAM, SHA256 calculations, no tx shuffling, etc).\n\u003e\n\u003e If we combine Gregory Maxwell’s proposal with BIP-141 (Segwit) and add a\n\u003e slight modification, this should, in theory, make ASICBoost a lot more\n\u003e useful to miners and appeal to their financial interests.\n\u003e The Modification\n\u003e\n\u003e Currently, the version bits (currently 4 bytes, or 32 bits) in the header\n\u003e are used for BIP9 signaling. We change the version bits to a nonce-space so\n\u003e the miners can use it for overt ASICBoost. The 32-bits are now moved over\n\u003e to the Coinbase transaction as part of the witness commitment. The witness\n\u003e commitment goes from 38 bytes to 42 bytes, with the last 4 bytes being used\n\u003e as the version bits in the block header previously. The witness commitment\n\u003e becomes required as per Gregory Maxwell’s proposal.\n\u003e Reasoning\n\u003e\n\u003e First, this brings ASICBoost out into the open. Covert ASICBoost becomes\n\u003e much more costly and overt ASICBoost is now encouraged.\n\u003e\n\u003e Second, we can make this change relatively quickly. Most of the Segwit\n\u003e testing stays valid and this change can be deployed relatively quickly.\n\u003e\n\u003e Note on SPV clients\n\u003e\n\u003e Currently Segwit stores the witness commitment in the Coinbase tx, so\n\u003e lightweight clients will need to get the Coinbase tx + Merkle proof to\n\u003e validate segwit transactions anyway. Putting block version information in\n\u003e the Coinbase tx will not impose an extra burden on upgraded light clients.\n\u003e\n-------------- next part --------------\nAn HTML attachment was scrubbed...\nURL: \u003chttp://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20170407/8f71b5b3/attachment.html\u003e"}
