<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:2015-12-08&#xA;📝 Original message:On Tue, Dec 8, 2015 at 3:12 PM, Gavin Andresen via bitcoin-dev&#xA;&lt;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt; Why segwitness as a soft fork? Stuffing the segwitness merkle tree in the&#xA;&gt; coinbase is messy and will just complicate consensus-critical code (as&#xA;&gt; opposed to making the right side of the merkle tree in block.version=5&#xA;&gt; blocks the segwitness data).&#xA;&#xA;It&#39;s nearly complexity-costless to put it in the coinbase transaction.&#xA;Exploring the costs is one of the reasons why this was implemented&#xA;first.&#xA;&#xA;We already have consensus critical enforcement there, the height,&#xA;which has almost never been problematic. (A popular block explorer&#xA;recently misimplemented the var-int decode and suffered an outage).&#xA;&#xA;And most but not all prior commitment proposals have suggested the&#xA;same or similar.  The exact location is not that critical, however,&#xA;and we do have several soft-fork compatible options.&#xA;&#xA;&gt; It will also make any segwitness fraud proofs significantly larger (merkle&#xA;&gt; path versus  merkle path to coinbase transactions, plus ENTIRE coinbase&#xA;&gt; transaction, which might be quite large, plus merkle path up to root).&#xA;&#xA;Yes, it will make them larger by log2() the number of transaction in a&#xA;block which is-- say-- 448 bytes.&#xA;&#xA;With the coinbase transaction thats another couple kilobytes, I think&#xA;this is negligible.&#xA;&#xA;&gt;From a risk reduction perspective, I think it is much preferable to&#xA;perform the primary change in a backwards compatible manner, and pick&#xA;up the data reorganization in a hardfork if anyone even cares.&#xA;&#xA;I think thats generally a nice cadence to split up risks that way; and&#xA;avoid controversy.&#xA;&#xA;&gt; We also need to fix the O(n^2) sighash problem as an additional BIP for ANY&#xA;&gt; blocksize increase.&#xA;&#xA;The witness data is never an input to sighash, so no, I don&#39;t agree&#xA;that this holds for &#34;any&#34; increase.&#xA;&#xA;&gt; Segwitness will make the current bottleneck (block propagation) a little&#xA;&gt; worse in the short term, because of the extra fraud-proof data.  Benefits&#xA;&gt; well worth the costs.&#xA;&#xA;The fraud proof data is deterministic, full nodes could skip sending&#xA;it between each other, if anyone cared; but the overhead is pretty&#xA;tiny in any case.&#xA;&#xA;&gt; I think a barrier to quickly getting consensus might be a fundamental&#xA;&gt; difference of opinion on this:&#xA;&gt;    &#34;Even without them I believe we’ll be in an acceptable position with&#xA;&gt; respect to capacity in the near term&#34;&#xA;&gt;&#xA;&gt; The heaviest users of the Bitcoin network (businesses who generate tens of&#xA;&gt; thousands of transactions per day on behalf of their customers) would&#xA;&gt; strongly disgree; the current state of affairs is NOT acceptable to them.&#xA;&#xA;My message lays out a plan for several different complementary&#xA;capacity advances; it&#39;s not referring to the current situation--&#xA;though the current capacity situation is no emergency.&#xA;&#xA;I believe it already reflects the emerging consensus in the Bitcoin&#xA;Core project; in terms of the overall approach and philosophy, if not&#xA;every specific technical detail. It&#39;s not a forever plan, but a&#xA;pragmatic one that understand that the future is uncertain no matter&#xA;what we do; one that trusts that we&#39;ll respond to whatever&#xA;contingencies surprise us on the road to success.</html></oembed>