What is an UTXO – detailed explanationWhen reading more technical details about Bitcoin, you’ll learn sooner or later about UTXOs. UTXOs are very important to understand how sending Bitcoin transactions is working in detail.
Each transaction consists of (often several) UTXOs. UTXO means "unspent transaction output" and basically it is what it’s meaning as well. UTXOs are unspent fractions of Bitcoin on your Bitcoin address. We can understand an UTXO as an unspent banknote "on" your Bitcoin address. You can receive as much banknotes of any size (amount of Satoshis) on your Bitcoin address and send as well as much as you have on your Bitcoin address.
And UTXOs are always tied to a specific Bitcoin address, where Bitcoin has been sent to. Basically, each transaction will cause (several) additional unspent transaction outputs on an address it has been sent to.
Under normal conditions, a normal transaction will always create a new UTXO on an address, where you are sending Bitcoin to and a change UTXO going as change to your address where you’ve spent your Bitcoin from (or for better privacy to a different change address).
All of your UTXOs on your address is your whole balance on your address.
For a new transaction, usually all UTXOs will be bundled and sent to a different address which you have selected to transfer Bitcoin to.
For example, your address contains 0,00134 Bitcoin. If you send 0,00124 Bitcoin to someone`s address, it’ll create a 0,00124 Bitcoin UTXO on the receiving address and 0,00010 as a change UTXO to your address back.
Transaction
https://mempool.space/tx/64fdb48e0c3cda851d641018cbcb02f477d535074e483ad32cbb8a73c52256e5Several input UTXO’s are merged into 1 output UTXO and a fee is deducted.
A transaction is always resulting in one or several new UTXOs, which appear as a result on all wallets, where a transaction is received.
Sending several UTXOs in a single transaction will cause more transaction fees Now, if we are sending all UTXOs as a bundle to a new address, we have many inputs and each additional input on our address will increase transaction fees, when sending all UTXOs again.
It’s very important to know, especially during times of very high transaction costs: each additional UTXO on our address will increase transaction fees when sending all UTXOs to a different address.
For such cases, it is recommended to consolidate our UTXOs during times of low transaction fees.
About dust attacks, expensive fees and how UTXOs will help usBecause usually all UTXOs from a single address will be bundled by default for many wallets, malicious actors come into play, using so called “dust attacks”.
Dust attacks are occurring, when an often malicious attacker is sending small transactions (UTXOs) to one of our addresses. In detail, dust attacks are really small transactions being sent to one of our wallets.
Especially for publicly known wallets it’s a big issue and that’s why we should always try to avoid giving our address to anyone. It’s better to keep it always as private as possible.
Now, we will face several UTXOs on our address and when sending a new transaction, all UTXOs will be sent as a bundle to another address, making our transaction very expensive because of so many UTXOs.
So, UTXOs are helping us to avoid compromising our privacy and also to avoid sending too expensive transactions by avoiding a high transaction fee.
Here, UTXO management is of importance to avoid merging our transactions.
UTXO management for saving transaction fees and avoiding dust attacksAfter a dust attack has happened (where an attacker has sent many very small Satoshi transaction inputs to your address), UTXO management will help us to avoid merging such dust attack UTXO’s into our regular transactions.
Because each UTXO will cause an increase in transaction fees and dust attacks are usually planned by attackers to require more transaction fees compared to their intrinsic value, especially when transaction fees are high.
UTXO management will help us to select only UTXOs we really want to sent forward to a new address.
Of course, a dust attack can also try compromise our privacy by sending us transactions of tainted coins.
Also, for regular transactions, UTXO management will help us to save transaction fees for cases, where we have accumulated many inputs on our address but during times of high transaction fees, we just want to send out a single (or few) UTXO to save transaction fees.
UTXO management for privacyUTXO managing is a nice feature for privacy as well. We can decide to forward only a part of all UTXOs on our address.
UTXO managing for privacy only makes sense in multi address wallet, of course.
If you are sending from a single address where multiple UTXO are stored, UTXO managing from a privacy perspective doesn’t make much sense.
UTXO managing is available in quality wallets like BitcoinCore, Sparrow Wallet or Electrum.
Understanding UTXOs is very important not only for privacy but for many different issues.
UTXO management to lower your transaction costsAfter reading more about UTXOs (unspent transaction outputs) here, you might now try to use your gained knowledge to lower your transaction costs. Because especially during times of very high transaction costs, transaction fees can be very significant for your transactions.
Because for regular transactions, UTXO management will help us to save transaction fees for cases, where we have accumulated many inputs on our address but during times of high transaction fees, we just want to send out a single (or few) UTXO to save transaction fees.
UTXO management is also effective against “dust attacks”.
Two solutions if how you can apply UTXO management to lower your transaction feesFirst, you can tidy up your address from many UTXOs which have been accumulated over a longer period of time. To tidy up your wallet, you just need to bundle all of your UTXOs on your address initiate a transfer and send it as a single transaction to a different address.
Second, you can use a feature, called "coin control", which basically is managing your UTXOs. Coin control will allow you, to only spend specific UTXOs in a new transaction, where your can only select a single or a few UTXOs, to prevent your transactions from becoming too costly because more UTXOs included in a new transaction means higher transaction fees.
In coin control, you can select manually, which UTXOs will be spent.
UTXO management (coin control) is available in quality wallets like BitcoinCore, Sparrow Wallet or Electrum.