I suppose it is more about spending from vaults, rather than locking in. A covenant would impose rules for spending tx.e.g. :Don't spend this output unless it is claimed by a tx which 1) Spends it as a whole in the very first output. 2) This output is P2SH with specified script pattern ( a TLC script with redeem options) Both normal and theft spends are enforced to lock the funds for a reasonable amount of time, providing opportunity for neutralizing the theft just in case. This is becoming more complex once the redeem (cold) key is susceptible to theft and should be prevented from being able to reclaim funds when the legitimate spends has time locked the funds. It is done by requiring the redeem path to comply with a similar pattern with modifications e.g. this (redeem) tx fails unless a specific txid is published at least n blocks earlier. This way a cold key only theft won't be able to take advantage because s/he has not access to the specific txid which is generated before and is kept as a 3rd secret, add whatever complexity you wish to. Sent with [Proton Mail](https://proton.me/) secure email. ------- Original Message ------- On Sunday, July 24th, 2022 at 10:52 PM, Bram Cohen via bitcoin-dev wrote: > On Wed, Jul 20, 2022 at 2:46 PM Antoine Riard via bitcoin-dev wrote: > >> Indeed this range has grown wild. Without aiming to be exhaustive (I'm certainly missing some interesting proposals lost in the abyss of bitcointalk.org), we can mention the following use-cases: multi-party stateful contracts [11], congestion trees [12], payment pools [13], "eltoo" layered commitments [14], programmable vaults [15], multi-events contracts [16], blockchain-as-oracle bets [17], spacechains [18], trustless collateral lending [19], ... > > The big question you missed is whether capabilities are in scope for a covenants proposal. In particular, vaults work a lot better when payments to them are immediately locked up in the vault rather than it having to do a step to accept them first.