What Is a Bitcoin UTXO?
In Bitcoin, UTXO stands for “Unspent Transaction Output”. But what does that mean, and how does it work?
In this explainer guide we will learn the basics of UTXO. Let’s get started.
The best way to explain UTXO is to compare it to real life cash payments. Let’s assume you go to a store to buy bacon for $5, but you only have a $10 bill. In this case, you pay with your $10 bill and the cashier would simply give you a $5 bill as change.
Because of inflation, you need to hurry because the price of bacon could already be much higher tomorrow. But that’s another story.
Along the lines of this example, if you go to a store to buy bacon worth $5, but you only have five $1 bills, what would you do? You would simply combine those bills to make up the $5 amount to pay for the bacon, right?
A Bitcoin transaction works almost exactly the same. The Bitcoin system is based on a collection of unspent transaction outputs, also called a UTXO set.
In short, one could say bitcoins are actually UTXOs.
Sometimes you find people joking about UTXO on Twitter or other places online:
But let’s get back to our bacon business:
Bitcoin is not a system of accounts and balances. It’s rather the collection of UTXOs that make up a bitcoin balance on a wallet address.
The bitcoin balance on any bitcoin address is identified by the extended public key (Xpub).
With the above example in mind, you can think of a UTXO the same way you would think of regular cash bills. A UTXO is a bill. In order to spend a bitcoin transaction, either a whole UTXO is sent for which you might receive a change, or multiple UTXOs are grouped together to achieve that.
Check the following schemes to better understand this:
What Is The Role of UTXOs in Determining Transaction Fees?
As you may have noticed, having multiple UTXOs can lead to paying more in transaction fees. However, the network fees do not create more outputs paid to the miners. They are automatically calculated and deducted based on the transaction size.
Because of this process, when you have many inputs in place, due to having multiple UTXOs, the transaction grows in size and becomes more burdensome on the miner. The transaction would occupy more room in the block, which is only limited to 4 MBs of space.
A bitcoin transaction is made of “bytes”, and the fees are based on how many bytes a transaction has. One byte could cost more depending on network congestion. However, a transaction would definitely be more expensive if it is unnecessarily made out of more bytes.
This brings us to the next section of this article, managing UTXOs.
Now that we understand what a UTXO is and how it works, it is time to explain how we can work with it. It is important to discuss “how” and “why” but also the risks of managing UTXOs.
How To Manage UTXOs:
Managing your UTXOs includes consolidating them. From a functionality perspective it is as simple as sending a Bitcoin transaction on the network. You can consolidate all your wallet’s UTXOs into one by simply sending a Bitcoin transaction amounting your entire balance to one of your own Bitcoin addresses. When you do so, all your unspent transaction outputs get grouped into a single unspent transaction output.
Your wallet might not show you the different UTXOs but only a balance. Once you make a single transaction with the entire amount, the UTXOs will be consolidated. Most likely your wallet has a “send max” or “sweep wallet” feature so you don’t leave dust behind.
You can also manage your UTXOs by performing “coin control” on them. This feature allows users to choose from which UTXO they wish to spend. You can manage your Bitcoin funds into specific UTXOs meant for payments and other UTXOs meant for hoarding. Many Bitcoin wallet programs such as Bluewallet, Electrum and others have coin control.
Other wallets such as Wasabi Wallet 2.0 offer “privacy control” which is an improved version of coin control.
This feature will be explained more thoroughly later in this article.
Why Manage UTXOs:
First of all, why should you consider consolidating your UTXOs? As mentioned previously, if you have multiple UTXOs and wish to make a payment, and if the amount to be paid is bigger than all individual outputs, you will have to group multiple UTXOs together to achieve that.
This means one thing. The more UTXOs are engaging with the transaction, the higher in network fees you would have to pay. It is true that as these lines are being written, the Bitcoin network fees are sufficiently low to not worry about this. However, fees are subject to change always. It is probable that you end up making a payment during a high network fees period.
Moreover, if we were to assume that Bitcoin adoption will be constantly on the rise, network fees might go up more drastically as well. Therefore, it is a wise practice to perform consolidation during low network fees times to avoid paying more during a period when network is congested. You can always check the network traffic and current fees per byte on most Bitcoin explorers. A good tool for this is mempool.space.
Having multiple UTXOs while the network keeps growing, and fees become even more expensive, one could run the risk of holding on to what could potentially be a “Dust UTXO”. A dust UTXO is an unspent output that is lower than the lowest possible transaction fee on the network. Rendering the coins un-spendable, until fees are lowered again.
Coin control is also an important feature of managing UTXOs. Most wallets nowadays automatically choose the best UTXOs to pay from to avoid high network costs. Nevertheless, It is still important to perform coin control from a privacy perspective. Imagine each time you want to buy $5 worth of bacon that only costs a few thousand sats, you expose one of your biggest UTXOs to the receiver. I’d say most people, would rather not show their entire net worth every time they want to buy bacon. Unfortunately, most people are not aware of this risk.
Wasabi Wallet in their WASABI 2.0 implementation are taking coin control to the next level. A feature called automatic coin selection is being introduced. It is basically a form of coin control done automatically by the wallet. It picks the best UTXO to use in terms of privacy on behalf of the user.
With the privacy control feature, the users are relieved from making human mistakes and spending non-privately. The program will let users know if their transactions are private.
What Are the Disadvantages of Managing UTXOs:
The biggest risk factor of managing your UTXOs, especially when performing consistent consolidation, is privacy. When you consolidate all your UTXOs into one or maybe a couple of UTXOs, you would indeed be saving on fees. However, you would also be compromising privacy. Having only one UTXO from which you spend every time you want to make a transaction would expose your entire Bitcoin position to the receiver, merchant, or any person with access to the sender address or transaction hash.
Hence, it is always important to find balance with consolidating UTXOs while using the coin control feature. As mentioned above, the best practice with all current factors in play (current transactions fees) is to have two types of UTXOs. Big unspent outputs for savings, which could be left untouched. And smaller UTXOs sufficient enough for payments while saving up on fees as much as possible.
Notes & Tips:
- Bitcoin transactions are not that complicated. For most users they just work.
- Be mindful when managing UTXOs. You do not want to overdo it with consolidation. Double and triple check the address you are sending to.
- Always perform consolidation during low fee times. Historically, the mempool becomes a ghost town on Sundays.
- It is important to consider privacy. Bitcoin transactions are traceable via highly advanced chain analysis technology.