<oembed><type>rich</type><version>1.0</version><author_name>npub1ss2s89s938xfh3zzz0j2mhp25tlrlcrj0duljr0ne0t8v2r4cv0q5e0am4</author_name><author_url>https://nostr.ae/npub1ss2s89s938xfh3zzz0j2mhp25tlrlcrj0duljr0ne0t8v2r4cv0q5e0am4</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2017-05-22&#xA;📝 Original message:I also do not support the BIP 148 UASF, and I&#39;d like to add to the points&#xA;that Greg has already raised in this thread.&#xA;&#xA;BIP 148 would introduce a new consensus rule that softforks out non-segwit&#xA;signalling blocks in some time period.  I reject this consensus rule as&#xA;both arbitrary and needlessly disruptive.  Bitcoin&#39;s primary purpose is to&#xA;reach consensus on the state of a shared ledger, and even though I think&#xA;the Bitcoin network ought to adopt segwit, I don&#39;t think that concern&#xA;trumps the goal of not splitting the network.&#xA;&#xA;Many BIP 148 advocates seem to start with the assumption that segwit&#xA;already has a lot of support, and suggest that BIP 148 does as well.&#xA;However I don&#39;t think it&#39;s fair or correct to separate the activation&#xA;proposal for segwit from the rest of the segwit proposal.  The deployment&#xA;parameters for segwit are consensus-critical; assuming that some other&#xA;deployment has consensus because it would result in the rest of the segwit&#xA;proposal activating is an unjustified leap.&#xA;&#xA;Even if there were no feasible alternate segwit deployment method available&#xA;to us, I would hesitate to recommend that the network adopt a potentially&#xA;consensus-splitting approach, even though I firmly believe that the ideas&#xA;behind segwit are fundamentally good ones.  But fortunately that is not the&#xA;situation we are in; we have substantially less disruptive methods&#xA;available to us to activate it, even if the current BIP 9 deployment were&#xA;to fail -- such as another BIP 9 deployment in the future, or perhaps a BIP&#xA;149 deployment.&#xA;&#xA;If we do pursue a &#34;user-activated&#34; deployment of segwit, I&#39;d recommend that&#xA;we do so in a more careful way than BIP 148 or 149 currently suggest, which&#xA;as I understand would otherwise make very few changes to the current&#xA;implementation.  However, due to the BIP 9 activation assumption, the&#xA;Bitcoin Core 0.13.1 - 0.14.0 segwit implementation largely lumps together&#xA;the idea that miners would both enforce the rules and mine segwit blocks.&#xA;However, we can separate these concerns, as we started to do in the Bitcoin&#xA;Core 0.14.1 release, where mining segwit blocks is not required in order to&#xA;generally mine or signal for segwit in the software.  And we can go further&#xA;still: without too much work, we could make further improvements to&#xA;accommodate miners who, for whatever reason, don&#39;t want to upgrade their&#xA;systems, such as by improving block relay from pre-segwit peers [1], or&#xA;optimizing transaction selection for miners who are willing to enforce the&#xA;segwit rules but haven&#39;t upgraded their systems to mine segwit blocks [2].&#xA;&#xA;If we would seek to activate a soft-fork with less clear miner signaling&#xA;(such as BIP 149), then I think such improvements are warranted to minimize&#xA;network disruption.  In general, we should not seek to censor hashpower on&#xA;the network unless we have a very important reason for doing so.  While the&#xA;issues here are nuanced, if I were to evaluate the BIP 148 soft-fork&#xA;proposal on the spectrum of &#34;censorship attack on Bitcoin&#34; to &#34;benign&#xA;protocol upgrade&#34;, BIP 148 strikes me as closer to the former than the&#xA;latter.  There is simply no need here to orphan these non-signalling blocks&#xA;that could otherwise be used to secure the network.&#xA;&#xA;To go further: I think BIP 148 is ill-conceived even for achieving its own&#xA;presumed goals -- the motivation for adding a consensus rule that applies&#xA;to the version bits on blocks is surely for the effect such bits have on&#xA;older software, such as Bitcoin Core releases 0.13.1 and later.  Yet in&#xA;trying to bring those implementations along as segwit-enforcing software,&#xA;BIP 148 would risk forking from such clients in the short term!  If one&#xA;really cared about maintaining consensus with older, segwit-enabled&#xA;software, it would make far more sense to seek segwit activation in a way&#xA;that didn&#39;t fork from them (such as BIP 149, or a new BIP 9 deployment&#xA;after this one times out).  And if one doesn&#39;t care about such consensus,&#xA;then it&#39;d be far simpler to just set (e.g.) August 1 as the flag day&#xA;activation of segwit, and not play these contortionist games with block&#xA;version bits, which carry no useful or intrinsic meaning.  Either of these&#xA;two approaches should have the advantage of reduced fork risk, compared&#xA;with BIP 148.&#xA;&#xA;Of course, everyone is free to run the software of their choosing.  I write&#xA;this to both generally convey my opposition to a careless proposal, which I&#xA;believe represents a way of thinking that is detrimental to Bitcoin&#39;s long&#xA;run success, and specifically explain why I oppose inclusion of this&#xA;proposal in the Bitcoin Core implementation [3].  The Bitcoin Core project&#xA;hasn&#39;t been, and shouldn&#39;t be, careless in deploying consensus changes.&#xA;Instead, I think the Bitcoin Core project ought to stand up for the best&#xA;practices that our community has learned about how to deploy such changes&#xA;(specifically for minimizing chain-split risk when deploying a soft fork!),&#xA;and I think we should all avoid adoption or encouragement of practices that&#xA;would depart from the high standards we are capable of achieving.&#xA;&#xA;&#xA; [1] https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017&#xA;-March/013811.html&#xA; [2] https://github.com/bitcoin/bitcoin/pull/9955&#xA; [3] https://github.com/bitcoin/bitcoin/pull/10428#issuecomment-303098925&#xA;&#xA;&#xA;--Suhas Daftuar&#xA;&#xA;&#xA;On Fri, Apr 14, 2017 at 3:56 AM, Gregory Maxwell via bitcoin-dev &lt;&#xA;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&#xA;&gt; I do not support the BIP148 UASF for some of the same reasons that I&#xA;&gt; do support segwit:  Bitcoin is valuable in part because it has high&#xA;&gt; security and stability, segwit was carefully designed to support and&#xA;&gt; amplify that engineering integrity that people can count on now and&#xA;&gt; into the future.&#xA;&gt;&#xA;&gt; I do not feel the the approach proposed in BIP148 really measures up&#xA;&gt; to the standard set by segwit itself, or the existing best practices&#xA;&gt; in protocol development in this community.&#xA;&gt;&#xA;&gt; The primary flaw in BIP148 is that by forcing the activation of the&#xA;&gt; existing (non-UASF segwit) nodes it almost guarantees at a minor level&#xA;&gt; of disruption.&#xA;&gt;&#xA;&gt; Segwit was carefully engineered so that older unmodified miners could&#xA;&gt; continue operating _completely_ without interruption after segwit&#xA;&gt; activates.&#xA;&gt;&#xA;&gt; Older nodes will not include segwit spends, and so their blocks will&#xA;&gt; not be invalid even if they do not have segwit support. They can&#xA;&gt; upgrade to it on their own schedule. The only risk non-participating&#xA;&gt; miners take after segwit activation is that if someone else mines an&#xA;&gt; invalid block they would extend it, a risk many miners already&#xA;&gt; frequently take with spy-mining.&#xA;&gt;&#xA;&gt; I do not think it is a horrible proposal: it is better engineered than&#xA;&gt; many things that many altcoins do, but just not up to our normal&#xA;&gt; standards. I respect the motivations of the authors of BIP 148.  If&#xA;&gt; your goal is the fastest possible segwit activation then it is very&#xA;&gt; useful to exploit the &gt;80% of existing nodes that already support the&#xA;&gt; original version of segwit.&#xA;&gt;&#xA;&gt; But the fastest support should not be our goal, as a community-- there&#xA;&gt; is always some reckless altcoin or centralized system that can support&#xA;&gt; something faster than we can-- trying to match that would only erode&#xA;&gt; our distinguishing value in being well engineered and stable.&#xA;&gt;&#xA;&gt; &#34;First do no harm.&#34; We should use the least disruptive mechanisms&#xA;&gt; available, and the BIP148 proposal does not meet that test.  To hear&#xA;&gt; some people-- non-developers on reddit and such-- a few even see the&#xA;&gt; forced orphaning of 148 as a virtue, that it&#39;s punitive for&#xA;&gt; misbehaving miners. I could not not disagree with that perspective any&#xA;&gt; more strongly.&#xA;&gt;&#xA;&gt; Of course, I do not oppose the general concept of a UASF but&#xA;&gt; _generally_ a soft-fork (of any kind) does not need to risk disruption&#xA;&gt; of mining, just as segwit&#39;s activation does not.  UASF are the&#xA;&gt; original kind of soft-fork and were the only kind of fork practiced by&#xA;&gt; Satoshi. P2SH was activated based on a date, and all prior ones were&#xA;&gt; based on times or heights.  We introduced miner based activation as&#xA;&gt; part of a process of making Bitcoin more stable in the common case&#xA;&gt; where the ecosystem is all in harmony.  It&#39;s kind of weird to see UASF&#xA;&gt; portrayed as something new.&#xA;&gt;&#xA;&gt; It&#39;s important the users not be at the mercy of any one part of the&#xA;&gt; ecosystem to the extent that we can avoid it-- be it developers,&#xA;&gt; exchanges, chat forums, or mining hardware makers.  Ultimately the&#xA;&gt; rules of Bitcoin work because they&#39;re enforced by the users&#xA;&gt; collectively-- that is what makes Bitcoin Bitcoin, it&#39;s what makes it&#xA;&gt; something people can count on: the rules aren&#39;t easy to just change.&#xA;&gt;&#xA;&gt; There have been some other UASF proposals that avoid the forced&#xA;&gt; disruption-- by just defining a new witness bit and allowing&#xA;&gt; non-upgraded-to-uasf miners and nodes to continue as non-upgraded, I&#xA;&gt; think they are vastly superior. They would be slower to deploy, but I&#xA;&gt; do not think that is a flaw.&#xA;&gt;&#xA;&gt; We should have patience. Bitcoin is a system that should last for all&#xA;&gt; ages and power mankind for a long time-- ten years from now a couple&#xA;&gt; years of dispute will seem like nothing. But the reputation we earn&#xA;&gt; for stability and integrity, for being a system of money people can&#xA;&gt; count on will mean everything.&#xA;&gt;&#xA;&gt; If these discussions come up, they&#39;ll come up in the form of reminding&#xA;&gt; people that Bitcoin isn&#39;t easily changed at a whim, even when the&#xA;&gt; whims are obviously good, and how that protects it from being managed&#xA;&gt; like all the competing systems of money that the world used to use&#xA;&gt; were managed. :)&#xA;&gt;&#xA;&gt; So have patience, don&#39;t take short cuts.  Segwit is a good improvement&#xA;&gt; and we should respect it by knowing that it&#39;s good enough to wait for,&#xA;&gt; and for however its activated to be done the best way we know how.&#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/20170522/8cfe10a6/attachment-0001.html&gt;</html></oembed>