On Sat, Jun 14, 2025 at 11:58 AM Sjors Provoost <sjors@sprovoost.nl> wrote:
Hi Jameson,

CTV does enable vaults, but the user has to (carefully) move coins into the vault themselves. Because CTV commits to the amount, among other things, you can't simply publish a vault address and receive arbitrary amounts there. They'd be stuck, committing to an impossible to satisfy CTV hash.

Understood. OP_CCV enables more flexible / user friendly vaults. Sounds good to me!

I'll just reiterate my previous point that custody software services would rather have a "good" tool in the hand than a better solution waiting on the distant horizon.


There's also the question of what, if anything, the user needs to backup after each deposit [0]. It's probably just the deposit transaction id, which is arguably something that can be recovered with some (?) work.

OP_CCV enables a more flexible design where the user can receive arbitrary amounts directly into their vault address, and with nothing to backup after initial setup (seeds + descriptor-like-thing).

Here's a demo functional test for an OP_CCV vault (without CTV): https://github.com/bitcoin/bitcoin/pull/32080

The problem with both demos is that they use boutique software. There's not yet a potentially interoperable standard to describe these things.

Hopefully some simple vault schemes can be shoehorned into the existing output descriptor paradigm [1], because inventing a whole new way of making vault-aware wallets interoperable would take many years.

To illustrate such schemes, I'd love to see a working demo using just a (patched) Bitcoin Core wallet. Though perhaps a library like BDK[2] is an easier platform for such ideation. 

- Sjors

[0] https://github.com/jamesob/simple-ctv-vault/issues/9
[1] https://delvingbitcoin.org/t/ctv-vault-output-descriptor/1766/8
[2] https://github.com/bitcoindevkit

> Op 13 jun 2025, om 17:41 heeft Jameson Lopp <jameson.lopp@gmail.com> het volgende geschreven:
>
[...]
>
> I'm not sure how to parse Antoine's claim that CTV+CSFS doesn't enable vaults given that there has already been a CTV vault client proof of concept for 3 years: https://github.com/jamesob/simple-ctv-vault
>
> On Fri, Jun 13, 2025 at 9:07 AM Antoine Poinsot <darosior@protonmail.com> wrote:


[...]

> That said, consensus-enforced vaults require a mechanism to forward any amount received on a script A to a pre-committed script B. CTV+CSFS does not enable this, and a primitive that actually does (like CCV) is more controversial because of its potency.

[...]

> I also appreciate that CTV is nice to have for CCV vaults, but a potential future use case that is not enabled by one proposal cannot be used to motivate said proposal.
>

--
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/CADL_X_fUCR%3D2O0MUHXBA98oV4%2BwcJ-qYYrrRjB7h7YER-JKsGA%40mail.gmail.com.