Transaction Malleability is the act of changing a cryptocurrency transaction such that the transaction is still valid but has a different transaction ID than the original transaction: Transaction Malleability
The tool provides functions to manipulate transactions the following ways:
- Increase signature length with non-canonical length encoding
- Change ECDSA S-values (High-S changed to Low-S, and vice versa)
Low-S/High-S is an issue present in bitcoin, and many alt-coins are vulnerable to both issues.
Issue #1 can cause double-spend, a blockchain fork/split, and cause some clients to fault/crash.
Issue #2 can cause double-spend attacks against vulnerable services and clients.
Header-file integrates into the source-code of almost any crypto-currency wallet. A few simple code edits add transaction malleability RPC commands.