Return-Path: Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id B2BAEC007A for ; Fri, 22 Apr 2022 01:20:19 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 8C25040611 for ; Fri, 22 Apr 2022 01:20:19 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -1.902 X-Spam-Level: X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RpSCE3UFxmXv for ; Fri, 22 Apr 2022 01:20:17 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 Received: from smtpauth.rollernet.us (smtpauth.rollernet.us [IPv6:2607:fe70:0:3::d]) by smtp4.osuosl.org (Postfix) with ESMTPS id D8882403D0 for ; Fri, 22 Apr 2022 01:20:17 +0000 (UTC) Received: from smtpauth.rollernet.us (localhost [127.0.0.1]) by smtpauth.rollernet.us (Postfix) with ESMTP id 6133B280004A; Thu, 21 Apr 2022 18:20:15 -0700 (PDT) Received: from webmail.rollernet.us (webmail.rollernet.us [IPv6:2607:fe70:0:14::a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by smtpauth.rollernet.us (Postfix) with ESMTPSA; Thu, 21 Apr 2022 18:20:15 -0700 (PDT) MIME-Version: 1.0 Date: Thu, 21 Apr 2022 15:20:14 -1000 From: "David A. Harding" To: Matt Corallo In-Reply-To: <01d4a034-eb80-a598-1858-6b0ed8295a13@mattcorallo.com> References: <64a34b4d46461da322be51b53ec2eb01@dtrt.org> <4b252ef6f86bbd494a67683f6113f3fe@dtrt.org> <4056eca7e1ff018bff03918b8c266d76@dtrt.org> <01d4a034-eb80-a598-1858-6b0ed8295a13@mattcorallo.com> User-Agent: Roundcube Webmail/1.4.10 Message-ID: X-Sender: dave@dtrt.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Rollernet-Abuse: Contact abuse@rollernet.us to report. Abuse policy: http://www.rollernet.us/policy X-Rollernet-Submit: Submit ID d6b.626202cf.198d.0 Cc: Bitcoin Protocol Discussion Subject: Re: [bitcoin-dev] Automatically reverting ("transitory") soft forks, e.g. for CTV X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Apr 2022 01:20:19 -0000 [Rearranging Matt's text in my reply so my nitpicks come last.] On 21.04.2022 13:02, Matt Corallo wrote: > I agree, there is no universal best, probably. But is there a concrete > listing of a number of use-cases and the different weights of things, > plus flexibility especially around forward-looking designs? I'm sure we could make a nice list of covenant usecases, but I don't know how we would assign reasonable objective weights to the different things purely through group foresight. I know I'm skeptical about congestion control and enthusiastic about joinpools---but I've talked to developers I respect who've had the opposite opinions from me about those things. The best way I know of to reconcile our differing opinions is to see what real Bitcoin users actually pay for. But to do that, I think they must have a way to use covenants in something like the production environment. > You're also writing off [...] a community of > independent contributors who care about Bitcoin working together to > make decisions on what is or isn't the "right way to go" [...]. Why are > you > suggesting its something that you "don't know how to do"? You said we should use the best design. I said the different designs optimize for different things, so it's unlikely that there's an objective best. That implies to me that we either need to choose a winner (yuck) or we need to implement more than one of the designs. In either of those cases, choosing what to implement would benefit from data about how much the thing will be used and how much users will pay for it in fees. > Again, my point *is not* "will people use CTV", I think they will. I > think they would also use TLUV if that were activated for the exact > same use-cases. I think they would also use CAT+CSFS if that were what > was activated, again for the exact same use-cases. Given that, I'm not > sure how your proposal teaches us anything at all, aside from "yes, > there was demand for *some* kind of covenant". I'm sorry if my OP was ambiguous about this, but my goal there was to describe a general framework for activating temporary consensus changes for the purpose of demonstrating demand for proposed features. I gave CTV as an example for how the framework could be used, but we could use the same framework to activate APO and TLUV (or IIDs and EVICT)---and then we would see which of them people actually used. If there was significant ongoing use of all three after 5 years, great! We keep them all. If some of them went largely unused, we let the extra validation rules expire and move on. Alternatively, if we only enabled one covenant design (e.g. CTV), we would still gain data about how it was used and we could see if some of the alternative designs would've been more optimal for those demonstrated uses. My goal here is obtaining data from which we can make informed decisions. A transitory soft fork is an extreme way to acquire that data and I fully acknowledge it has several significant problems (including those I listed in my OP). I'm hoping, though, that it's a better solution than another activation battle, prolonged yelling on this mailing list and elsewhere, or everyone just giving up and letting Bitcoin ossify prematurely. Alternatively, I'm hoping one of the many people on this list who is smarter than I am will think of another way to obtain decisive data with less fuss. > Again, you're writing off the real and nontrivial risk of doing a fork > to begin with. I agree this risk exists and it isn't my intention to write it off---my OP did say "we [must be] absolutely convinced CTV will have no negative effects on the holders or receivers of non-CTV coins." I haven't been focusing on this in my replies because I think the other issues we've been discussing are more significant. If we were to get everyone to agree to do a transitory soft fork, I think the safety concerns related to a CTV soft fork could be mitigated the same way we've mitigated them for previous soft forks: heaps of code review/testing and making sure a large part of the active community supports the change. > You don't > mention the lack of recursion in CTV vs CAT+CSFS I mentioned recursion, or the lack thereof, in various proposals like five times in this thread. :-) Thanks again for your replies, -Dave