An efficient strategy to eliminate malleability of bitcoin transaction
Bitcoin is decentralized cryptocurrency which has recently become increasingly popular all over the world. Blockchain works as a public ledger to record all transactions in Bitcoin system. A transaction to transfer bitcoins includes a set of inputs and outputs, with its unique hash value. However, the owners of transferred bitcoins can only sign on the transaction to provide integrity for its content without guarantee for its output script. This is considered as transaction malleability in Bitcoin system, which allows an attacker to intercept, modify, and rebroadcast a transaction into the Bitcoin network. This attack deceives the transaction issuer into believing that the original transaction failed to be recorded in blockchain. The vulnerability has been utilized by attackers leading a bankruptcy of the largest Bitcoin exchange at that time. To avoid this situation happens again, we present an efficient strategy to secure user wallet in this paper. Our scheme confirms success of a transaction not only relying on its unique hash value, but also relying on the address balance it spends. This strategy doesn't add too much complexity and is easy to implement in existing wallets. It is resistant to transaction malleability and helps Bitcoin users to protect their property from malicious entities.