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.

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.l...@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 <daros...@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+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/bitcoindev/3781512A-0912-4493-AED5-9520A0488949%40sprovoost.nl.

Reply via email to