<oembed><type>rich</type><version>1.0</version><author_name>npub18cagy0gpu9gmpdcu6052xg0fnp86cm0m5gsanv6j25myfecdjqhqsw4acy</author_name><author_url>https://nostr.ae/npub18cagy0gpu9gmpdcu6052xg0fnp86cm0m5gsanv6j25myfecdjqhqsw4acy</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2021-02-23&#xA;📝 Original message:Relative to your arguments, Keagan and Jeremy, and speaking in favor of&#xA;LOT=false, from my limited perspective:&#xA;&#xA;&gt; As Jeremy points out, the LOT=true possibility always exists here, and we&#xA;have multiple high profile people saying they will be running that&#xA;regardless of how things turn out. It seems to me that in this scenario,&#xA;LOT=false does less to prevent a chain split.&#xA;&gt; So if the goal is to prevent a chain split, and the soft fork is benign&#xA;and essentially &#34;annexing unoccupied territory&#34; with respect to script&#xA;versions, and no one actually has opposed Taproot itself, then I fail to&#xA;see how LOT=false is safer in the presence of a grenade defense by the&#xA;LOT=true crowd.&#xA;&#xA;I don&#39;t believe the goal is to avoid a chain split, nor to activate&#xA;Taproot. Over the long term it will not have been important when exactly&#xA;Taproot activated, or whether a minority forked off, but what culture and&#xA;norms we adopted in putting forward this change. A culture of deference to&#xA;the network makes Core worthy of remaining the reference implementation of&#xA;Bitcoin.&#xA;&#xA;Given Core&#39;s special position in the client ecosystem, I see these outcomes&#xA;are asymmetric:&#xA;a) If an intolerant minority signals LOT=true in contradiction to core,&#xA;they are splitting consensus / forking off consensus, which is their right&#xA;to do in our open ecosystem.&#xA;b) If Core ships LOT=true, we are in fact imposing a change on the network.&#xA;This may be justified in the end, but it should be used with discretion.&#xA;&#xA;If LOT=false fails to activate, then the failure will have revealed&#xA;information about sentiments and elements of the network, and we will have&#xA;an opportunity then to address that information before proceeding with&#xA;LOT=true.&#xA;&#xA;To adopt b) as a pre-emptive defense against a) is to express will without&#xA;evidence of necessity or opportunity for justification.&#xA;&#xA;Finally, as others have said, I think this option is likely to be moot -&#xA;let&#39;s not act defensively out of SEGWIT trauma, but with trust in the&#xA;network.&#xA;&#xA;Best,&#xA;Ben&#xA;&#xA;On Tue, Feb 23, 2021 at 12:09 PM Keagan McClelland via bitcoin-dev &lt;&#xA;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&#xA;&gt; I wanted to follow up on what Jeremy and others are saying regards finding&#xA;&gt; consensus on LOT. I&#39;ve seen a few other opinions saying that finding&#xA;&gt; consensus on the LOT value is far more important than what the LOT value&#xA;&gt; actually is. This makes sense because if 100% of economic activity is&#xA;&gt; running the same rule set, there is no divergence, regardless of which&#xA;&gt; value is picked.&#xA;&gt;&#xA;&gt; It is my understanding that those who oppose LOT=true are mostly opposed&#xA;&gt; on the grounds of it *appearing* &#34;unnecessarily coercive&#34; and that this&#xA;&gt; lack of consensus can precipitate a chain split at the&#xA;&gt; &#34;brinksmanship period&#34; as Jeremy refers to it. I don&#39;t think that we can&#xA;&gt; say that LOT=true is coercive at all unless there is some opposition to&#xA;&gt; Taproot itself. Opposition on the grounds that it *may* be opposed by&#xA;&gt; others and Core does not want to assert control over the protocol is a&#xA;&gt; conservative view but ultimately contingent upon opposition to Taproot for&#xA;&gt; more fundamental reasons. If no one opposes it, then by definition you have&#xA;&gt; consensus, and in that case I also don&#39;t think that the LOT=true (or false)&#xA;&gt; in that regard sets meaningful precedent, as I would expect precedents to&#xA;&gt; only be meaningful if they were established during a contentious scenario.&#xA;&gt; As it stands we have precedents for both MASF&#39;s and UASF&#39;s to execute soft&#xA;&gt; forks in Bitcoin.&#xA;&gt;&#xA;&gt; Of course it seems intractable to ascertain the views of ~100% of the&#xA;&gt; Bitcoin constituency, and therefore it gives credibility to the argument&#xA;&gt; that by coming to consensus on LOT=false among those who *are* speaking&#xA;&gt; up is safer with the embedded assumptions that modifying consensus beyond&#xA;&gt; what core ships is an active choice, presumably by those who know what they&#xA;&gt; are doing. However, the simple act of Core choosing to ship an&#xA;&gt; unconfigurable LOT=false value does not *prevent* the forking and&#xA;&gt; creation of a UASF client. As Jeremy points out, the LOT=true possibility&#xA;&gt; always exists here, and we have multiple high profile people saying they&#xA;&gt; will be running that regardless of how things turn out. It seems to me that&#xA;&gt; in this scenario, LOT=false does less to prevent a chain split.&#xA;&gt;&#xA;&gt; In regards to precedent, there may be good reasons to force that minority&#xA;&gt; to fork themselves off the network, as would be the case if a hypothetical&#xA;&gt; soft fork was a consensus action to blacklist some UTXO&#39;s or something else&#xA;&gt; that weaponizes consensus against some subset of Bitcoin&#39;s user base, but I&#xA;&gt; haven&#39;t heard a single person who advocates for LOT=false on the grounds&#xA;&gt; that they *themselves* oppose the consensus change that is being proposed&#xA;&gt; here. So if the goal is to prevent a chain split, and the soft fork is&#xA;&gt; benign and essentially &#34;annexing unoccupied territory&#34; with respect to&#xA;&gt; script versions, and no one actually has opposed Taproot itself, then I&#xA;&gt; fail to see how LOT=false is safer in the presence of a grenade defense by&#xA;&gt; the LOT=true crowd.&#xA;&gt;&#xA;&gt; I personally *prefer* LOT=true for these reasons, but I am NOT going to&#xA;&gt; be joining the ranks of the intolerant minority if Core ultimately ships&#xA;&gt; LOT=false. I think it is more important to stay in consensus, and as a&#xA;&gt; result I am able to be convinced that false is the right answer. My&#xA;&gt; question to everyone else (true AND false advocates) is this: what would&#xA;&gt; you have to observe, in order to change your mind or is it immutably made&#xA;&gt; up? If we have a significant portion of the community that is immutably&#xA;&gt; made up to go false, and another portion that is going to go true, the&#xA;&gt; asymmetry of the fork almost *requires* that those of us whose opinions&#xA;&gt; are malleable to break for true.&#xA;&gt;&#xA;&gt; If social consensus is what drives technical consensus and not the other&#xA;&gt; way around it seems as if there cannot exist a valid (rational?) reason to&#xA;&gt; oppose Taproot itself, and then by extension with the arguments laid out&#xA;&gt; above, LOT=true seems to be the logical conclusion of all of this, even if&#xA;&gt; Core ships LOT=false at the outset.&#xA;&gt;&#xA;&gt; Where am I wrong here?&#xA;&gt;&#xA;&gt; Keagan&#xA;&gt;&#xA;&gt; On Mon, Feb 22, 2021 at 7:11 PM Jeremy via bitcoin-dev &lt;&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt;&#xA;&gt;&gt; Not responding to anyone in particular, but it strikes me that one can&#xA;&gt;&gt; think about the case where a small minority (let&#39;s say H = 20%?) of nodes&#xA;&gt;&gt; select the opposite of what Core releases (LOT=false, LOT=true). I&#39;m&#xA;&gt;&gt; ignoring the case where a critical bug is discovered in Taproot for reasons&#xA;&gt;&gt; I could expand on if anyone is interested (I don&#39;t think LOT=true/false has&#xA;&gt;&gt; much of a diff in that regard).&#xA;&gt;&gt;&#xA;&gt;&gt; You&#39;ll note an asymmetry with LOT=true / false analysis. LOT=true nodes&#xA;&gt;&gt; are clearly updated (or lying), LOT=false nodes may be un-upgraded (or&#xA;&gt;&gt; however you want to interpret it).&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; *# 80% on LOT=false, 20% LOT=True*&#xA;&gt;&gt;&#xA;&gt;&gt; - Case 1: Activates ahead of time anyways&#xA;&gt;&gt;&#xA;&gt;&gt; No issues.&#xA;&gt;&gt;&#xA;&gt;&gt; - Case 2: Fails to Activate before timeout...&#xA;&gt;&gt;&#xA;&gt;&gt; 20% *may* fork off with LOT=true. Bitcoin hashrate reduced, chance of&#xA;&gt;&gt; multi block reorgs at time of fork relatively high, especially if network&#xA;&gt;&gt; does not partition.&#xA;&gt;&gt;&#xA;&gt;&gt; Implication is that activation % being 90%, then X% fewer than 70% of&#xA;&gt;&gt; miners are signaling for Taproot at this time.  If X% is small the&#xA;&gt;&gt; increased orphan rate caused by the LOT=true miners will cause it to&#xA;&gt;&gt; activate anyways. If X% is larger, then there will be a consensus split.&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; *# 80% on LOT=true, 20% LOT=False*&#xA;&gt;&gt; - Case 1: Activates ahead of time Anyways&#xA;&gt;&gt;&#xA;&gt;&gt; No issues.&#xA;&gt;&gt;&#xA;&gt;&gt; - Case 2: Fails to Activate before timeout...&#xA;&gt;&gt;&#xA;&gt;&gt; A% + B% + C% = 20%&#xA;&gt;&gt;&#xA;&gt;&gt; A% (upgraded, signal activate) remain on majority chain with LOT=false,&#xA;&gt;&gt; blocks mined universally valid.&#xA;&gt;&gt;&#xA;&gt;&gt; B% (upgraded, not signaling) succeeds in activating and maintaining&#xA;&gt;&gt; consensus, blocks are temporarily lost during the final period, but&#xA;&gt;&gt; consensus re-emerges.&#xA;&gt;&gt;&#xA;&gt;&gt; C% (not upgraded/not signalling) both fail to activate (not upgraded) and&#xA;&gt;&gt; blocks are rejected (not signaling) during mandatory signalling.&#xA;&gt;&gt; Essentially becomes an SPV miner, should still not select transactions&#xA;&gt;&gt; improperly given mempool policy, but may mine a bad tip.&#xA;&gt;&gt;&#xA;&gt;&gt; (I argue that group B is irrational entirely, as in this case the&#xA;&gt;&gt; majority has upgraded, inevitably winning, and is orphaning their blocks so&#xA;&gt;&gt; B should effectively be 0% or can be combined with group C as being somehow&#xA;&gt;&gt; not upgraded if they are unable to switch once it becomes clear after say&#xA;&gt;&gt; the first 100 blocks in the period that LOT &gt; 50%. The only difference in&#xA;&gt;&gt; lumping B with C is that group C SPV mines after the fork and B should, in&#xA;&gt;&gt; theory, have full validation.).&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; Apologies if my base analysis is off -- happy to take corrections.&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; My overall summary is thus:&#xA;&gt;&gt;&#xA;&gt;&gt; 1) People care what Core releases because we assume the majority will&#xA;&gt;&gt; likely run it. If core were a minority project, we wouldn&#39;t really care&#xA;&gt;&gt; what core released.&#xA;&gt;&gt; 2) People are upset with LOT=true being suggested as release parameters&#xA;&gt;&gt; because of the *narrative* that it puts devs in control.&#xA;&gt;&gt; 3) LOT=true having a sizeable minority running it presents major issues&#xA;&gt;&gt; to majority LOT=false in terms of lost blocks during the final period and&#xA;&gt;&gt; in terms of a longer term fork.&#xA;&gt;&gt; 4) Majority LOT=true has no long term instability on consensus (majority&#xA;&gt;&gt; LOT=true means the final period always activates, any instability is short&#xA;&gt;&gt; lived + irrational).&#xA;&gt;&gt; 5) On the balance, the safer parameter to release *seems* to be LOT=true.&#xA;&gt;&gt; But because devs are sensitive to control narrative, LOT=false is preferred&#xA;&gt;&gt; by devs.&#xA;&gt;&gt; 6) Almost paradoxically, choosing a *less safe* option for a narrative&#xA;&gt;&gt; reason is more of a show of dev control than choosing a more safe option&#xA;&gt;&gt; despite appearances.&#xA;&gt;&gt; 7) This all comes down to if we think that a reasonable number of&#xA;&gt;&gt; important nodes will run LOT=true.&#xA;&gt;&gt; 8) This all doesn&#39;t matter *that much* because taproot will have many&#xA;&gt;&gt; opportunities to activate before the brinksmanship period.&#xA;&gt;&gt;&#xA;&gt;&gt; As a plan of action, I think that means that either:&#xA;&gt;&gt;&#xA;&gt;&gt; A) Core should release LOT=true, as a less disruptive option given stated&#xA;&gt;&gt; community intentions to do LOT=true&#xA;&gt;&gt; B) Core  community should vehemently anti-advocate running LOT=true to&#xA;&gt;&gt; ensure the % is as small as possible&#xA;&gt;&gt; C) Do nothing&#xA;&gt;&gt; D) Core community should release LOT=false and vehemently advocate&#xA;&gt;&gt; manually changing to LOT=true to ensure the % is supermajority, but leaving&#xA;&gt;&gt; it as a user choice.&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; Overall, I worry that plan B has a mild Streissand effect and would&#xA;&gt;&gt; result in boosting LOT=true (which could be OK, so long as LOT=true +&#xA;&gt;&gt; LOT=false+signal yes becomes the large majority, but would be not fun for&#xA;&gt;&gt; anyone if LOT=true + LOT=false+signal yes are a small majority). Plan C&#xA;&gt;&gt; most likely ends up with some % doing LOT=true anyways. D feels a little&#xA;&gt;&gt; silly, but maybe a good tradeoff.&#xA;&gt;&gt;&#xA;&gt;&gt; If I had to summarize the emotional dynamic among developers around&#xA;&gt;&gt; LOT=true, I think devs wish it didn&#39;t exist because it is clear LOT=true&#xA;&gt;&gt; *creates* the issues here. LOT=false would be fine if the LOT=true strategy&#xA;&gt;&gt; didn&#39;t exist at all. But unfortunately the cat is out of the bag and cannot&#xA;&gt;&gt; be put back in. To validate the emotions, I think it is fine to be angry&#xA;&gt;&gt; about LOT=true and not like it, but we should either accept that it is most&#xA;&gt;&gt; likely to create consensus OR we should find a new game theoretic&#xA;&gt;&gt; activation strategy with better pro-social equilibriums.&#xA;&gt;&gt;&#xA;&gt;&gt; Personally, I think with either plan the ultimate risk of forking is low&#xA;&gt;&gt; given probability to activate before timeout, so we should just pick&#xA;&gt;&gt; something and move on, accepting that we aren&#39;t setting a precedent by&#xA;&gt;&gt; which all future forks should abide. Given my understanding of the&#xA;&gt;&gt; tradeoffs, I believe that the safest choice is LOT=true, but I wouldn&#39;t&#xA;&gt;&gt; move to hold back a plan of LOT=false (but would probably take mitigative&#xA;&gt;&gt; steps on community advocacy if it looks like there is non majority but non&#xA;&gt;&gt; negligible LOT=true uptake).&#xA;&gt;&gt;&#xA;&gt;&gt; Cheers,&#xA;&gt;&gt;&#xA;&gt;&gt; Jeremy&#xA;&gt;&gt;&#xA;&gt;&gt;&#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; 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/20210223/90c7bfe1/attachment-0001.html&gt;</html></oembed>