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.