Fair deposits against double-spending for Bitcoin transactions - YU, Xingjie (Institutional Knowledge at Singapore Management University, 2017)
In Bitcoin network, the distributed storage of multiple copies of the blockchain opens up possibilities for double spending, i.e., a payer issues two separate transactions to two different payees transferring the same coins. To detect the doublespending and penalize the malicious payer, decentralized non-equivocation contracts have been proposed. The basic idea of these contracts is that the payer locks some coins in a deposit when he initiates a transaction with the payee. If the payer double spends, a cryptographic primitive called accountable assertions can be used to reveal his Bitcoin credentials for the deposit. Thus, the malicious payer could be penalized by the loss of deposit coins. However, such decentralized non-equivocation contracts are subjected to collusion attacks where the payer colludes with the beneficiary of the deposit and transfers the Bitcoin deposit back to himself when he double spends, resulting in no penalties. On the other hand, even if the beneficiary behaves honestly, the victim payee cannot get any compensation directly from the deposit in the original design. To prevent such collusion attacks, we design fair deposits for Bitcoin transactions to defend against double-spending. The fair deposits ensure that the payer will be penalized by the loss of his deposit coins if he double spends and the victim payee's loss will be compensated. We start with proposing protocols of making a deposit for Bitcoin transactions. We then analyze the performance of deposits made for Bitcoin transactions and show how the fair deposits work efficiently in Bitcoin.