CHIPs · CHIP-2021-01 · activated

Restrict Transaction Version

Made transaction versions other than 1 and 2 invalid by consensus, so a future transaction format can use a never-before-seen version number.

Verified

Summary

Before 2023, only relay policy limited transactions to version 1 or 2. Any version number was valid by consensus. This CHIP makes versions 1 and 2 the only valid ones, at the consensus level.

The BCHN upgrade spec lists it as “CHIP-2021-01 Restrict Transaction Version”. It shares the 2021-01 number with the separate Minimum Transaction Size CHIP.

Motivation

Mark Lundeberg set out the problem in the 2020 discussion thread. Any new transaction format should use a never-before-seen version number. Then software can tell old and new formats apart from the first four bytes, with no other context.

But while any version was valid by consensus, a disruptive miner could mine old-format transactions using the number reserved for a new format, before it activated. Parsers would then need to know which block a transaction came from to read it. “Context-free parsing is very valuable and worth keeping.”

The thread also estimated the cost as near zero: miners use version 1 for coinbase transactions, and wallets were already bound by the policy rule.

What it specifies

From the May 2023 upgrade (median time past 1684152000), a transaction with a version other than 1 or 2 is invalid.

Current status

Activated on 15 May 2023 with CashTokens. bitjson’s upgrade summary credits Tom Zander, Jonathan Silverblood and bitcoincashautist as proposers. It clears the way for a future format such as TXv5.

No formal stakeholder table was found for this CHIP.

Sources

  1. 2023-05-15 Network Upgrade Specification
  2. Restrict transaction version numbers (Bitcoin Cash Research)
  3. Bitcoin Cash Upgrade 2023 (bitjson's blog)