Home › Glossary

Bitcoin glossary

72 terms you'll meet in Bitcoin Improvement Proposals, explained in plain English.

Anchor output
An anchor output is a small extra output on a pre-signed transaction that can be spent by a CPFP child to add fees when the transaction is broadcast.
Base58Check
Base58Check is the original text encoding for Bitcoin addresses and keys: Base58 characters plus a 4-byte checksum from double SHA-256.
Bech32
Bech32 is the checksummed base32 address format from BIP 173, used for native SegWit version 0 addresses that start with bc1q.
Bech32m
Bech32m is the modified Bech32 address format from BIP 350, used for SegWit version 1 and later, such as Taproot addresses starting with bc1p.
BIP (Bitcoin Improvement Proposal)
A BIP (Bitcoin Improvement Proposal) is a numbered design document that proposes a new feature, standard or process for Bitcoin.
BIP 39 passphrase
An optional secret added to a BIP 39 seed phrase. The same words with a different passphrase open a completely different wallet.
Bitcoin Script
Bitcoin Script is the simple stack-based language that sets the conditions for spending each output, such as which signatures or timelocks are required.
Bitcoin URI
A Bitcoin URI is a bitcoin: link, defined in BIP 21 and BIP 321, that packs an address, amount and label into one clickable or scannable string.
Block weight
Block weight is the SegWit-era measure of block size: non-witness bytes count 4 units and witness bytes 1, with a limit of 4,000,000 weight units.
Bloom filter
A Bloom filter is a compact probabilistic set; BIP 37 used one so light wallets could ask full nodes for only the transactions matching their addresses.
Child pays for parent (CPFP)
Child pays for parent (CPFP) speeds up a stuck transaction by spending one of its outputs in a new high-fee transaction, so miners confirm both together.
Coinbase transaction
The coinbase transaction is the first transaction in every block, written by the miner to collect the block subsidy and fees; it has no real inputs.
CoinJoin
A CoinJoin is one transaction that combines inputs from several people, usually with equal-value outputs, so observers can't tell who paid whom.
Compact block filters
Compact block filters (BIP 157 and 158) are small per-block summaries that let light wallets find their transactions without revealing their addresses.
Consensus rules
Consensus rules are the checks every full node applies to decide whether a block or transaction is valid; a block that breaks one is rejected.
Covenant
A covenant is a script rule that restricts where coins can be sent next, not just who can spend them; several Bitcoin proposals would enable them.
Derivation path
A derivation path like m/84'/0'/0'/0/0 locates one key inside an HD wallet: the sequence of child indexes taken from the master key.
Dust
Dust is a bitcoin output so small that spending it would cost more in fees than it's worth. Nodes don't relay transactions that create it by default.
ECDSA
ECDSA (Elliptic Curve Digital Signature Algorithm) is the signature scheme Bitcoin has used since 2009, over secp256k1, for all pre-Taproot outputs.
Entropy
Entropy is the randomness a wallet starts from: typically 128 to 256 random bits that a seed phrase encodes and every private key is derived from.
Hard fork
A hard fork is a change to Bitcoin's consensus rules that makes previously invalid blocks valid, so nodes that don't upgrade split off the chain.
Hardened derivation
Hardened derivation is a BIP 32 way of deriving child keys that requires the parent private key, written with ' or h, as in m/84'/0'/0'.
HD wallet
An HD (hierarchical deterministic) wallet derives a whole tree of keys from one seed, as defined in BIP 32, so a single backup restores every address.
HTLC
An HTLC (hashed time-locked contract) pays whoever reveals a secret before a deadline and refunds the sender after it; Lightning routes payments with them.
Lightning Network
The Lightning Network is a layer-2 payment network on Bitcoin: users pay through chains of off-chain channels and settle on-chain only when needed.
MAST
MAST commits to many alternative spending scripts in a Merkle tree so only the branch actually used is revealed; Taproot implements it as script trees.
Mempool
The mempool is a node's waiting area for valid, unconfirmed transactions; miners choose from it, usually by fee rate, when they build a block.
Merkle tree
A Merkle tree hashes many items into one 32-byte root, so any single item can be proven to be included with a short proof instead of the whole list.
Miniscript
Miniscript is a structured way to write Bitcoin Script, specified in BIP 379, that makes complex spending conditions easy to analyze, combine and sign.
Multisig
Multisig (multi-signature) locks bitcoin so that M of N chosen keys must sign to spend it, for example any 2 of 3 keys kept in different places.
MuSig2
MuSig2 is a Schnorr multi-signature scheme (BIP 327): several signers share one aggregate key and produce one ordinary-looking signature.
Node
A Bitcoin node is a computer running Bitcoin software that downloads, checks and relays blocks and transactions; a full node verifies every rule itself.
OP_CHECKLOCKTIMEVERIFY (CLTV)
OP_CHECKLOCKTIMEVERIFY (CLTV, BIP 65) is an opcode that keeps an output unspendable until a chosen block height or time: an absolute timelock.
OP_CHECKSEQUENCEVERIFY (CSV)
OP_CHECKSEQUENCEVERIFY (CSV, BIP 112) is an opcode that blocks spending an output until it has aged a set number of blocks or time since it confirmed.
OP_RETURN
OP_RETURN is the Bitcoin Script opcode (0x6a) that makes an output provably unspendable, used to embed small amounts of data in a transaction.
Opcode
An opcode is a one-byte instruction in Bitcoin Script, such as OP_CHECKSIG (0xac) or OP_RETURN (0x6a), that pushes data or acts on the stack.
Output descriptor
An output descriptor is a short text string that says exactly which scripts and addresses a wallet uses: script type, keys and derivation paths.
P2PKH
P2PKH (Pay to Public Key Hash) is Bitcoin's original single-key output type: coins locked to a public key hash, with addresses starting with 1.
P2SH
P2SH (Pay to Script Hash), defined in BIP 16, locks bitcoin to the hash of a script. Its addresses start with 3, and it carried most early multisig.
P2TR
P2TR (Pay to Taproot) is the SegWit version 1 output type from BIP 341: one 32-byte key with optional hidden scripts. Addresses start with bc1p.
P2WPKH
P2WPKH (Pay to Witness Public Key Hash) is the native SegWit single-key output type. Its bc1q addresses are always 42 characters long.
P2WSH
P2WSH (Pay to Witness Script Hash) is the native SegWit output for scripts such as multisig: a 32-byte script hash with a 62-character bc1q address.
Package relay
Package relay lets Bitcoin nodes accept and relay related unconfirmed transactions together, so a high-fee child can carry a low-fee parent.
Payjoin
Payjoin is a payment where the receiver adds their own input to the sender's transaction, breaking the assumption that all inputs belong to the payer.
Private key
A private key is a secret 256-bit number that signs Bitcoin transactions. Whoever knows it can spend the coins it controls.
PSBT
A PSBT (Partially Signed Bitcoin Transaction) is the standard format, from BIP 174, for passing a not-yet-signed transaction between wallets and signers.
Public key
A public key is a point on the secp256k1 curve derived from a private key. Others use it to verify your signatures, and addresses are built from it.
Replace-by-fee (RBF)
Replace-by-fee (RBF) lets you replace an unconfirmed Bitcoin transaction with a new version that pays a higher fee, so it confirms sooner.
Satoshi (sat)
A satoshi (sat) is the smallest unit of bitcoin: one hundred-millionth of a bitcoin, or 0.00000001 BTC. 1 BTC = 100,000,000 sats.
Schnorr signatures
Schnorr signatures are the 64-byte digital signatures standardized in BIP 340 and used by Taproot. They are simpler and more flexible than ECDSA.
Seed phrase
A seed phrase is a list of 12 to 24 words, defined by BIP 39, that encodes the random number from which a wallet derives all of its keys.
SegWit (Segregated Witness)
SegWit (Segregated Witness) is the 2017 soft fork that moved signatures into a separate witness, fixing malleability and introducing block weight.
Sighash flags
Sighash flags are a byte on each Bitcoin signature saying which parts of the transaction it covers, such as SIGHASH_ALL (0x01) for all of it.
Signet
Signet is a Bitcoin test network, defined in BIP 325, where blocks must be signed by designated keys, making it far more predictable than testnet.
Silent payments
Silent payments (BIP 352) are reusable static addresses: each payer derives a fresh, unlinkable Taproot output, with no notification transaction.
Soft fork
A soft fork is a backward-compatible change to Bitcoin's consensus rules that only tightens them, so old nodes still accept the new blocks.
SPV (Simplified Payment Verification)
SPV (Simplified Payment Verification) is how light wallets check payments using only block headers and Merkle proofs, without downloading full blocks.
Taproot
Taproot is the 2021 Bitcoin soft fork (BIPs 340, 341, 342) that added Schnorr signatures and P2TR outputs which hide unused spending conditions.
Tapscript
Tapscript is the script language for Taproot script paths (BIP 342): Bitcoin Script with Schnorr signature checks, OP_CHECKSIGADD and OP_SUCCESS hooks.
Testnet
Testnet is a public Bitcoin test network whose coins are meant to have no value. Testnet 4 (BIP 94) replaced Testnet 3; BIP 95 proposes Testnet 5.
Timelock
A timelock is a rule that stops bitcoin from being spent until a set block height or time, or until the coin has aged a set amount since it confirmed.
Transaction malleability
Transaction malleability is the ability to change a transaction's ID without changing what it does, for example by re-encoding its signatures.
TXID
A TXID (transaction ID) is the 32-byte hash that identifies a Bitcoin transaction, shown as 64 hex characters in wallets and block explorers.
User-activated soft fork (UASF)
A user-activated soft fork (UASF) is a soft fork that full nodes enforce from a set date or height, rather than waiting for miners to signal support.
UTXO
A UTXO (unspent transaction output) is an amount of bitcoin locked to a script and not yet spent. A wallet's balance is the sum of its UTXOs.
v2 P2P transport
v2 P2P transport (BIP 324) encrypts connections between Bitcoin nodes, so eavesdroppers can't read the traffic or easily recognize it as Bitcoin.
Vault
A vault holds bitcoin so that withdrawals must wait out a delay, during which the owner can send the coins to a safe recovery address instead.
Version bits
Version bits (BIP 9) let miners signal readiness for soft forks by setting bits in the block version field, with each upgrade on its own bit.
Virtual byte (vbyte)
A virtual byte (vbyte, vB) is the unit of Bitcoin transaction size since SegWit: weight divided by four. Fee rates are quoted in sat/vB.
WIF (Wallet Import Format)
WIF (Wallet Import Format) writes a single private key as Base58Check text starting with 5, K or L, so it can be moved between wallets.
Witness
The witness is the part of a SegWit transaction that holds signatures and scripts, kept out of the txid so it can't be changed to alter the transaction ID.
xpub (extended public key)
An xpub is a BIP 32 extended public key: a public key plus chain code that can derive every address in an account, but can't spend from them.