Unspent Transaction Output.
Welcome, premium subscribers! Thank you for subscribing. I appreciate you very much.
TLDR below. This is not financial advice.
ELI5: What is UTXO?
UTXO is a way of calculating how many tokens you have in your wallet (aka accounting method). There are many other ways.
UTXO stands for Unspent Transaction Output. It is the remaining amount or changes you get from each transaction. Only unused outputs can be used as inputs to a transaction. When a transaction takes place, the input is deleted and the output created as a new UTXO which can then be consumed in future transactions.
Think of it as a receipt that shows the balance amount or change. Add them up, and that is the total amount available for spending.
ELI5 explanation
A book costs $19.50. You have a $20 note. You pay with $20 and you get back $0.50 and a receipt saying you get back $0.50 in change.
Because everything is digital, it’s hard to verify if you really have that $0.50. Instead, we rely on this receipt to tell us how much you have. When you add all these receipts up and calculate the total change received, that is the total amount of balance money you have to spend.
High school explanation
Suppose you have a UTXO that determines that you have 10 coins and you want to buy something that costs 2 coins. You would make a transaction spending your entire UTXO balance by sending 2 coins to someone else and 8 coins back to yourself. Once this transaction is complete, a UTXO is created, for both the consumer and the receiver.
In general, UTXO specifies how much money the user has received, essentially determines how much the user can spend. The amount the user gets back will be added to their account balance. Therefore, it is more likely that each user will have more than one UTXO, and the sum of all unused coins in each UTXO will be the user’s total account balance.
UTXO and Dollar Bills
In a deeper sense, each UTXO is like a single coin or note of cash. If you have $25 in cash, you must have more than one note because there is no such thing as a real twenty-five dollar note. When you have $25 in your wallet, you can have any combination of the number of notes — UTXO currently in your wallet: Twenty-five $1 notes; five $5 notes; two $10 notes and one $5 note; a $20 note and a $5 note, etc.
Many note combinations total $25. In each case, you have exactly $25, even though you have a different number of notes in each scenario.
The same is true of UTXO. Even though you see a unique balance in your wallet, you may have one or more UTXOs currently in your wallet. These UTXOs come in different sizes but when added up, the total equals the total balance in your wallet.
For example, when you buy an item with cash, you may not be able to provide the exact amount needed to pay for it. Let say you buy a cup of coffee for $3.5. You have $25 in your wallet, but chances are, you do not have exactly $3.5 to pay for coffee.
Instead, you’ll need to pay more than one (or a few) notes and then get some change in return. You can pay for coffee with four $1 notes, in which case you will receive a 50-cent change. Or you can pay for coffee with a $20 note, in which case you will receive a $10 note, a $5 note, a $1 note and two 25 cents coins.
UTXO and Bitcoin
Let’s now bring it to Bitcoin. Because it is the most famous cryptocurrency that uses UTXO.
Suppose the wallet has a balance of 100 $BTC. Even though you only see a single balance, the amount includes several UTXOs. You can have 4 combinations of UTXOs
-
25 $BTC each
-
2 UTXOs worth 50 $BTC
-
or a set of UTXOs worth 37, 18, 40 and 5 $BTC.
When you buy a new car worth 35 $BTC but your wallet contains only UTXO equal to 15, 17, 28 and 40 BTC each. In this case, it is impossible to split UTXO, so there is no way to pay exactly 35 $BTC to buy a car.
Instead, you have to spend 40 $BTC. With such a problem, the network suggests 2 new UTXOs: 35 $BTC and 5 $BTC. That means the car dealer gets 35 $BTC UTXO, while you get 5 $BTC UTXO as a conversion.
You can also spend 17, 28 Bitcoins UTXOs and receive 10 $BTC when you convert. A transaction can use any combination of UTXOs. There is no control over what kind.
Just as you can split UTXOs into separate instances, you can also combine them in larger transactions, generating less on the network.
UTXO Advantages
-
Immutable: Because the UTXO is simply referenced and is completely consumed when spent, there is no chance for a transaction to be redone.
-
Verification: Transactions can be verified in parallel. Two transactions cannot affect the same UTXO. This is due to the stateless nature of UTXO transactions. The transaction does not refer to any input outside of the consumed UTXOs and the corresponding signature.
-
Privacy: Privacy protection is encouraged in the UTXO model. Users are encouraged to create a new address for every incoming transaction including a changed address. By using a new address at a time, it is difficult to conclusively link different coins to a single owner.
UTXO Disadvantages
-
UI / UX is difficult. Users tend to think about accounts when they conceptualise their money. The wallet provider must manage a set of potential addresses and calculate the corresponding balances. Doing so in a way that privacy protection might require running a node locally.
-
Limited smart contract capabilities. Each UTXO has spending criteria that indicate the conditions of spending. This may require a signature from many parties but has very little ability to reference external state like an oracle.
Difference between Fiat and UTXO
Transaction Fees
First, you will have to pay transaction fees to make the transaction on the blockchain. When you send a certain amount of money to another address, the new UTXO you receive will be the original UTXO amount minus both the amount you send and the transaction fees on the blockchain you pay.
New UTXO = (initial total number of UTXOs) – (total amount sent to another address) – (transaction fees)
Transaction fees vary from blockchain to blockchain and can even change on the same blockchain at different times.
Flexibility
Second, a regular Fiat transaction is not the same as a UTXO because Fiat notes are fixed on denominations. In other words, Fiat is limited to the value the government chooses to print.
In the United States, the denominations of notes exist: $1, $5, $10, $20, $50 and $100. In countries where Euro is used, the denomination of the note is €5, €10, €20, €50, €100, €200 and €500. These denominations do not include coins, but what they mean here is: you cannot create a cash note with any amount you want (e.g. $3.5). The value of each note is predetermined.
This is not true of UTXO. In practice, this has several important benefits. That is, it offers a lot more flexibility than the Fiat. It can have $1 M Bitcoin in a single UTXO, instead of thousands of fiat notes in different denominations.
TLDR:
UTXO is the accounting method for Bitcoin. Since Bitcoin is not physical, it makes it hard to verify how much money there is in your wallet. Instead, Bitcoin tracks all the “receipts” of you many Bitcoins you have spent and how much you have remaining.
Get smart: It works.
Get smarter: The next levelling-up with UTXO is to enable UTXO to interact with smart contracts. We will discuss this next Tuesday.
Order the book now: book.economicsdesign.com