I have already expressed my arguments on the regularity of soft forks [0]. 
Having spent months of my time on Taproot activation last year attempting to 
get at least rough community consensus on the activation method it seems crazy 
to me that some want to do that again so soon after Taproot activation and 
somehow this time it will be plain sailing. (Spoiler: it won’t. Although 
Taproot safely activated there remain outstanding views ranging on whether BIP 
8 or 9 variants of Speedy Trial should be used in future to Speedy Trial only 
being a short term stopgap that should not be repeated.) If OP_CTV is ready to 
go now and has overwhelming community support (I don’t think either is true) it 
should surely have been included in the Taproot soft fork (perhaps delayed) 
rather than going through the months of activation wrangling and community 
outreach twice.

I stated in that post:

“A contentious or disputed soft fork can be merged into a Bitcoin 
implementation at any time but doing this is opening the door to the schism, 
disruption and waste of developer hours that we saw in 2017. Personally I think 
we’ll see an attempt to activate a contentious soft fork at some point in the 
long term future (Murphy’s Law) but any attempt to do so should be strongly 
discouraged. It should be made clear to any individual(s) that attempt this of 
the knock on impacts and potential short term damage they are inflicting on the 
entire ecosystem. Longer term I have confidence in Bitcoin’s ability to survive 
whatever happens but allocating significant community resources to resist an 
unnecessary contentious soft fork (or even regular contentious soft forks) is 
not an optimal use of those resources.”

I am getting increasingly concerned that we are stumbling into this scenario 
three months after I wrote that post. One of many future soft fork proposals 
(as many will know) is BIP 119 [1] which is the enabling of a new opcode 
OP_CHECKTEMPLATEVERIFY (OP_CTV). It seems to me like the author and primary 
promoter of this proposal (Jeremy Rubin) is pushing for an imminent attempted 
activation of a soft fork containing exclusively OP_CTV [2]. To contrast with 
his approach, the authors and contributors of another future soft fork proposal 
(BIP 118 [3], SIGHASH_ANYPREVOUT) aren’t promoting an imminent soft fork 
activation attempt and instead are building out and testing one of the 
speculated use cases, eltoo payment channels [4]. Similar work has not been 
done for any of the speculated use cases of OP_CTV. Instead Jeremy is 
encouraging people to “soft signal” for soft fork activation of OP_CTV 
presumably in the hope that the building out and testing of use cases can be 
completed post activation.

This is totally irresponsible in my view. A long list of speculated use cases 
means nothing on its own. I can propose a new opcode OP_MAGIC and claim it will 
cure cancer with no potential downsides and hence we should have a soft fork 
activating it as soon as possible. I would hope there would be sufficient 
skepticism that this proposal wouldn’t see the light of day. It is true that 
Jeremy has some rudimentary proofs of concept built but as any software 
engineer will tell you the vast majority of the challenges are encountered once 
you attempt to build out that proof of concept. Once you do you may realize 
that the tool (or opcode) you are using isn’t the right one for the job. Unlike 
adjusting a feature on a social media app adjusting a consensus change once it 
has been activated is trickier to put it mildly.

There are a number of other more interesting technical discussions to be had 
later (what kind of covenants we want and are able to enable safely on Bitcoin 
etc, how CTV compares to other covenant enabling proposals, to what extent 
activating CTV would impact future proposals) but I feel the top priority is to 
bring some attention to the danger of us stumbling into an attempted 
contentious soft fork activation attempt.

Jeremy has put up this site (https://utxos.org/signals/) which is collecting 
so-called “soft signals”. I very much doubt anyone has a problem with Jeremy 
engaging with the community on his proposal and receiving feedback. However, 
the site currently states:

“The following organizations, individuals, or pools have communicated 
preference for and intent to support a BIP-119 activation attempt using 
reasonable parameters. These “soft signals” are non-binding until an actual 
concrete proposal has been formed, but are useful for measuring community 
consensus.”

There have been a number of “soft signals”, many expressing enthusiasm for the 
speculated use cases of OP_CTV. Personally I share that enthusiasm like I do 
with the prospect of curing cancer. But these soft signals seem as if they are 
going to be used to attempt to justify an imminent contentious soft fork 
attempt. The devil is in the details both with regards to wording like 
“reasonable parameters” and the utility and safety of a new opcode. Indeed if 
you share my concerns that there has not been sufficient scrutiny and research 
on the long implications of this proposal I encourage you to register a soft 
signal of “No” on the site like I have. You can always change it to “Yes” if 
and when you support an imminent soft fork activation attempt containing 
exclusively OP_CTV. Enabling covenants on Bitcoin is a big step change with 
barely any existing research on the topic and attempting to rush it through by 
the back door so soon after Taproot activation should be resisted. To look at 
the ~200 lines of code for the opcode exclusively (of course this should be 
done too) in a vacuum without considering the broader implications is also 
incredibly shortsighted. The only thing stopping a descent into Ethereum style 
seat of our pants consensus changes is community vigilance. If we ever lose 
that we lose the foundation of this industry.

[0]: 
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-October/019535.html

[1]: https://github.com/bitcoin/bips/blob/master/bip-0119.mediawiki

[2]: https://rubin.io/bitcoin/2021/12/24/advent-27/

[3]: https://github.com/bitcoin/bips/blob/master/bip-0118.mediawiki

[4]: https://yakshaver.org/bitcoin/#anyprevout

--

Michael Folkson
Email: michaelfolkson at protonmail.com
Keybase: michaelfolkson
PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to