This guide explains BIP 440 Varops Budget For Script Runtime Constraint 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 440 is a Draft consensus soft-fork specification for a variable-operation, or varops, budget. It generalises tapscript’s signature-operation budget to non-signature work whose runtime depends on stack-data size.
- Why it matters: BIP 440 proposes a general deterministic meter for data-dependent script work. Its value depends on exact consensus arithmetic, conservative worst-case costs and independent cross-platform verification before any activation discussion.
- Current position: BIP 440 is Draft and not active Bitcoin consensus.
BIP 440 Varops Budget For Script Runtime Constraint in simple English
BIP 440 Varops Budget For Script Runtime Constraint: Costs are charged during execution, and a transaction exceeding budget fails validation. Static analysis can prove some scripts remain under budget for all inputs, but runtime accounting remains consensus-sensitive.
Simple example
A node operator is checking BIP 440 Varops Budget For Script Runtime Constraint. BIP 440 is Draft and not active Bitcoin consensus. The budget is transaction-wide and equals total transaction weight multiplied by 10,000.
Key terms in plain English
- BIP:
- Bitcoin Improvement Proposal: a document describing a proposed rule, standard or process. Its status must be checked separately.
- Consensus:
- The shared rules full nodes use to decide whether blocks and transactions are valid.
- Node:
- A computer running Bitcoin software that checks data and communicates with other peers.
Status and purpose
BIP 440 is Draft and not active Bitcoin consensus. It is a cost framework other proposals can reference, intended to bound worst-case CPU and memory work without arbitrary feature-specific limits.
Transaction budget
The budget is transaction-wide and equals total transaction weight multiplied by 10,000. Transaction scope permits cross-input designs but means scripts share one finite resource.
Cost classes
Signature checks cost 500,000 units; hashing costs 50 per byte; copying 3 per output byte; fast comparisons 2; arithmetic 6; other variable operations 4; OP_ROLL adds cost per moved stack element.
Lengths and words
The specification distinguishes visible byte length from wordspan rounded to eight-byte boundaries. Implementations must use the formula’s named measure exactly.
Failure rule
Costs are charged during execution, and a transaction exceeding budget fails validation. Static analysis can prove some scripts remain under budget for all inputs, but runtime accounting remains consensus-sensitive.
Evidence
Costs were benchmarked across fourteen x86-64 and ARM64 machines on Linux, macOS and Windows. The published data supports the design but does not itself activate the rules.
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 440 Varops Budget For Script Runtime Constraint?
BIP 440 Varops Budget For Script Runtime Constraint: Costs are charged during execution, and a transaction exceeding budget fails validation.
For BIP 440 Varops Budget For Script Runtime Constraint, what should a beginner know about status and purpose?
BIP 440 is Draft and not active Bitcoin consensus. It is a cost framework other proposals can reference, intended to bound worst-case CPU and memory work without arbitrary feature-specific limits.
For BIP 440 Varops Budget For Script Runtime Constraint, what should a beginner know about transaction budget?
The budget is transaction-wide and equals total transaction weight multiplied by 10,000.
For BIP 440 Varops Budget For Script Runtime Constraint, what should a beginner know about cost classes?
Signature checks cost 500,000 units. Hashing costs 50 per byte. Copying 3 per output byte.
Conclusion
BIP 440 proposes a general deterministic meter for data-dependent script work. Its value depends on exact consensus arithmetic, conservative worst-case costs and independent cross-platform verification before any activation discussion.
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.