On 9/17/22 2:14 AM, Anthony Towns wrote:
On Fri, Sep 16, 2022 at 12:46:53PM -0400, Matt Corallo via bitcoin-dev wrote:
On 9/16/22 3:15 AM, Anthony Towns via bitcoin-dev wrote:
As we've seen from the attempt at a CHECKTEMPLATEVERIFY activation earlier
in the year [0], the question of "how to successfully get soft fork
ideas from concept to deployment" doesn't really have a good answer today.
I strongly disagree with this.

Okay? "X is good" is obviously just a statement of opinion, so if you
want to disagree, that's obviously allowed.

I also kind of feel like that's the *least* interesting paragraph in the
entire email to talk further about; if you think the current answer's
already good, then the rest of the mail's just about (hopefully) making
it better, which would be worthwhile anyway?

No, I think its at least a good chunk of the "statement of problem". Yes, more testing is good, and this project is a way to get that. Cool. But implying that lack of test frameworks is in any material way part of the lack of movement on forks in Bitcoin I think is very wrong, so its worth pointing out, whether the particular project is useful or not is separate.

Going back many, many years we've had many
discussions about fork process, and the parts people (historically) agreed
with tend to be:
(1) come up with an idea
(2) socialize the idea in the technical community, see if anyone comes up
with any major issues or can suggest better ideas which solve the same
use-cases in cleaner ways
(3) propose the concrete idea with a more well-defined strawman, socialize
that, get some kind of rough consensus in the loosely-defined, subjective,
"technical community" (ie just ask people and adapt to feedback until you
have found some kind of average of the opinions of people you, the
fork-champion, think are reasonably well-informed!).
(4) okay, admittedly beyond this is a bit less defined, but we can deal with it 
when we get there.
Turns out, the issue today is a lack of champions following steps 1-3, we
can debate what the correct answer is to step (4) once we actually have
people who want to be champions who are willing to (humbly) push an idea
forward towards rough agreement of the world of technical bitcoiners
(without which I highly doubt you'd ever see broader-community consensus).

Personally, I think this is easily refuted by contradiction.

1) If we did have a good answer for how to progress a soft-fork, then
the great consensus cleanup [0] would have made more progress over the
past 3.5 years

No? Who is the champion for it? I haven't been. No one else is obliged to take up the reins and run with it, that's not how open-source works. And no one has emerged who has strong interest in doing so, and that's totally fine. It means it hasn't made any progress, but that's an indication that no one feels strongly enough about it that its risen to the top of their personal priority list so clearly doesn't *need* to make progress.

Maybe not all of the ideas in it were unambiguously good
[1], but personally, I'm convinced at least some of them are, and I
don't think I'm alone in thinking that. Even if the excuse is that its
original champion wasn't humble enough, there's something wrong with
the process if there doesn't exist some other potential champion with
the right balance of humility, confidence, interest and time who could
have taken it over in that timeframe.

No? Its not up to the community to find a champion for someone who wants a fork to happen. Either someone thinks its a good enough idea that they step up, or no one does. If no one does, then so be it. If the original proper (me, in this case) thought it was that important then its *their* responsibility to be the champion, no one else's.

2) Many will argue that CTV has already done steps (1) through (3) above:
certainly there's been an idea, it's been socialised through giving talks,
having discussion forums, having research workshops [2], documenting use
cases use cases; there's been a concrete implementation for years now,
with a test network that supports the proposed feature, and new tools
that demonstrate some of the proposed use cases, and while alternative
approaches have been suggested [3], none of them have even really made
it to step (2), let alone step (3).

I don't really see how you can make this argument seriously. Honestly, if a soft-fork BIP only has one author on the list, then I'm not sure one can argue that step (3) has really been completed, and maybe not even step (2).

So that leaves a few possibilities
to my mind:

  * CTV should be in step (4), and its lack of definition is a problem,
    and trying the "deal with it when we get there" approach is precisely
    what didn't work back in April.

  * The evaluation process is too inconclusive: it should either be
    saying "CTV is not good enough, fix these problems", or "CTV hasn't
    sufficiently demonstrated its value/cost, work on X next", but it
    isn't.

  * Parts (2) to (3) are too hard, and that's preventing alternatives
    from making progress, which in turn is preventing people from
    being able to decide whether CTV is the superior approach, or some
    alternative is.

I think this is most of it, but its not that they're too hard, its that people are *too busy*. There seemed to be more positive feedback, for example, to Rusty's proposal, but being the champion for a soft-fork is a full-time job for months on end, and last I checked Rusty has a lightning implementation to maintain, which tends to be a more-than-full-time job already.

To my knowledge, no one but Jeremy has made any serious attempt at being the champion for a soft-fork since Taproot, and before that Segwit (if someone reading this who contributes to Core already wants to, and isn't sure how to, there's lots of people who would happily mentor you! I'm sure you can figure out who to reach out to!).

Matt
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to