Back
What are UTXOs?
Shailee Adinolfi
&
Annie Pei
General Wallet Use
UTXOs are a key part of the accounting model used by Bitcoin. Their main purpose is to keep track of all the transactions made in the blockchain. They represent the individual amounts of bitcoin that make up your wallet balance and that are available to be spent in future transactions.
They are crucial to the network’s operation and provide many benefits like improved privacy, efficient fee management, transaction security, and protection against double-spending.
What are Unspent Transaction Outputs?
The term UTXO refers to Unspent Transaction Output. Each UTXO represents a specific amount of bitcoin in your account balance Think of them as individual bills or coins that you have in your pocket.
Because Bitcoin is made of bits of data, when you send or receive bitcoin, what you are sending or receiving are UTXOs. These UTXOs are created from the outputs of prior transactions.
Let’s look at it with an example: Imagine you need to send your friend 0.15 BTC and that you have 0.2 BTC available in your wallet. The network will send your friend 0.15 BTC(0.2 BTC) and send you back the 0.05 BTC you’re owed in the form of “change”. What you have available now is a new UTXO worth 0.05 BTC and, until you decide to spend this UTXO, it will stay “unspent” and cannot be divided into smaller amounts.
Addressing UTXOs and Block Space on Bitcoin
The term UTXO refers to Unspent Transaction Output. Each UTXO represents a specific amount of bitcoin in your account balance Think of them as individual bills or coins that you have in your pocket.
Because Bitcoin is made of bits of data, when you send or receive bitcoin, what you are sending or receiving are UTXOs. These UTXOs are created from the outputs of prior transactions.
Let’s look at it with an example: Imagine you need to send your friend 0.15 BTC and that you have 0.2 BTC available in your wallet. The network will send your friend 0.15 BTC(0.2 BTC) and send you back the 0.05 BTC you’re owed in the form of “change”. What you have available now is a new UTXO worth 0.05 BTC and, until you decide to spend this UTXO, it will stay “unspent” and cannot be divided into smaller amounts.
How Do UTXOs Work?
You may be wondering why the network sends your entire balance instead of only the amount necessary. This is because of the way this accounting model works:
Bitcoin transactions operate through a system of inputs and outputs. Each transaction consumes one or more UTXOs as inputs and creates new UTXOs as outputs.
To make a transaction, your wallet chooses the appropriate UTXOs to use as inputs for the transaction. These need to meet the amount you’re sending plus the network fees. Once used, these UTXOs are marked as "spent" and cannot be reused.
UTXOs are indivisible and must be spent in full. So, if you don’t have UTXOs that amount to the exact number for your transaction to go through, your wallet sends the closest amount available to cover it all, and you receive the “change” back under a new UTXO.
Following the same example as before, your wallet sent 0.2 BTC because you had two UTXOs worth 0.1 BTC. It’s the same as you going to a store and paying for an item that costs $15 with two $10 bills. You will get back a $5 bill (your new UTXO worth 0.05 BTC).
When UTXOs are very small in value, you may get what is called Bitcoin “dust”. These are UTXOs that become unspendable because the transaction fees would be higher than the value of the bitcoin they represent.
Each UTXO is associated with a specific Bitcoin address. To spend a UTXO, you need to provide a digital signature proving ownership of that address.
The Role of UTXOs in Bitcoin Wallets
UTXOs are fundamental for managing and tracking token ownership and transactions. Let’s look in more detail at what their role is in Bitcoin wallets:
Balance representation: In your Bitcoin wallet, the balance you see is the sum of all UTXOs available and unspent.
Transaction creation: For any transaction in the blockchain, your wallet automatically selects UTXOs to cover the transaction amount and fees.
Change management: If a transaction has used more bitcoin than necessary, the excess is returned as “change” in a new UTXO and to a new wallet address.
Privacy enhancement: The address that receives the leftover “change” is different from the address that sent it. This new address is referred to as “change address,” and it is generated to enhance privacy.
Transaction verification: Because each spent UTXO is marked as such, your wallet validates it to prevent double-spending.
Advantages and Challenges of the UTXO Model
The UTXO model in Bitcoin offers many advantages, but also some challenges to consider:
Advantages of the UTXO Model
Higher level of privacy, as users get new addresses for each transaction.
When consolidated, UTXOs can reduce future fees.
Stronger security by making it more challenging for malicious actors to manipulate transactions.
Efficient transaction management and precise control over transaction amounts.
Easy traceability of transactions, as each UTXO can be traced back to its origin.
Challenges of the UTXO Model
Difficult to understand and implement, creating potential challenges for developers and users.
It typically requires more digital space to store transaction data.
UTXO consolidation reduces future fees but adds an extra step. There is also a fee at the moment of consolidation.
It can be less fungible, potentially affecting the interchangeability.
What is Bitcoin UTXO Management?
Bitcoin UTXO Management refers to the strategic handling of UTXOs to improve transaction efficiency and reduce future fees.
UTXO management is particularly important if you frequently receive small amounts of Bitcoin—like when you dollar-cost-average (DCA) or when you make frequent transactions. This generates smaller UTXOs and the buildup of Bitcoin "dust" —those small balances that can be expensive to spend. Managing your UTXOs helps prevent this.
Think of it like pocket change: when you have ten $1 bills and small coins that you carry around. They take up space and would be more convenient if you consolidated them into one single $10 bill and larger coins.
That's why one of the main ways to manage UTXOs is to consolidate multiple smaller UTXOs into a single larger UTXO. This process involves sending a transaction to yourself and merging your existing UTXOs into one.
Addressing UTXOs and Block Space on Bitcoin
UTXOs address some challenges associated with blockchain congestion or block space in Bitcoin transactions.
The UXTO Model
Compared to the account model used in other blockchains like Ethereum, the UTXO model optimizes the block space used in transactions. This is because, in this model, each transaction input consumes an existing UTXO, and each output creates a new one.
By minimizing the number of UTXOs used in a transaction, the overall size on the blockchain is reduced. In the account model, there’s no tracking of unspent outputs. Instead, it maintains a single balance for each account, updating user balances globally. The UTXO model only records transaction receipts.
Reducing Block Space
Upgrades to the Bitcoin blockchain like Taproot further address blockchain congestion by enhancing transaction efficiency. Taproot introduced Schnorr signatures, which aggregate multiple signatures into a single digital signature.
This innovation significantly reduces the block space required for multi-signature (or multisig transactions, providing substantial savings for complex operations involving multiple parties.
Why Are UTXOs Important?
UTXOs are important in the Bitcoin ecosystem because they offer:
Enhanced privacy and flexibility in transactions.
Improved scalability and network performance.
Efficient transaction management and fee optimization.
Clear tracking of digital asset flow on the blockchain.
Transaction integrity and security within the blockchain.
Protection against double-spending attempts.
UTXOs on Bitcoin Today
Today, UTXOs remain a fundamental component of Bitcoin's transaction model, playing a crucial role in preventing double-spending and maintaining transaction integrity. But they are also being used for new blockchain innovations beyond simple transactions.
Protocols like SRC-20 tokens and Runes leverage UTXOs for advanced functionality such as tokenization and embedding data into the blockchain. SRC-20 tokens use UTXOs to store various data types, including images and text, within Bitcoin transactions. Runes take this further by utilizing UTXOs to etch, mint, and transfer fungible Bitcoin tokens, embedding token data directly into unspent outputs rather than in witness data like Ordinals and BRC-20 tokens.