Protocol & upgrades
Bitcoin has no release manager. It has a proposal process, several implementations, and a large number of people who can simply refuse to run your code. This section explains how a change actually lands.
A BIP is a Bitcoin Improvement Proposal, a numbered document in a public repository. Being numbered says nothing about acceptance, and most BIPs go nowhere. The ones that matter got activated, and the words for how that happens are here: soft fork for a rules tightening change old nodes still accept, hard fork for one they do not, and the activation mechanisms that have been argued over more fiercely than the changes themselves.
SegWit and Taproot are the two upgrades most likely to turn up on an exchange withdrawal screen. SegWit moved signature data out of the part of the block that counts against the size limit, which cut fees for wallets that adopted it. Taproot added Schnorr signatures and made complex spending conditions look ordinary on chain, which is a privacy improvement as much as a capability one.
The section also carries the arguments that are still open rather than settled: covenants and the proposals that would enable them, OP_CHECKTEMPLATEVERIFY and OP_CAT, and the Ordinals, inscriptions and Runes fight over what block space is for. The measurements those arguments run on, block weight and the maximum block size, are defined under mining and consensus.
38 terms. Last reviewed 2026-09-07.
Terms in Protocol & upgrades
- Batch verificationBatch verification checks many Schnorr signatures in a single elliptic curve equation instead of one at a time, returning one pass or fail for the whole set.
- Bitcoin Improvement Proposalalso BIPA Bitcoin Improvement Proposal is a numbered design document that describes a change to bitcoin or a standard for wallets to follow, with no authority to impose it.
- BRC-20BRC-20 is an experimental token standard that writes JSON text into ordinal inscriptions and leaves every balance to be computed by off-chain indexers rather than by bitcoin.
- Cluster mempoolCluster mempool is the redesign of Bitcoin Core's waiting room that keeps every group of connected unconfirmed transactions sorted, so the node always knows which ones a miner would actually pick.
- Compact block relayalso BIP152Compact block relay replaces a new block on the wire with a list of six-byte identifiers, which the receiving node matches against transactions it already holds and reassembles locally.
- CovenantA covenant is a spending rule that limits where bitcoin can go next, not just who may move it, and no opcode in Bitcoin Script can enforce one today.
- Ephemeral anchorAn ephemeral anchor is a zero-value output added to a transaction purely so that somebody can attach a fee-paying child and drag the parent into a block.
- ErlayErlay is a proposed way for nodes to compare notes on which transactions they have seen using tiny sketches, instead of shouting every transaction hash at every peer.
- ForkA fork is any point where bitcoin's history or its rulebook splits in two, which is why the word covers three different events that resolve on completely different timescales.
- Hard forkA hard fork loosens or changes bitcoin's rules so that blocks the old software rejects become valid, which means every node must upgrade or be left behind on a different chain.
- Inscriptionalso Ordinal inscriptionAn inscription is a file stored inside a Taproot witness and attached to one satoshi, which is how images, text, and collectibles ended up living on bitcoin itself.
- Key path spendA key path spend settles a Taproot output with one signature over the tweaked output key, publishing a witness of exactly one element and revealing nothing about any alternative scripts.
- MASTalso Merkelized Alternative Script TreeMAST hides every spending condition you do not use behind a Merkle tree, so revealing one branch when you spend keeps the rest private and off the blockchain.
- Median time pastalso MTPMedian time past is bitcoin's consensus clock: the median of the previous eleven block timestamps, and the value every time-based locktime is checked against.
- Miner-activated soft forkalso MASFA miner-activated soft fork switches on when a supermajority of mined blocks signals for it, using the block version field as a vote counted automatically by every node.
- MiniscriptMiniscript is a structured way of writing the useful subset of Bitcoin Script so that software can analyze a spending policy, work out its costs, and sign for it automatically.
- MuSig2also Key aggregationMuSig2 lets several signers combine their public keys into one and produce a single 64-byte Schnorr signature, so a group spend looks identical to a solo spend on chain.
- OP_CATOP_CAT joins the top two items on the script stack into one, an operation Satoshi disabled in 2010 and that BIP-347 proposes to restore inside tapscript.
- OP_CHECKLOCKTIMEVERIFYalso CLTV, BIP65OP_CHECKLOCKTIMEVERIFY is the script opcode that stops a coin being spent before a stated block height or calendar date, no matter who holds the key.
- OP_CHECKSEQUENCEVERIFYalso CSV, BIP112OP_CHECKSEQUENCEVERIFY locks a coin for a stretch of time measured from its own confirmation, failing any spend whose input has not waited long enough.
- OP_CHECKSIGADDOP_CHECKSIGADD counts signatures one key at a time inside tapscript, replacing the old multisig opcode with a check that batch verification and future key types can both handle.
- OP_CHECKTEMPLATEVERIFYalso CTV, BIP119OP_CHECKTEMPLATEVERIFY is a proposed opcode that would let an output commit in advance to the exact transaction allowed to spend it, down to its outputs and amounts.
- Ordinalsalso Ordinal theoryOrdinals is a numbering scheme that assigns every satoshi a serial number in mining order and tracks it through transactions, giving individual units of bitcoin an identity.
- Runesalso Runes protocolRunes is a token protocol that records issuance and transfers in a single OP_RETURN output, so balances ride on unspent outputs instead of on inscribed text files.
- Schnorr signaturealso BIP340A Schnorr signature is the 64-byte signature scheme bitcoin adopted with Taproot, and its defining property is linearity: several keys and signatures add together into one.
- Script path spendA script path spend unlocks a Taproot output by revealing one leaf script, the inputs that satisfy it, and a control block proving that leaf was committed to by the address.
- SegWitalso Segregated Witness, BIP141SegWit moved signature data out of the part of a transaction that the txid commits to, fixing transaction malleability and raising block capacity without changing the one megabyte base limit.
- SIGHASH_ANYPREVOUTalso APOSIGHASH_ANYPREVOUT is a proposed signing mode for Taproot scripts that lets one signature spend any coin locked to a matching script, instead of the single coin it was made for.
- Soft forkA soft fork tightens bitcoin's rules so that blocks valid under the new software are still valid under the old, letting the network upgrade without anybody being forced off the chain.
- Speedy trialSpeedy Trial is the activation setup used for Taproot: a short miner signaling window with a lowered 90 percent threshold and enforcement deferred to a fixed later block height.
- Taprootalso BIP341Taproot is the 2021 soft fork that gave bitcoin Schnorr signatures and a new output type where the cooperative spending path looks identical to an ordinary single-key payment.
- Taproot annexThe Taproot annex is a reserved witness element, tagged with the byte 0x50, that consensus rules commit to in the signature but otherwise ignore during validation.
- Taproot merkle branchA Taproot merkle branch is the list of sibling hashes a script path spend publishes to prove its script was committed to the address being spent.
- TapscriptTapscript is the version of Bitcoin Script that runs inside Taproot script path spends, with Schnorr signatures, no opcode ceiling, and a signature budget in place of the old counters.
- User-activated soft forkalso UASFA user-activated soft fork enforces a new rule on a flag day chosen by node operators, so miners who ignore it find their blocks rejected rather than merely outvoted.
- Version bitsVersion bits treat the 32 bit version field in a block header as a row of independent switches, so miners can signal support for several soft forks at once.
- Witness commitmentThe witness commitment is a 32 byte hash in an output of the coinbase transaction that ties every wtxid in a block into the header's existing merkle tree.
- Witness dataalso WitnessWitness data is the signature material a SegWit transaction carries in a separate section, discounted to one weight unit per byte and excluded from the txid entirely.
The other 13 sections
- BasicsWhat bitcoin is, what a satoshi is, and the handful of ideas the rest of the glossary is built on.
- Addresses & keysWhere coins get sent, what a private key actually controls, and how one seed produces thousands of addresses.
- Wallets & custodyHot, cold, custodial and multisig, and what each one changes about who can move your coins.
- Privacy & securityThe attacks that take people's bitcoin, and the habits and tools that stop them.
- Transactions & feesWhat a bitcoin transaction is made of, why it costs what it costs, and how to unstick one.
- Buying & exchangesOrder types, spreads and fee schedules: the vocabulary an exchange uses while it is charging you.
- Markets & investingMarket cap, volatility and spot ETFs. The language of price, without the price predictions.
- Mining & consensusHow new blocks get made, what difficulty adjusts, and why the rules hold with nobody in charge.
- Lightning & layer 2Payment channels, invoices and routing, for moving bitcoin without paying for space in a block.
- Regulation & taxKYC, the Travel Rule, MiCA and capital gains: the rules that reach your account and your tax return.
- Culture & historyMt. Gox, the genesis block, HODL, and the events and slang that shaped how people talk about bitcoin.
- Nodes & softwareBitcoin Core, full nodes, pruning and RPC: the software that enforces the rules.
- Developer referenceP2P message types, opcodes and script terms: the field names you meet reading bitcoin code.
Frequently asked questions
Who decides what changes in bitcoin?
Nobody, in the sense of an authority. A change is written as a proposal, implemented, and then adopted only if node operators choose to run it. Anyone can refuse, and that ability to refuse is the mechanism rather than a flaw in it.
What is the difference between a soft fork and a hard fork?
A soft fork tightens the rules, so nodes that do not upgrade still accept the new blocks. A hard fork loosens them and splits the network if anyone declines. Bitcoin's recent upgrades have all taken the first route.
What did Taproot actually change?
It made complex spending conditions look like ordinary payments on chain, cut the cost of multisig, and introduced Schnorr signatures. Most users saw nothing change, which was largely the point. The benefits arrive as lower fees and better privacy in wallets that adopted it.
Are inscriptions and BRC-20 tokens part of bitcoin?
They use bitcoin's block space without being part of its rules. Nothing in the protocol recognises them, and opinion divides sharply over whether paying for that space is legitimate use or waste. Both sides pay the same fees for it.