UTXO stands for Unspent Transaction (TX) Output. Basically, it is the amount or leftover cryptocurrency change that you receive from each transaction. Only unspent outputs can be used as inputs to a transaction. When a transaction takes place, inputs are deleted and outputs are created as new UTXOs that may then be consumed in future transactions.
For instance, if you have a UTXO that defines that you have 10 coins, and you want to buy something that costs 2 coins, you would make a transaction that would spend your entire UTXO balance by sending 2 coins to the other person, and 8 coins back to yourself. Once this transaction is complete, a UTXO would be created, both for the spender and the receiver. In general, the UTXO specifies how much the user got back or received, which basically defines how much the user can spend. The amount the user gets back would be added to his or her account balance. Thus, it is most likely that each user would have more than one UTXOs, and the sum of all the unspent coins in every UTXO would be the user’s total account balance.
· Simplicity due to UTXOs are uniquely referenced and completely consumed upon spending, there is no chance for a transaction to be replayed.
· Transactions can be trivially verified in parallel. It is impossible for two transactions to affect the same UTXO. This is due to the stateless nature of UTXO transactions. Transactions do not refer to any input outside of the UTXOs consumed and corresponding signatures.
· Privacy preserving behavior is encouraged in the UTXO model. Users are encouraged to generate a new address for every incoming transaction including change addresses. By using a new address each time, it is difficult to definitively link different coins to a single owner.
· UI/UX considerations are tricky. Users tend to think of accounts when they conceptualize their money. It is up to the wallet provider to manage a potential set of addresses and sum the corresponding balances. Doing so in a privacy preserving way may require running a local node.
· Smart contracting abilities are quite limited in a UTXO model. Each UTXO has spending criteria that dictates spending conditions. This can require signatures from multiple parties, but there is little ability to reference outside state such as oracles.