SIGHASH_ANYPREVOUT
Also covering SIGHASH_NOINPUT
SIGHASH_ANYPREVOUT, an updated version of SIGHASH_NOINPUT, is a proposal for a signature hash (sighash) where the identifier for the UTXO being spent is not signed, allowing the signature to be used with any UTXO that’s protected by a similar script (i.e. uses the same public keys).
A noinput-style sighash is necessary for the proposed eltoo layer for LN.
Primary code and documentation
Optech newsletter and website mentions
2023
- Using covenants like OP_CTV and APO to improve LN scalability
- Mashup of OP_CTV and APO proposed using OP_CSFS and OP_TXHASH
2022
- BIPs #1367 simplifies BIP118’s description of SIGHASH_ANYPREVOUT
- New software fork of Bitcoin Core for testing to include support for APO
- Creating drivechains with APO and a trusted setup
- Request to activate a slightly modified APO instead of (or before) CTV
- OP_TXHASH as a proposed alternative to CTV and APO
- Discussion about how APO or other covenant features could make DLCs much more efficient
2021
- 2021 year-in-review: SIGHASH_ANYPREVOUT
- Inherited identifiers proposal as an alternative to
SIGHASH_ANYPREVOUT
- BIPs #943 updates BIP118 to be named SIGHASH_ANYPREVOUT rather than SIGHASH_NOINPUT
- Using schnorr signatures plus
OP_CAT
to simulateSIGHASH_ANYPREVOUT
2020
- Discussion of various topics, including
SIGHASH_ANYPREVOUT
- Request to replace BIP118 with the
SIGHASH_ANYPREVOUT
proposal - Coinpool: using SIGHASH_NOINPUT to help create payment pools
- Impact of SIGHASH_NOINPUT and eltoo on LN backups
- Modification to
SIGHASH_ANYPREVOUTANYSCRIPT
to improve eltoo flexibility
2019
- 2019 year-in-review:
SIGHASH_ANYPREVOUT
- Continued discussion of noinput/anyprevout
- Criticism of
SIGHASH_ANYPREVOUT
and a generic alternative - New proposed
SIGHASH_ANYPREVOUT
mode - Discussion about increasing
SIGHASH_NOINPUT_UNSAFE
safety - Tagging outputs to increase safety of
SIGHASH_NOINPUT_UNSAFE
SIGHASH_NOINPUT_UNSAFE
edge cases
2018
- 2018 year-in-review:
SIGHASH_NOINPUT
- Proposal included additional data in sighashes
- Discussion of the evolution of script:
SIGHASH_NOINPUT_UNSAFE
- Renaming of
SIGHASH_NOINPUT
toSIGHASH_NOINPUT_UNSAFE
See also
Previous Topic:
Sidechains
Next Topic:
Signer delegation