Return-Path: <lf-lists@mattcorallo.com> Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by lists.linuxfoundation.org (Postfix) with ESMTP id BE5A0C0001 for <bitcoin-dev@lists.linuxfoundation.org>; Sun, 21 Feb 2021 14:30:53 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 951926E56C for <bitcoin-dev@lists.linuxfoundation.org>; Sun, 21 Feb 2021 14:30:53 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8NDkD-aL1UJo for <bitcoin-dev@lists.linuxfoundation.org>; Sun, 21 Feb 2021 14:30:51 +0000 (UTC) Received: by smtp3.osuosl.org (Postfix, from userid 1001) id DCF9F6E6E7; Sun, 21 Feb 2021 14:30:51 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 Received: from mail.as397444.net (mail.as397444.net [69.59.18.99]) by smtp3.osuosl.org (Postfix) with ESMTPS id 178BA6ED68 for <bitcoin-dev@lists.linuxfoundation.org>; Sun, 21 Feb 2021 14:30:48 +0000 (UTC) Received: by mail.as397444.net (Postfix) with ESMTPSA id 79AEA4AC9AE; Sun, 21 Feb 2021 14:30:46 +0000 (UTC) X-DKIM-Note: Keys used to sign are likely public at https://as397444.net/dkim/ DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mattcorallo.com; s=1613916063; t=1613917846; bh=eGok0g4CMOMM0q95liFARxyOglb4EYeZ8eZJ6GOEEK8=; h=From:Subject:Date:References:Cc:In-Reply-To:To:From; b=2y79Ost7MYeIoBhfO2gi88yazj8gscfnZTdSzcClnZgEudVnyTzL8SK6h/zv71mlp SFYRzRr8IVDhuxfbk0W71hJZe+d9XoGmxhUiJ2i3kEq6hCxs1G1D87D7aSLOe89lP6 UWUUyjP3A6UIvh3ALI5hggDCD2Ss/jTAZpkokjd4XC2/wyKV8FosFGlIgxDx7vd+24 Pu26SB4WlWqpR6Sw/b7LjtS+LJItkKMgmX59G0Xo0xVM5asXhnUWnVd5JcDeGJQNWg i+bMxVYONKwobqWKu4lIU1hzLhLEGbG3R+TCMoKtCbscah2hk/WEZe8OoGUe7j+sMQ AG6iFUmXGRftg== Content-Type: multipart/alternative; boundary=Apple-Mail-E59C1076-84B3-4ECF-9014-B0894FB20E14 Content-Transfer-Encoding: 7bit From: Matt Corallo <lf-lists@mattcorallo.com> Mime-Version: 1.0 (1.0) Date: Sun, 21 Feb 2021 09:30:45 -0500 Message-Id: <4A6F5D19-DF75-4C83-A435-53B6EAABD85F@mattcorallo.com> References: <b5d23fb8-06a8-4dda-bdbb-2247a82fa1a0@gmail.com> In-Reply-To: <b5d23fb8-06a8-4dda-bdbb-2247a82fa1a0@gmail.com> To: Ariel Lorenzo-Luaces <arielluaces@gmail.com>, Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org> Subject: Re: [bitcoin-dev] Yesterday's Taproot activation meeting on lockinontimeout (LOT) X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org> List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe> List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/> List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org> List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help> List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe> X-List-Received-Date: Sun, 21 Feb 2021 14:30:53 -0000 --Apple-Mail-E59C1076-84B3-4ECF-9014-B0894FB20E14 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable I don=E2=80=99t think =E2=80=9Csome vocal users are going to threaten to for= k themselves off=E2=80=9D is good justification for technical decisions. It=E2= =80=99s important to communicate and for everyone to agree/understand that a= failed BIP 8/9 activation, in the scenario people are worried about, is not= the end of the story for Taproot activation. If it is clear that Taproot ha= s broad consensus but some miners failed to upgrade in time (as it presumabl= y would be), a flag day activation seems merited and I=E2=80=99m not sure an= yone has argued against this. That said, forced-signaling via a UASF/BIP8(tr= ue)-style fork carries material additional risk that a classic flag-day acti= vation does not, so let=E2=80=99s not optimize for something like that. Matt > On Feb 21, 2021, at 08:26, Ariel Lorenzo-Luaces via bitcoin-dev <bitcoin-d= ev@lists.linuxfoundation.org> wrote: >=20 > =EF=BB=BF > What would be the tradeoffs of a BIP8(false, =E2=88=9E) option? That would= remove some of the concerns of having to coordinate a UASF with an approach= ing deadline. >=20 > Cheers > Ariel Lorenzo-Luaces >> On Feb 19, 2021, at 6:55 PM, ZmnSCPxj via bitcoin-dev <bitcoin-dev@lists.= linuxfoundation.org> wrote: >> Good morning list, >>=20 >>> It was pointed out to me that this discussion is largely moot as the so= ftware complexity for Bitcoin Core to ship an >>> option like this is likely not practical/what people would wish to see.= >>>=20 >>> Bitcoin Core does not have infrastructure to handle switching consensus= rules with the same datadir - after running with >>> uasf=3Dtrue for some time, valid blocks will be marked as invalid, and a= dditional development would need to occur to >>> enable switching back to uasf=3Dfalse. This is complex, critical code t= o get right, and the review and testing cycles >>> needed seem to be not worth it. >>=20 >> Without implying anything else, this can be worked around by a user maint= aining two `datadir`s and running two clients. >> This would have an "external" client running an LOT=3DX (where X is whate= ver the user prefers) and an "internal" client that is at most 0.21.0, which= will not impose any LOT rules. >> The internal client then uses `connect=3D` directive to connect locally t= o the external client and connects only to that client, using it as a firewa= ll. >> The external client can be run pruned in order to reduce diskspace resour= ce usage (the internal client can remain unpruned if that is needed by the u= ser, e.g. for LN implementation sthat need to look up arbitrary short-channe= l-ids). >> Bandwidth usage should be same since the internal client only connects to= the external client and the OS should optimize that case. >> CPU usage is doubled, though. >>=20 >> (the general idea came from gmax, just to be clear, though the below use i= s from me) >>=20 >> Then the user can select LOT=3DC or LOT=3D!C (where C is whatever Bitcoin= Core ultimately ships with) on the external client based on the user prefer= ences. >>=20 >> If Taproot is not MASF-activated and LOT=3D!U is what dominates later (wh= ere U is whatever the user decided on), the user can decide to just destroy t= he external node and connect the internal node directly to the network (opti= onally upgrading the internal node to LOT=3D!U) as a way to "change their mi= nd in view of the economy". >> The internal node will then follow the dominant chain. >>=20 >>=20 >> Regards, >> ZmnSCPxj >>=20 >>>=20 >>> Instead, the only practical way to ship such an option would be to trea= t it as a separate chain (the same way regtest, >>> testnet, and signet are treated), including its own separate datadir an= d the like. >>>=20 >>> Matt >>>=20 >>>> On 2/19/21 09:13, Matt Corallo via bitcoin-dev wrote: >>>>=20 >>>> (Also in response to ZMN...) >>>> Bitcoin Core has a long-standing policy of not shipping options which s= hoot yourself in the foot. I=E2=80=99d be very disappointed if that changed n= ow. People are of course more than welcome to run such software themselves, b= ut I anticipate the loud minority on Twitter and here aren=E2=80=99t process= ing enough transactions or throwing enough financial weight behind their dec= ision for them to do anything but just switch back if they find themselves o= n a chain with no blocks. >>>> There=E2=80=99s nothing we can (or should) do to prevent people from t= hreatening to (and possibly) forking themselves off of bitcoin, but that doe= sn=E2=80=99t mean we should encourage it either. The work Bitcoin Core maint= ainers and developers do is to recommend courses of action which they believ= e have reasonable levels of consensus and are technically sound. Luckily, th= ere=E2=80=99s strong historical precedent for people deciding to run other s= oftware around forks, so misinterpretation is not very common (just like the= re=E2=80=99s strong historical precedent for miners not unilaterally decidin= g forks in the case of Segwit). >>>> Matt >>>>=20 >>>>>> On Feb 19, 2021, at 07:08, Adam Back adam@cypherspace.org wrote: >>>>>>=20 >>>>>> would dev consensus around releasing LOT=3Dfalse be considered as "d= evelopers forcing their views on users"? >>>>>=20 >>>>> given there are clearly people of both views, or for now don't care >>>>> but might later, it would minimally be friendly and useful if >>>>> bitcoin-core has a LOT=3Dtrue option - and that IMO goes some way to >>>>> avoid the assumptive control via defaults. >>>>=20 >>>>> Otherwise it could be read as saying "developers on average >>>>> disapprove, but if you, the market disagree, go figure it out for >>>>> yourself" which is not a good message for being defensive and avoidin= g >>>>> mis-interpretation of code repositories or shipped defaults as >>>>> "control". >>>>=20 >>>> bitcoin-dev mailing list >>>> bitcoin-dev@lists.linuxfoundation.org >>>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev >>=20 >>=20 >>=20 >> bitcoin-dev mailing list >> bitcoin-dev@lists.linuxfoundation.org >> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev --Apple-Mail-E59C1076-84B3-4ECF-9014-B0894FB20E14 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable <html><head><meta http-equiv=3D"content-type" content=3D"text/html; charset=3D= utf-8"></head><body dir=3D"auto"><div dir=3D"ltr">I don=E2=80=99t think =E2=80= =9Csome vocal users are going to threaten to fork themselves off=E2=80=9D is= good justification for technical decisions. It=E2=80=99s important to commu= nicate and for everyone to agree/understand that a failed BIP 8/9 activation= , in the scenario people are worried about, is not the end of the story for T= aproot activation. If it is clear that Taproot has broad consensus but some m= iners failed to upgrade in time (as it presumably would be), a flag day acti= vation seems merited and I=E2=80=99m not sure anyone has argued against this= . That said, forced-signaling via a UASF/BIP8(true)-style fork carries mater= ial additional risk that a classic flag-day activation does not, so let=E2=80= =99s not optimize for something like that.</div><div dir=3D"ltr"><br></div><= div dir=3D"ltr">Matt</div><div dir=3D"ltr"><br><blockquote type=3D"cite">On = Feb 21, 2021, at 08:26, Ariel Lorenzo-Luaces via bitcoin-dev <bitcoin-dev= @lists.linuxfoundation.org> wrote:<br><br></blockquote></div><blockquote t= ype=3D"cite"><div dir=3D"ltr">=EF=BB=BF<div dir=3D"auto">What would be the t= radeoffs of a BIP8(false, =E2=88=9E) option? That would remove some of the c= oncerns of having to coordinate a UASF with an approaching deadline.<br><br>= </div> <div dir=3D"auto">Cheers<br></div> <div dir=3D"auto">Ariel Lorenzo-Luaces<br></div> <div class=3D"gmail_quote">On Feb 19, 2021, at 6:55 PM, ZmnSCPxj via bitcoin= -dev <<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"= _blank">bitcoin-dev@lists.linuxfoundation.org</a>> wrote:<blockquote clas= s=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid= rgb(204, 204, 204); padding-left: 1ex;"> <pre class=3D"blue">Good morning list,<br><br><blockquote class=3D"gmail_quo= te" style=3D"margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padd= ing-left: 1ex;"> It was pointed out to me that this discussion is largely mo= ot as the software complexity for Bitcoin Core to ship an<br> option like th= is is likely not practical/what people would wish to see.<br><br> Bitcoin Co= re does not have infrastructure to handle switching consensus rules with the= same datadir - after running with<br> uasf=3Dtrue for some time, valid bloc= ks will be marked as invalid, and additional development would need to occur= to<br> enable switching back to uasf=3Dfalse. This is complex, critical cod= e to get right, and the review and testing cycles<br> needed seem to be not w= orth it.<br></blockquote><br>Without implying anything else, this can be wor= ked around by a user maintaining two `datadir`s and running two clients.<br>= This would have an "external" client running an LOT=3DX (where X is whatever= the user prefers) and an "internal" client that is at most 0.21.0, which wi= ll not impose any LOT rules.<br>The internal client then uses `connect=3D` d= irective to connect locally to the external client and connects only to that= client, using it as a firewall.<br>The external client can be run pruned in= order to reduce diskspace resource usage (the internal client can remain un= pruned if that is needed by the user, e.g. for LN implementation sthat need t= o look up arbitrary short-channel-ids).<br>Bandwidth usage should be same si= nce the internal client only connects to the external client and the OS shou= ld optimize that case.<br>CPU usage is doubled, though.<br><br>(the general i= dea came from gmax, just to be clear, though the below use is from me)<br><b= r>Then the user can select LOT=3DC or LOT=3D!C (where C is whatever Bitcoin C= ore ultimately ships with) on the external client based on the user preferen= ces.<br><br>If Taproot is not MASF-activated and LOT=3D!U is what dominates l= ater (where U is whatever the user decided on), the user can decide to just d= estroy the external node and connect the internal node directly to the netwo= rk (optionally upgrading the internal node to LOT=3D!U) as a way to "change t= heir mind in view of the economy".<br>The internal node will then follow the= dominant chain.<br><br><br>Regards,<br>ZmnSCPxj<br><br><blockquote class=3D= "gmail_quote" style=3D"margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #72= 9fcf; padding-left: 1ex;"><br> Instead, the only practical way to ship such a= n option would be to treat it as a separate chain (the same way regtest,<br>= testnet, and signet are treated), including its own separate datadir and th= e like.<br><br> Matt<br><br> On 2/19/21 09:13, Matt Corallo via bitcoin-dev w= rote:<br><br><blockquote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 1ex 0= .8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"> (Also in response= to ZMN...)<br> Bitcoin Core has a long-standing policy of not shipping opti= ons which shoot yourself in the foot. I=E2=80=99d be very disappointed if th= at changed now. People are of course more than welcome to run such software t= hemselves, but I anticipate the loud minority on Twitter and here aren=E2=80= =99t processing enough transactions or throwing enough financial weight behi= nd their decision for them to do anything but just switch back if they find t= hemselves on a chain with no blocks.<br> There=E2=80=99s nothing we can (or s= hould) do to prevent people from threatening to (and possibly) forking thems= elves off of bitcoin, but that doesn=E2=80=99t mean we should encourage it e= ither. The work Bitcoin Core maintainers and developers do is to recommend c= ourses of action which they believe have reasonable levels of consensus and a= re technically sound. Luckily, there=E2=80=99s strong historical precedent f= or people deciding to run other software around forks, so misinterpretation i= s not very common (just like there=E2=80=99s strong historical precedent for= miners not unilaterally deciding forks in the case of Segwit).<br> Matt<br>= <br><blockquote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 1ex 0.8ex; bo= rder-left: 1px solid #8ae234; padding-left: 1ex;"> On Feb 19, 2021, at 07:08= , Adam Back adam@cypherspace.org wrote:<br><br><blockquote class=3D"gmail_qu= ote" style=3D"margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; pad= ding-left: 1ex;"> would dev consensus around releasing LOT=3Dfalse be consid= ered as "developers forcing their views on users"?<br></blockquote><br> give= n there are clearly people of both views, or for now don't care<br> but migh= t later, it would minimally be friendly and useful if<br> bitcoin-core has a= LOT=3Dtrue option - and that IMO goes some way to<br> avoid the assumptive c= ontrol via defaults.<br></blockquote><br><blockquote class=3D"gmail_quote" s= tyle=3D"margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-l= eft: 1ex;"> Otherwise it could be read as saying "developers on average<br> d= isapprove, but if you, the market disagree, go figure it out for<br> yoursel= f" which is not a good message for being defensive and avoiding<br> mis-inte= rpretation of code repositories or shipped defaults as<br> "control".<br></b= lockquote><br> bitcoin-dev mailing list<br> bitcoin-dev@lists.linuxfoundatio= n.org<br> <a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitc= oin-dev">https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev</a><= br></blockquote></blockquote><br><br><hr><br>bitcoin-dev mailing list<br>bit= coin-dev@lists.linuxfoundation.org<br><a href=3D"https://lists.linuxfoundati= on.org/mailman/listinfo/bitcoin-dev">https://lists.linuxfoundation.org/mailm= an/listinfo/bitcoin-dev</a><br></pre></blockquote></div><span>______________= _________________________________</span><br><span>bitcoin-dev mailing list</= span><br><span>bitcoin-dev@lists.linuxfoundation.org</span><br><span>https:/= /lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev</span><br></div></bl= ockquote></body></html>= --Apple-Mail-E59C1076-84B3-4ECF-9014-B0894FB20E14--