Research

How to deal with malleability of Bitcoin transactions

Year 2013
Author Marcin Andrychowicz, Stefan Dziembowski, Daniel Malinowski, Łukasz Mazurek
Publisher ArXiv
Link View Research Paper
Categories

Bitcoin

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 research paper, the authors show a general technique for creating malleability-resilient “refund” Bitcoin transactions, which does not require any modification of the Bitcoin protocol.

The technique proposed in this paper uses a Bitcoin-based timed commitment scheme. The authors briefly describe this commitment and then show how to construct Fuse transactions, which are resistant to malleability.  This leads to a general fair Two-Party Computation protocol, which is secure in the current version of the Bitcoin protocol (in particular, even if transactions are malleable).

This paper is for the technically minded who already have a base knowledge of Bitcoin transactions. The authors explore:

  • Bitcoin-based timed commitment scheme
  • Fuse transactions being resistant to malleability
  • Fair two-party computation protocols

If you want to know how to deal with the malleability of Bitcoin transactions, access this research report!