[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
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to