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.
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.