Hacker News new | ask | show | jobs
by yetfeo 4504 days ago
The reason why exchanges and other software are having trouble with malleable transactions is not due to bad software using transaction ids. It's an edge case with the reference bitcoin client. See: http://www.reddit.com/r/Bitcoin/comments/1xm49o/due_to_activ...

Basically the reference client allows an edge case where it allows spending an unconfirmed output if that output was generated by the wallet itself as change. This can form a chain of unconfirmed transactions. When the malleable bot modifies the original one they all become invalid. The reference client does not handle this case well, it gets balances wrong, and clogs the wallet up.

It's unfortunate that Mt Gox got a lot of heat for calling out the issue from the foundation and core developers saying that malleability was known and wasn't a bit issue. in fact it is an issue due to this edge case in the reference client.