BIP 54 — Consensus Cleanup
Bundles four consensus soft-fork fixes: a timewarp-attack timestamp constraint, a transaction signature-operation limit, invalidating 64-byte transactions, and mandatory coinbase nLockTime.
Entries tagged with this topic. Spans across types and sources — explore connections between people, events, and themes.
20 entries
Antoine Poinsot ↔ Matt Corallo
Bundles four consensus soft-fork fixes: a timewarp-attack timestamp constraint, a transaction signature-operation limit, invalidating 64-byte transactions, and mandatory coinbase nLockTime.
Pieter Wuille ↔ Jonas Nick, Anthony Towns
Specifies tapscript — the taproot script-path validation rules: Schnorr signature checks via OP_CHECKSIG/OP_CHECKSIGADD, OP_SUCCESS upgrade opcodes, and a per-input sigops budget.
Pieter Wuille ↔ Jonas Nick, Anthony Towns
Taproot — Bitcoin's most significant protocol upgrade since SegWit. Combines Schnorr (BIP 340) with MAST so complex spending conditions look like simple payments on-chain.
Proposes hashrate-escrow sidechains: six OP_RETURN messages (M1-M4) for sidechain proposal and withdrawal-bundle voting, plus M5/M6 deposit and withdrawal transactions governed by miner ACKs.
Specifies a version-bits soft fork activation mechanism using block heights instead of timestamps, adding a flag that can guarantee lock-in before a timeout height.
Fixes ECDSA signature malleability with two consensus rules: LOW_S, requiring the lower-half S value, and NULLFAIL, requiring failing signatures be empty byte arrays.
New SegWit v0 signature-hash algorithm: commits to the input's spent amount, fixes O(n^2) quadratic hashing, and changes OP_CODESEPARATOR/FindAndDelete handling.
Eric Lombrozo ↔ Johnson Lau, Pieter Wuille
Segregated Witness (SegWit) — Bitcoin's most significant protocol upgrade since creation. Separates signature from transaction data, fixing malleability, enabling Lightning, raising block capacity.
Pieter Wuille ↔ Peter Todd, Greg Maxwell, Rusty Russell
Defines the original version-bits mechanism for signaling and activating soft forks in parallel via the block nVersion field, using median-time-past thresholds and a fixed timeout.
Thomas Kerin ↔ Mark Friedenbach
Soft fork redefining lock-time eligibility to use the median of the past 11 blocks' timestamps instead of a single block's timestamp, removing miners' incentive to lie about block time.
Mark Friedenbach ↔ BtcDrak, Nicolas Dorier, kinoshitajona
Repurposes the transaction sequence number as a consensus-enforced relative lock-time, letting an input stay unspendable for a set number of blocks or time after its output confirms.
Restricts ECDSA signatures in Bitcoin scripts to strict DER encoding, removing OpenSSL's implicit role in consensus validity and reducing transaction malleability.
Defines OP_CHECKLOCKTIMEVERIFY, a soft-fork opcode that makes a transaction output unspendable until a specified block height or time, enabling escrow and time-locked contracts.
Peter Todd proposed BIP 65, introducing OP_CHECKLOCKTIMEVERIFY — an opcode locking transaction outputs until a future time. Deployed as a soft fork, enabling escrow and payment channels.
Embeds the block height in each coinbase transaction's scriptSig and raises block version to 2, activated once 95% of the last 1,000 blocks signal support, enforcing coinbase uniqueness.
Defines the Pay-to-Script-Hash (P2SH) standard transaction type, shifting responsibility for redemption conditions from sender to redeemer via a 20-byte script hash.
Jeff Garzik ↔ Satoshi Nakamoto, Gavin Andresen
An integer overflow (CVE-2010-5139) let Block 74638 create 184 billion BTC. Satoshi released a fix 5h 40m after discovery; the fixed chain overtook the bad one about 15 hours after the block.
Bitcoin Institute ↔ Satoshi Nakamoto, Jeff Garzik, Gavin Andresen, knightmb
Structural reading of the 2010-08-15 overflow incident — soft-fork rescue mechanics, why a 5-hour response was only achievable then, transaction-shape forensics, and the centralization paradox.
Emergency release of Bitcoin v0.3.10 to fix a value overflow vulnerability exploited to create 184 billion bitcoins in a single transaction. Satoshi coordinated the rapid soft-fork deployment.
Satoshi's difficulty retarget has an off-by-one: it measures 2,015 blocks instead of 2,016. A hashrate majority can exploit it via timestamp manipulation. The Great Consensus Cleanup proposes a fix.