Double-spending unconfirmed transactions is a lot easier than most people realise



Summary:

The prevention of 0-confirmation respends in the bitcoin network remains a challenge as no complete solution has been proposed. The partial solutions that have been suggested should move towards a network with simple rules where the certainty does not disappear immediately below the time of 1 confirmation. A network where transaction submitters consider their transactions unchangeable moment they are transmitted and where the goal is to confirm only transactions whose UTXOs have not yet been seen in a final transaction's input provides a chance for such a network. If respend attempts broadcast widely, then after a time on the order of transaction propagation time, double-spending transactions can occur. In a real-world example, a gambling service LuckyBit was used to demonstrate how a double-spend occurs. The double-spend was mined by Eligius, which blacklists transactions to several addresses considered "spam" by the pool operators. Affected transactions are not added to the Eligus mempool at all. In discussion with Lucky Bit, they have added case-specific code to reject transactions with known blacklisted outputs.


Updated on: 2023-06-08T20:41:57.939662+00:00