SIGHASH_ANYPREVOUT has been designed as I understand primarily for the eltoo channel construction use case although it has [many other potential use cases][1] too. BIP 119 [states][5]: > Were both OP_CHECKTEMPLATEVERIFY and OP_CHECKSIGFROMSTACKVERIFY to be > added to Bitcoin, it would be possible to implement a variant of > Eltoo's floating transactions using the following script: witness(S+n): <sig> <H(tx with nLockTime S+n paying to program(S+n))> program(S): OP_CHECKTEMPLATEVERIFY <musig_key(pk_update_a, pk_update_b)> OP_CHECKSIGFROMSTACKVERIFY <S+1> OP_CHECKLOCKTIMEVERIFY How do these two eltoo channel constructions compare e.g. upsides and downsides? They clearly aren't equivalent. The BIP states: > Compared to SIGHASH_ANYPREVOUTANYSCRIPT, because > OP_CHECKTEMPLATEVERIFY does not allow something similar to > SIGHASH_ANYONECANPAY or SIGHASH_SINGLE, protocol implementers might > elect to sign multiple versions of transactions with CPFP Anchor > Outputs or Inputs for paying fees or an alternative such as > transaction sponsors might be considered. [1]: https://anyprevout.xyz/ [2]: https://twitter.com/ProofOfKeags/status/1474780645859762180?s=20 [3]: https://bitcoin.stackexchange.com/questions/107797/what-is-sighash-anyprevoutanyscript/ [4]: https://twitter.com/JeremyRubin/status/1474399666225618950?s=20 [5]: https://github.com/bitcoin/bips/blob/master/bip-0119.mediawiki#Eltoo_with_OP_CHECKSIGFROMSTACKVERIFY