Subject: Re: [bitcoin-dev] Automatically reverting ("transitory") soft forks, e.g. for CTV

From: "David A. Harding" <[email-masked]>
Date: Thu, 21 Apr 2022 15:44:41 -1000

On 21.04.2022 14:28, Anthony Towns wrote:
> But, if [it's true that "many [...] use cases [...] to use CTV for
> are very long term in nature"], that's presumably incompatible
> with any sort of sunset that's less than many decades away, so doesn't
> seem much better than just having it be available on a signet?

I fully acknowledge that a temporary test can't fully replicate a 
permanent condition.  That said, if people truly believe CTV vaults will 
significantly enhance their security, wouldn't it be worth using them 
for most of the deployment?  Users would receive both years of added 
security and the opportunity to convince other Bitcoiners to make CTV 
permanent by demonstrating real-world usage.

> If sunsetting were a good idea, one way to think about implementing it
> might be to code it as:
> 
>   if (DeploymentActiveAfter(pindexPrev, params, FOO) &&
>       !DeploymentActiveAfter(pindexPrev, params, FOO_SUNSET))
>   {
>       EnforceFoo();
>   }

Defining at the outset how we'll signal years later if we want to keep 
the rules seems intelligent to me.

Thanks!,

-Dave