Understanding Bitcoin Double-spending

In cryptocurrencies, an Unspent Transaction Output (UTXO) is a distinctive element of a subset of digital currency models. A UTXO represents a certain amount of cryptocurrency that was authorized by a sender and available to be spent by a recipient.

Every Bitcoin transaction is composed of inputs and outputs. Inputs consume an existing UTXO, while outputs create a new UTXO. A sender signs a transaction and broadcasts it to the network.

Double-spending is the usage of the same input coins for the next new transaction(s). A set of coins, receiver, and the network fee can be the same or partially different. These transactions are in the mempool before miners add one of them to the next block.

block

Bitcoin and its ledger are secured by proof-of-work (PoW) consensus, which also secures the system and verifies transactions. Miners prefer transactions with high network fees and small sizes to combine them into a block and maximize their profit. After confirmation, other double-spend transaction(s) are deleted.

bitcoin double spending animation

Double spend also known as flash transaction.

Usually, scammers use double-spending to show unconfirmed transactions to cheat a seller.
However, when a transaction is stuck with a low network fee, you can also use this method to create a new transaction with a higher network fee. In special cases, wallets support the RBF protocol which means creating a new transaction with the same inputs and outputs but with a higher network fee for faster confirmation on the blockchain.

buy me a coffee