Crypto glossary
Bitcoin Script
Bitcoin Script is the simple, stack-based programming language that defines the conditions under which each bitcoin output can be spent.
Every Bitcoin output carries a locking script, and anyone who wants to spend it must provide data that makes the script evaluate to true. Script is a small stack-based language with opcodes for checking signatures, hashes, timelocks and basic arithmetic. A standard payment simply requires a signature matching a public key, while more complex scripts enable multisig, timelocks and hashlocks.
The language is intentionally limited. It has no loops and is not Turing-complete, which makes the cost and outcome of validating any script predictable and reduces the attack surface. Satoshi Nakamoto disabled several opcodes in 2010 after bugs were found. Upgrades such as SegWit and Taproot introduced new script versions, including Tapscript, and tools like Miniscript make writing correct scripts easier.
Because of these limits, Bitcoin cannot natively run complex applications like Ethereum. That is a deliberate trade-off between expressiveness and security, and it fuels the debate over covenants and other new opcodes. Projects build more advanced logic on top through layer 2s, sidechains or schemes like BitVM.
Example
A 2-of-3 multisig output's script checks that two valid signatures from three listed public keys are present; a transaction with only one signature fails and cannot spend the coins.
