<oembed><type>rich</type><version>1.0</version><author_name>npub13adulxazm6ydmpm6vuhk9xjudfa7h0k687j3xfzjrcpcv0v0uz2qz9uc29</author_name><author_url>https://nostr.ae/npub13adulxazm6ydmpm6vuhk9xjudfa7h0k687j3xfzjrcpcv0v0uz2qz9uc29</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2021-03-01&#xA;📝 Original message:How about a compromise?&#xA;&#xA;With LOT=false, taproot will be activated if at least 95% of the miners &#xA;vote yes.&#xA;With LOT=true, taproot will be activated if at least 0% of the miners &#xA;vote yes.&#xA;...with LOT=maybe, taproot will be activated if at least ~some% of the &#xA;miners vote yes?&#xA;&#xA;If you want the &#39;emergency cancel&#39; feature without binding yourself to &#xA;it, couldn&#39;t you have some middle-of-the-road solution? &#34;Taproot will be &#xA;enabled if miner support ever goes above 95%, or on flag day if miner &#xA;support is &gt;20% then&#34;. That would prevent obstreperous miners from doing &#xA;too much damage, while still hopefully making it possible to bail out of &#xA;a disaster.&#xA;&#xA;On 2021-03-01 15:06, Anthony Towns via bitcoin-dev wrote:&#xA;&gt; On Sun, Feb 28, 2021 at 07:33:30PM +0000, Luke Dashjr via bitcoin-dev &#xA;&gt; wrote:&#xA;&gt;&gt; As we saw in 2017 with BIP 9, coordinating activation by miner signal &#xA;&gt;&gt; alone,&#xA;&gt;&gt; despite its potential benefits, also leaves open the door to a miner &#xA;&gt;&gt; veto.&#xA;&gt; &#xA;&gt; To the contrary, we saw in 2017 that miners could *not* successfully&#xA;&gt; veto a BIP 9 activation. It was certainly more effort and risk than was&#xA;&gt; desirable to override the attempted veto, but the attempt at vetoing&#xA;&gt; nevertheless failed.&#xA;&gt; &#xA;&gt;&gt; It wouldn&#39;t be much different than adding back the inflation bug&#xA;&gt;&gt; (CVE-2018-17144) and trusting miners not to exploit it.&#xA;&gt; &#xA;&gt; That is ridiculous FUD.&#xA;&gt; &#xA;&gt;&gt; With LOT=False in the picture, however, things can get messy:&#xA;&gt; &#xA;&gt; LOT=false is always in the picture if we are talking about a soft-fork:&#xA;&gt; the defining feature of a soft-fork is that old node software continues&#xA;&gt; to work, and old node software will be entirely indifferent to whether&#xA;&gt; activation is signalled or not.&#xA;&gt; &#xA;&gt;&gt; some users will&#xA;&gt;&gt; enforce Taproot(eg) (those running LOT=True), while others will not &#xA;&gt;&gt; (those&#xA;&gt;&gt; with LOT=False)&#xA;&gt; &#xA;&gt; If you are following bip8 with lockinontimeout=false, you will enforce&#xA;&gt; taproot rules if activation occurs, you will simply not reject blocks &#xA;&gt; if&#xA;&gt; activation does not occur.&#xA;&gt; &#xA;&gt;&gt; Users with LOT=True will still get all the safety thereof,&#xA;&gt;&gt; but those with LOT=False will (in the event of miners deciding to &#xA;&gt;&gt; produce a&#xA;&gt;&gt; chain split) face an unreliable chain, being replaced by the LOT=True &#xA;&gt;&gt; chain&#xA;&gt;&gt; every time it overtakes the LOT=False chain in work.&#xA;&gt; &#xA;&gt; This assumes anyone mining the chain where taproot does not activate is&#xA;&gt; not able to avoid a reorg, despite having majority hashpower (as &#xA;&gt; implied&#xA;&gt; by the lot=true chain having to overtake them repeatedly). That&#39;s &#xA;&gt; absurd;&#xA;&gt; avoiding a reorg is trivially achieved via running &#34;invalidateblock&#34;, &#xA;&gt; or&#xA;&gt; via pool software examining block headers, or via a patch along the &#xA;&gt; lines&#xA;&gt; of MUST_SIGNAL enforcement, but doing the opposite. For concreteness,&#xA;&gt; here&#39;s a sketch of such a patch:&#xA;&gt; &#xA;&gt; https://github.com/ajtowns/bitcoin/commit/f195688bd1eff3780f200e7a049e23b30ca4fe2f&#xA;&gt; &#xA;&gt;&gt; For 2 weeks, users with LOT=False would not have a usable network.&#xA;&gt; &#xA;&gt; That&#39;s also ridiculous FUD.&#xA;&gt; &#xA;&gt; If it were true, it would mean the activation mechanism was not&#xA;&gt; acceptable, as non-upgraded nodes would also not have a usable network&#xA;&gt; for the same reason.&#xA;&gt; &#xA;&gt; Fortunately, it&#39;s not true.&#xA;&gt; &#xA;&gt; More generally, if miners are willing to lose significant amounts of&#xA;&gt; money mining orphan blocks, they can do that at any time. If they&#39;re&#xA;&gt; not inclined to do so, it&#39;s incredibly straightforward for them to &#xA;&gt; avoid&#xA;&gt; doing so, whatever a minority of other miners might do.&#xA;&gt; &#xA;&gt;&gt; The overall risk is maximally reduced by LOT=True being the only &#xA;&gt;&gt; deployed&#xA;&gt;&gt; parameter, and any introduction of LOT=False only increases risk &#xA;&gt;&gt; probability&#xA;&gt;&gt; and severity.&#xA;&gt; &#xA;&gt; LOT=false is the default behaviour of everything single piece of node&#xA;&gt; software out there. That behaviour doesn&#39;t need to be introduced, it&#39;s&#xA;&gt; already universal.&#xA;&gt; &#xA;&gt; Cheers,&#xA;&gt; aj&#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</html></oembed>