What is the UTXO set?
The unspent outputs a Bitcoin node keeps track of to check new payments against its accepted blockchain.
The UTXOUTXOAn unspent transaction output: an amount of bitcoin left by a transaction, with rules for spending it. set records the current unspent outputs, identified by the transaction that created each one and its output number. It leaves out outputs that are provably impossible to spend.
As a node connects a block, it removes outputs spent in that block and adds the new ones that remain unspent. The blockchainBlockchainBitcoin's shared record of every payment since 2009, stored in blocks that each link to the one before — which is what makes it a chain. retains the transaction history; the UTXO set is the current state needed to check spending.
The confirmed set is separate from the mempoolMempoolThe waiting room for Bitcoin transactions that have been sent but aren't in a block yet., where a node also tracks waiting transactions and their effects on which outputs can be spent.
References
- Bitcoin Core 30.0, “Adding and spending coins in the UTXO cache”.