Bitcoin Transaction malleability and Mastercoin

By John Hacker (Own work) CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0), via Wikimedia Commons

Many of you are probably wondering how the transaction malleability problem affects Mastercoin; in short it doesn’t. However understanding why it doesn’t is worthwhile. First of all, let’s quickly go over what transaction malleability is: In Bitcoin transactions are often referred to by the cryptographic hash of the actual data in the transaction, often called the txid. These txids are used within transactions themselves to refer to the previous transaction whose coins are being spent. Since the data being hashed is the entire transaction, not just a part of it, that includes the cryptographic signatures that the Bitcoin system uses to determine if the transaction is in fact authorized to spend the Bitcoins it is trying to spend. The problem is that cryptographic signatures can’t sign themselves – it’s kinda like asking a sealed envelope to somehow contain itself. Since the signature data itself isn’t signed, if you can find a way to change the data representing a signature without making it invalid, you’ve changed the txid of the transaction, yet it’s still valid and can still be included in the blockchain. To make a long story short, there’s a lot of ways that a signature can be mutated without making it invalid and banning all those ways from happening isn’t trivial. Continue reading “Bitcoin Transaction malleability and Mastercoin”

Bitcoin Transaction malleability and Mastercoin