<oembed><type>rich</type><version>1.0</version><author_name>npub1r3san9v5njl6798hvauyu9ntm6r9c7u8s0t65wls58gpfdcvqp5sa48d0u</author_name><author_url>https://nostr.ae/npub1r3san9v5njl6798hvauyu9ntm6r9c7u8s0t65wls58gpfdcvqp5sa48d0u</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-12-09&#xA;📝 Original message:Greg, if you have actual data showing that putting the commitment in the&#xA;last transaction would be disruptive, and how disruptive, that would be&#xA;appreciated. Of the mining hardware I have looked at, none of it cared at&#xA;all what transactions other than the coinbase are. You need to provide a&#xA;path to the coinbase for extranonce rolling, but the witness commitment&#xA;wouldn&#39;t need to be updated.&#xA;&#xA;I&#39;m sorry but it&#39;s not clear how this would be an incompatible upgrade,&#xA;disruptive to anything other than the transaction selection code. Maybe I&#39;m&#xA;missing something? I&#39;m not familiar with all the hardware or pooling setups&#xA;out there.&#xA;&#xA;On Wed, Dec 9, 2015 at 2:29 PM, Gregory Maxwell via bitcoin-dev &lt;&#xA;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&#xA;&gt; On Wed, Dec 9, 2015 at 4:44 AM, Ryan Butler &lt;rryananizer at gmail.com&gt; wrote:&#xA;&gt; &gt;&gt;I agree, but nothing I have advocated creates significant technical&#xA;&gt; &gt;&gt;debt. It is also a bad engineering practice to combine functional&#xA;&gt; &gt;&gt;changes (especially ones with poorly understood system wide&#xA;&gt; &gt;&gt;consequences and low user autonomy) with structural tidying.&#xA;&gt; &gt;&#xA;&gt; &gt; I don&#39;t think I would classify placing things in consensus critical code&#xA;&gt; &gt; when it doesn&#39;t need to be as &#34;structural tidying&#34;.  Gavin said &#34;pile on&#34;&#xA;&gt; &gt; which you took as implying &#34;a lot&#34;, he can correct me, but I believe he&#xA;&gt; &gt; meant &#34;add to&#34;.&#xA;&gt;&#xA;&gt; Nothing being discussed would move something from consensus critical&#xA;&gt; code to not consensus critical.&#xA;&gt;&#xA;&gt; What was being discussed was the location of the witness commitment;&#xA;&gt; which is consensus critical regardless of where it is placed. Should&#xA;&gt; it be placed in an available location which is compatible with the&#xA;&gt; existing network, or should the block hashing data structure&#xA;&gt; immediately be changed in an incompatible way to accommodate it in&#xA;&gt; order to satisfy an ascetic sense of purity and to make fraud proofs&#xA;&gt; somewhat smaller?&#xA;&gt;&#xA;&gt; I argue that the size difference in the fraud proofs is not&#xA;&gt; interesting, the disruption to the network in an incompatible upgrade&#xA;&gt; is interesting; and that if it really were desirable reorganization to&#xA;&gt; move the commitment point could be done as part of a separate change&#xA;&gt; that changes only the location of things (and/or other trivial&#xA;&gt; adjustments); and that proceeding int this fashion would minimize&#xA;&gt; disruption and risk... by making the incompatible changes that will&#xA;&gt; force network wide software updates be as small and as simple as&#xA;&gt; possible.&#xA;&gt;&#xA;&gt; &gt;&gt; (especially ones with poorly understood system wide consequences and low&#xA;&gt; &gt;&gt; user autonomy)&#xA;&gt; &gt;&#xA;&gt; &gt; This implies there you have no confidence in the unit tests and&#xA;&gt; functional&#xA;&gt; &gt; testing around Bitcoin and should not be a reason to avoid refactoring.&#xA;&gt; &gt; It&#39;s more a reason to increase testing so that you will have confidence&#xA;&gt; when&#xA;&gt; &gt; you refactor.&#xA;&gt;&#xA;&gt; I am speaking from our engineering experience in a  public,&#xA;&gt; world-wide, multi-vendor, multi-version, inter-operable, distributed&#xA;&gt; system which is constantly changing and in production contains private&#xA;&gt; code, unknown and assorted hardware, mixtures of versions, unreliable&#xA;&gt; networks, undisclosed usage patterns, and more sources of complex&#xA;&gt; behavior than can be counted-- including complex economic incentives&#xA;&gt; and malicious participants.&#xA;&gt;&#xA;&gt; Even if we knew the complete spectrum of possible states for the&#xA;&gt; system the combinatioric explosion makes complete testing infeasible.&#xA;&gt;&#xA;&gt; Though testing is essential one cannot &#34;unit test&#34; away all the risks&#xA;&gt; related to deploying a new behavior in the network.&#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;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20151209/5924c67f/attachment.html&gt;</html></oembed>