How to deal with malleability of BitCoin transactions
This addresses a security vulnerability in Bitcoin-based distributed contracts, particularly for protocols relying on refund transactions, offering a practical solution without requiring protocol changes.
The paper tackles the problem of Bitcoin transaction malleability, which can disrupt protocols and cause financial loss, by introducing a general technique for creating malleability-resilient refund transactions without modifying the Bitcoin protocol, enabling fairness in any two-party computation using Bitcoin in its current version.
BitCoin transactions are malleable in a sense that given a transaction an adversary can easily construct an equivalent transaction which has a different hash. This can pose a serious problem in some BitCoin distributed contracts in which changing a transaction's hash may result in the protocol disruption and a financial loss. The problem mostly concerns protocols, which use a "refund" transaction to withdraw a deposit in a case of the protocol interruption. In this short note, we show a general technique for creating malleability-resilient "refund" transactions, which does not require any modification of the BitCoin protocol. Applying our technique to our previous paper "Fair Two-Party Computations via the BitCoin Deposits" (Cryptology ePrint Archive, 2013) allows to achieve fairness in any Two-Party Computation using the BitCoin protocol in its current version.