From: Matt Corallo <lf-lists@mattcorallo.com>
To: James O'Beirne <james.obeirne@gmail.com>
Cc: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Subject: Re: [bitcoindev] CTV + CSFS: a letter
Date: Mon, 9 Jun 2025 13:51:41 -0400 [thread overview]
Message-ID: <01f49d64-838e-4311-bf79-8c4130b40c8e@mattcorallo.com> (raw)
In-Reply-To: <CAPfvXf+t33u1ghz39cqYn4k5ErmxTkUv0njF9Zwbz_2UkdTjAg@mail.gmail.com>
On 6/9/25 10:43 AM, James O'Beirne wrote:
> On Mon, Jun 9, 2025 at 9:51 AM Matt Corallo <lf-lists@mattcorallo.com <mailto:lf-
> lists@mattcorallo.com>> wrote:
> > That said, I have yet to see a reasoned explanation of why we should prefer CTV over TXHASH.
>
> From the author of TXHASH himself on Delving Bitcoin
> (https://delvingbitcoin.org/t/ctv-csfs-can-we-reach-consensus-on-a-first-step-towards-
> covenants/1509/15 <https://delvingbitcoin.org/t/ctv-csfs-can-we-reach-consensus-on-a-first-step-
> towards-covenants/1509/15>):
>
> > Having implemented TXHASH, I would definitely not say that
> > it “simplifies the change”.
Who claimed TXHASH is simpler than CTV?
> > The difference in both technical debt and
> > potential for bugs is an order of magnitude bigger for TXHASH than for
> > CTV.
I mean, sure, compared to something trivial doing something marginally-trivial has a lot bigger
surface area. But that isn't really an argument unless we're talking about something truly
complicated, and TXHASH absolutely is not.
> > (Not to say that I don’t think TXHASH would be worthwhile, but I
> > will definitely say that it has not received the attention I had expected,
> > so I would definitely not want to put it on the table anytime soon.)
I mean there's still debate around the exact format of CTV commitments (eg whether it commits to
scriptSigs, if it works outside of segwit, etc), saying that there's debate over the format of
TXHASH isn't exactly a compelling argument either? Yes, it needs some work, but the time we'll
invest in CTV isn't all that different from the time we'll invest in TXHASH, once we pick a direction.
> The use-cases that might merit such a jump up in complexity over CTV
> have not been enumerated to my knowledge.
This is a much better argument :). I'm a bit skeptical, though, that its quite this cut-and-dry. For
example, the utter hack of the BitVM-with-CTV variant pretty clearly points to us needing a more
fully featured commitment gadget to enable these things without the nonsense they had to resort to.
Further, we should think at least somewhat about what we think a reasonable end state is. As far as
I understand, most proponents of CTV+CSFS do not think that CTV+CSFS is *all* we want, but rather a
first step towards some goal. If that goal includes more flexible tx field commitments (I imagine it
certainly does!) then we should do that, rather than taking a detour we should make progress towards
the eventual goal!
> CTV also includes
> upgrade hooks to incorporate modifications should these additional
> uses be more fully understood.
I do not understand why people make this argument. Yes, the encoding of the opcode allows you to
turn it into an OP_NOP (or SUCCESS or whatever), that doesn't make it "upgrade hook"-friendly. If we
think that we just want to do CTV but we want CTV to be upgradable later to be TXHASH, then we first
need to define the TXHASH hash and bitfield format, so that we can take the subset of it that
captures CTV and hard-code that. But, of course, if we do that work we should clearly do TXHASH :).
These really feel like the same arguments again and again. I just don't find them even remotely
compelling. "Oh, well, if we want to figure out TXHASH someone would have to define a bitfield
format and that will take years" is just nonsense. Hell, its already done! Maybe we want to tweak
it, but honestly bikeshedding over a specific bitfield format sounds like it'll take a hell of a lot
less time than trying to make sure we work out all the cases for what someone might want to commit
to that we want them to commit to but not more and fix a specific set of commitments!
Matt
--
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/01f49d64-838e-4311-bf79-8c4130b40c8e%40mattcorallo.com.
next prev parent reply other threads:[~2025-06-09 17:53 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-09 11:40 [bitcoindev] CTV + CSFS: a letter James O'Beirne
2025-06-09 12:51 ` Michael Folkson
2025-06-09 14:41 ` James O'Beirne
2025-06-09 15:56 ` Michael Folkson
2025-06-09 13:51 ` Matt Corallo
2025-06-09 14:43 ` James O'Beirne
2025-06-09 17:51 ` Matt Corallo [this message]
2025-06-09 19:27 ` /dev /fd0
2025-06-09 21:12 ` Matt Corallo
2025-06-09 18:55 ` 'Antoine Poinsot' via Bitcoin Development Mailing List
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=01f49d64-838e-4311-bf79-8c4130b40c8e@mattcorallo.com \
--to=lf-lists@mattcorallo.com \
--cc=bitcoindev@googlegroups.com \
--cc=james.obeirne@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox