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