Transaction Malleability
A historical Bitcoin issue where a transaction's unique identifier could be altered without invalidating the transaction itself, complicating systems that tracked transactions by ID.
Transaction malleability was a historical property of Bitcoin's original transaction format where a transaction's unique identifier (its hash) could be altered by a third party, without actually invalidating the transaction's validity or changing where funds were sent — the transaction itself stayed valid, but its ID changed.
This created real, practical problems for any system that tracked unconfirmed transactions by their ID (such as early payment channel designs), since the ID a system expected to see confirmed could change before confirmation. Bitcoin's SegWit upgrade (see Kaavon's "SegWit" glossary definition) specifically resolved this issue for the majority of transaction data going forward.
Examples
- Transaction malleability could change a pending transaction's ID without invalidating the transaction itself, breaking systems that tracked it by that original ID.
- Bitcoin's SegWit upgrade was specifically designed to resolve transaction malleability, a real, documented problem for certain early technical designs.