UTXO
Een UTXO (unspent transaction output, een nog niet bestede transactie-uitvoer) is een afzonderlijk brokje cryptovaluta dat is ontvangen maar nog niet is uitgegeven, en het is de basiseenheid van de boekhouding in Bitcoin en vergelijkbare blockchains. In plaats van saldo's in accounts bij te houden, houdt een UTXO-keten een globale verzameling van deze niet-uitgegeven outputs bij; je "saldo" is gewoon de som van alle UTXO's die jouw sleutels kunnen ontgrendelen, zoals het contante geld in een portemonnee de som van de afzonderlijke biljetten is.
Elke transactie verbruikt hele UTXO's als inputs en maakt nieuwe aan als outputs. Omdat UTXO's niet gedeeltelijk kunnen worden uitgegeven, bevatten transacties meestal een wisseloutput (change) terug naar de afzender. Als je bijvoorbeeld één UTXO van 1 BTC hebt en iemand 0,3 BTC betaalt, geeft je transactie de volledige input van 1 BTC uit en maakt twee outputs aan: 0,3 BTC voor de ontvanger en ongeveer 0,7 BTC (min de fee) terug naar een wisseladres dat jij beheert. Wallets regelen deze boekhouding onzichtbaar, en daarom beseffen veel gebruikers nooit dat hun saldo uit losse stukken bestaat.
Het model staat tegenover het accountmodel van Ethereum, waarin het grootboek saldo's opslaat die worden afgeschreven en bijgeschreven. De voordelen van UTXO zijn eenvoudige parallelle validatie (elke transactie raakt onafhankelijke outputs) en betere privacygewoonten (een nieuw adres per betaling); de nadelen zijn de onhandigheid voor smart contracts en de noodzaak van coin selection. Een veelvoorkomende misvatting is dat een Bitcoinadres een saldo "bevat"; adressen zijn slechts vergrendelscripts op afzonderlijke UTXO's, en dust — UTXO's die zo klein zijn dat de fee om ze uit te geven niet de moeite waard is — is een praktisch gevolg van het model.