Double-spending unconfirmed transactions is a lot easier than most people realise [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2014-04-24T00:42:20+00:00


Summary:

The goal of miners in the Bitcoin network is to maximize profits. However, there is a discussion on whether a network that prioritizes transaction certainty and values 0-confirm transactions would be more valuable for bitcoins. Rational miners are expected to want to collaborate to reduce the possibilities for double spend attacks. The rational miner wants to be rewarded with something spendable like cash on a 1-minute network, rather than something spendable on a 15-minute network. There is a prisoner's dilemma involved in this decision.In an email exchange between Matt Whitlock and Tom Harding, the possibility of a network where transaction submitters consider their transactions unchangeable upon transmission is discussed. Tom Harding believes that such a network has a chance to work. However, Matt Whitlock argues that miners' primary goal is to maximize profits, and if enabling replace-by-fee can achieve this, they will do it regardless of the consequences. The question is raised whether the fees gained from helping people double-spend their coffee supplier outweigh the benefits of ensuring that digital cash functions like traditional cash.On April 22, 2014, Jan Møller and another individual discuss the difficulty in executing a double-spend after an original transaction. It is noted that sending a non-standard transaction to Eligius would normally work, but in this particular case with LuckyBit, it would not because LuckyBit is directly connected to Eligius and Eligius relays non-standard transactions. However, Jan Møller points out that double-spending every bet would defeat the purpose of the action.The prevention of 0-confirmation respends in the bitcoin network is still a challenge, with no complete solution proposed. Partial solutions have been suggested to move towards a network with simple rules where certainty does not disappear immediately below the time of 1 confirmation. A network where transaction submitters consider their transactions unchangeable upon transmission, and the goal is to confirm only transactions with unseen UTXOs, provides a chance for such a network. If respend attempts are broadcast widely, then after a time on the order of transaction propagation time, double-spending transactions can occur.A real-world example is provided using LuckyBit, a gambling service, to demonstrate how a double-spend occurs. The double-spend was mined by Eligius, which blacklists certain transactions. LuckyBit has added case-specific code to reject transactions with known blacklisted outputs.The difficulty in sending a double-spend after the original transaction is discussed. It is suggested that sending a non-standard transaction to Eligius would normally work, but in this particular case, it is not possible. The reason for this is not explicitly stated. The connection between LuckyBit and Eligius, as well as Eligius relaying non-standard transactions, is questioned.The discussion focuses on the possibility of double spending and how it can be prevented, with a focus on business models and incentives. Two potential solutions to move towards a more secure network are presented. A real-world double-spend experiment is described, using an attack on gambling site LuckyBit. The attacker used a replace-by-fee patch and submitted the double-spend transaction directly to the Eligius pool. The author emphasizes the need for effective countermeasures such as blacklisting and off-chain transactions to prevent automated attacks. The email signature provides information about Jeff Garzik, a Bitcoin core developer and open-source evangelist at BitPay Inc.In summary, the context revolves around the goal of a network where transactions are considered unchangeable upon transmission and only confirm transactions that have not yet been seen in final transactions' inputs. There is a discussion on whether such a network can succeed, considering the goals of miners to maximize profits. The difficulty in executing a double-spend after an original transaction is explored, along with potential solutions to prevent double-spending. A real-world example of a double-spend attack on LuckyBit is provided, emphasizing the need for countermeasures.


Updated on: 2023-08-01T08:54:50.526641+00:00