<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-04-05&#xA;📝 Original message:On Wed, Apr 5, 2017 at 11:05 PM, theymos via bitcoin-dev&#xA;&lt;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt; This seems to be a serious security problem.  Would it be possible to have&#xA;&gt; a flag-day softfork included in Bitcoin Core as soon as 0.14.1? I think that a trigger&#xA;&gt; 3-6 months from release should be sufficient for enough of the economy to upgrade,&#xA;&gt; given the severity of the issue.&#xA;&#xA;Not 0.14.1 because that is in RC already and will hopefully be out in a week.&#xA;&#xA;I think the speed of adoption depends a lot of the level of support&#xA;from the community. I don&#39;t believe there are any technical hurdles to&#xA;implementing this relatively quickly (and I specifically propose using&#xA;the users choice of the segwit commitment or a modified form in order&#xA;to lower the technical complexity and risk).&#xA;&#xA;&gt; BIP 141 says that the the commitment is optional if there are no SegWit transactions in&#xA;&gt; the block,  so will today&#39;s SegWit-ready miners always produce it even when optional&#xA;&gt; according to BIP 141, as required by this softfork?&#xA;&#xA;This is the default behavior as of 0.13.2, but I haven&#39;t gone out to&#xA;measure this which is why the backwards compatibility section of the&#xA;BIP isn&#39;t written yet.&#xA;&#xA;&#xA;While I&#39;m posting, I&#39;ve had a dozen off-list emails that presented me&#xA;with some FAQ:&#xA;&#xA;Many people asked what other protocol upgrades beyond segwit could run&#xA;into the same incompatibility.&#xA;&#xA;Many proposed improvements to Bitcoin require additional&#xA;transaction-dependent commitment data.&#xA;&#xA;Examples include:&#xA;&#xA;(1) Segwit.&#xA;(2) UTXO commitments. (non-delayed, at least)&#xA;(3) Committed Bloom filters&#xA;(4) Committed address indexes&#xA;(5) STXO commitments (non-delayed).&#xA;(6) Weak blocks&#xA;(7) Most kinds of fraud proofs&#xA;-- to state a few.&#xA;&#xA;Unfortunately, putting *any* commitment to data dependent on the right&#xA;hand side of the hash tree in the left hand side (e.g. coinbase) means&#xA;a massive increase in the computation required for covert boosting,&#xA;because it means you can&#39;t use the left+right side combinations to&#xA;eliminate most of the hashing.&#xA;&#xA;It&#39;s plausible, in fact, that this extra computation could completely&#xA;nullify the ASICBOOST advantage-- though this depends a lot on the&#xA;fine details of the implementation.&#xA;&#xA;This proposal does not itself propose nullifying ASICBOOST entirely,&#xA;it proposes severely handicapping the covert form of it, and&#xA;eliminating the differential advantage for boosting miners related to&#xA;the use of transaction-dependent commitments.&#xA;&#xA;Basically there are two completely separate concerns: that boosting&#xA;can produce a monopoly advantage which could be severely harmful to&#xA;the ecosystem, and that the efficient implementation of _covert_&#xA;boosting can severely harm many useful protocol improvements.   My&#xA;proposal only addresses the second concern, by (I believe) completely&#xA;leveling the playing field so that opposing commitments will not break&#xA;boosting any worse, and by making covert boosting less appealing in&#xA;general.&#xA;&#xA;Use of the segwit-style commitment even in non-segwit blocks is sufficient&#xA;because the segwit commitment commits to all  transactions  (except&#xA;the coinbase) and not just segwit ones.&#xA;(It was designed this way so that lite clients that needed witness&#xA;data could work with just one tree).</html></oembed>