This guide explains BIP 118 SIGHASH_ANYPREVOUT in plain English. It covers the problem behind the BIP, why it matters and whether the proposal is part of Bitcoin today.
TL;DR
- What it is: BIP 118 is a Draft proposal for SIGHASH_ANYPREVOUT in Taproot scripts. Its current text defines a new tapscript public-key type whose signatures can omit commitment to the exact previous output and, optionally, the script.
- Why it matters: BIP 118 proposes carefully scoped signature reuse for advanced off-chain protocols. Its power comes from omitted commitments, so safe evaluation requires revision-pinned tests, strict key separation and explicit Draft, undeployed status.
- Current position: BIP 118 is a Draft proposal for SIGHASH_ANYPREVOUT in Taproot scripts.
BIP 118 SIGHASH_ANYPREVOUT in simple English
BIP 118 SIGHASH_ANYPREVOUT: The current proposal uses an unknown tapscript public-key type that a soft fork could assign stricter rules.
Simple example
A node operator is checking BIP 118 SIGHASH_ANYPREVOUT. Off-chain protocols sometimes need the same pre-authorised response to apply after several possible predecessor states, creating a demand for controlled omission.
Key terms in plain English
- BIP:
- Bitcoin Improvement Proposal: a document describing a proposed rule, standard or process. Its status must be checked separately.
- Soft fork:
- A proposed tightening of Bitcoin rules that old nodes may not enforce themselves.
- UTXO:
- An unspent transaction output: a piece of bitcoin that can be used as an input to a later transaction.
- Taproot:
- A Bitcoin upgrade that added new signature and script options for spending outputs.
- Node:
- A computer running Bitcoin software that checks data and communicates with other peers.
What ordinary signatures commit to
Bitcoin signatures normally commit to specific transaction data including the outpoint being spent. That prevents a signature from being moved to another UTXO. Off-chain protocols sometimes need the same pre-authorised response to apply after several possible predecessor states, creating a demand for controlled omission.
New tapscript key type
The current proposal uses an unknown tapscript public-key type that a soft fork could assign stricter rules. This confines the behaviour to deliberately constructed Taproot script paths rather than changing every Schnorr key. It depends on BIPs 340, 341 and 342.
ANYPREVOUT and ANYPREVOUTANYSCRIPT
One mode omits the exact previous output while retaining script-related commitment; the broader mode also weakens script commitment under specified conditions. That flexibility increases reuse and misuse risk. Signers must display which mode, amounts, outputs, sequences and scripts remain committed.
Eltoo motivation
Eltoo-style payment channels aim to replace older states with newer ones without penalty transactions for every state. A reusable update signature can attach to whichever compatible state reaches the chain. Protocol safety still depends on contest delays, state numbering, watch availability and correct output structure.
Replay and key separation
A signature transferable across inputs can be replayed wherever the remaining commitments match. Applications must use dedicated keys and scripts, domain-separated constructions and explicit lifecycle rules. Reusing an ANYPREVOUT-capable key for ordinary custody can expand the authorisation unintentionally.
Draft and evolution
BIP 118 remains Draft and has changed since its 2017 assignment, including its relationship with Taproot. Historical implementations may use older names or digest rules. Interoperability testing must pin a source revision and never mix signatures or vectors from different drafts.
How specialists test it
Developers test the proposal with made-up data on an isolated test network. They check normal cases and deliberately invalid cases. Different implementations should reach the same result before anyone relies on the proposal.
Frequently asked questions
What is the main point of BIP 118 SIGHASH_ANYPREVOUT?
BIP 118 SIGHASH_ANYPREVOUT: The current proposal uses an unknown tapscript public-key type that a soft fork could assign stricter rules.
For BIP 118 SIGHASH_ANYPREVOUT, what should a beginner know about what ordinary signatures commit to?
Bitcoin signatures normally commit to specific transaction data including the outpoint being spent.
For BIP 118 SIGHASH_ANYPREVOUT, what should a beginner know about new tapscript key type?
The current proposal uses an unknown tapscript public-key type that a soft fork could assign stricter rules.
For BIP 118 SIGHASH_ANYPREVOUT, what should a beginner know about anyprevout and ANYPREVOUTANYSCRIPT?
One mode omits the exact previous output while retaining script-related commitment.
Conclusion
BIP 118 proposes carefully scoped signature reuse for advanced off-chain protocols. Its power comes from omitted commitments, so safe evaluation requires revision-pinned tests, strict key separation and explicit Draft, undeployed status.
Primary sources
Check the current specification status and the documentation for the exact implementation you operate before moving production funds or changing a mining node.
Join the ASIC Mining Discussion
Members can read and join the discussion
Log in to read comments from other miners. Create a free account if you would like to ask a question or share your experience.
Membership helps us protect the discussion from spam and keep answers useful.