How it works

Permanent Reduced Data, still Bitcoin.

This page summarizes the short-term hard fork. Code must match doc/purity-consensus.md (opens in a new tab). Later ideas belong on the roadmap and are not active rules.

Activation

Activation height nPurityActivationHeight is hardcoded on mainnet to 961637. The first Purity consensus block is pinned to the hash 0000000000000000003ea74f4dafdda7ed4e02c4c1ccb9768e0ca4f9e1a35159. A different block at that height is invalid under consensus, even when checkpoints are disabled with -checkpoints=0.

Mainnet launched at , at height 961637. The enforcement-chain split is at 961632. If an upgraded node already has a conflicting block at the activation height, rebuild its block index with -reindex.

Fork baseline

The Knots/BIP110 enforcement chain that rejected non-signaling blocks at height 961632 — not the Core majority chain at the same height. Historical Bitcoin / Knots validation is unchanged before the Purity activation height, so IBD still works.

CONSENSUS

Permanent RDTS

BIP110 Reduced Data rules become always active at the Purity activation height and never expire. They cannot be turned off with consensus-rule opt-outs. After activation, version-bit 4 mandatory signaling is not required. The rules are consensus, not a miner poll.

Script elements include the documented P2SH redeemScript-push exemption. Block size and weight limits remain those inherited from Bitcoin.

Non-empty non-OP_RETURN scriptPubKey

≤ 34 bytes

OP_RETURN outputs

≤ 83 bytes

Script elements

≤ 256 bytes

Taproot control blocks

depth ≤ 7

Taproot annex

invalid

OP_IF / OP_NOTIF in Tapscript

forbidden

ACTIVE IN THIS TREE

Difficulty: aserti3-1d

Port of Bitcoin Cash aserti3. Half-life 86400 seconds (24 hours). Ideal block time remains 600 seconds. Anchor is enforcement-chain block 961632. From the Purity activation height onward, GetNextWorkRequired uses ASERT. Blocks before that height still use Bitcoin’s 2016-block DAA.

UNCHANGED

Unchanged

  • SHA256d proof-of-work
  • P2P magic f9beb4d9, default port 8333
  • Address formats, transaction serialization, sighash
  • No transaction-level replay protection
  • Block size / weight limits inherited from Bitcoin

Developers · Safety