Transaction Malleability
Transaction Malleability is a vulnerability where the unique identifier of a transaction can be changed before it is confirmed on the blockchain without invalidating the signature. This occurs because the signature itself is part of the data that generates the transaction hash, and minor modifications to the signature encoding can change the hash.
If an attacker changes the hash, they can trick a recipient into thinking the transaction failed, even if it actually succeeded. This can be exploited to perform double-spending or to confuse accounting systems in exchanges.
Most modern protocols have implemented Segregated Witness or similar updates to separate the signature data from the transaction data, effectively solving this issue. Understanding this risk is crucial for developers building exchange interfaces and order matching engines.