Back

What are UTXOs?

General Wallet Use

15 min

Many Bitcoin users might not realize why UTXOs matter, or even know what they are. Unspent Transaction Outputs, often called UXTOs, are sometimes overlooked elements of a Bitcoin transaction. But they’re essential to the network’s functionality. 


Recently, UTXOs have gained more attention, especially as people explore adding tokenization mechanisms to the Bitcoin network with things like Ordinals and Runes. Let’s talk about how Bitcoin UTXOs work, their purpose, and how transactions use them.

What are Unspent Transaction Outputs? 


UTXO stands for Unspent Transaction Output. On the Bitcoin network, UTXOs are crucial components of cryptocurrency transactions. Each UTXO represents a certain amount of bitcoin you have in your account balance, but have not yet spent. Think of them like individual bills or coins in your Bitcoin wallet, each with a unique value.


When you receive bitcoin, what you actually receive is a UTXO. These UTXOs are part of an input and output from previous transactions. For example, if someone sends you 0.1 BTC, a UTXO worth 0.1 BTC is created and assigned to your Bitcoin address. This UTXO will remain unspent until you decide to use it in a new transaction.


To spend bitcoin, your wallet will combine enough UTXOs to cover the amount you want to send — almost like gathering up a quarter, four dimes, two nickels, and 25 pennies to pay for something that costs one dollar. 


If the total value of the UTXOs exceeds the amount you're sending, you receive the difference as “change” in a new UTXO. This process ensures every transaction is accounted for and the Bitcoin network remains secure and efficient.


UTXOs add a layer of transparency and security to Bitcoin transactions. By using UTXO sets, the network can easily verify that the same Bitcoin hasn't been spent twice. This is part of how Bitcoin solved the double-spending problem, which plagued digital currency before crypto. The transaction verification process is straightforward because each UTXO has a unique identifier, making it easy to track its history.


However, UTXOs also come with some challenges. Each UTXO takes up space on the blockchain, and having many small UTXOs can lead to larger transaction sizes and higher fees. This issue has become more prominent with the introduction of tokens on the Bitcoin network. Especially when new tokens also use UTXOs to add new data to the blockchain.

Addressing UTXOs and Block Space on Bitcoin


Since Bitcoin’s beginning, several protocols and enhancements have been proposed to address the challenges associated with blockchain bloat in Bitcoin transactions. One notable example is Taproot, a proposed upgrade to the Bitcoin protocol that aims to improve privacy, efficiency, and flexibility.


The UTXO model itself is another way Bitcoin addresses block space. By using UTXOs, Bitcoin transactions can be more efficient in terms of block space usage compared to traditional account models used in some other cryptocurrencies. 

The UXTO Model

In the UTXO model, each transaction input consumes a UTXO, and each output creates a new UTXO. This means transactions can be constructed to minimize the number of UTXOs needed, reducing their overall size on the blockchain.


UTXOs streamline crypto transactions by breaking down the total balance in a Bitcoin wallet into discrete chunks. This ensures each transaction clearly shows which parts of the balance are used and what remains, which is how double-spending is prevented.


Typically, wallets use a "first in, first out" (FIFO) method, meaning they spend the oldest UTXOs first. This helps manage transaction fees by consolidating smaller UTXOs into larger ones, reducing the number of inputs in future transactions and keeping fees lower.


One of the downsides of UXTOs is “Bitcoin dust.” This is when UTXOs become so small they cannot be spent. An accumulation of unspendable small UXTOs is called Bitcoin dust — and this contributes to blockchain bloat.

Reducing Block Space

Taproot builds on principles of transaction efficiency by introducing a new way to structure Bitcoin transactions called Schnorr signatures. Schnorr signatures allow multiple signatures to be aggregated into a single digital signature, reducing the space required for multi-signature (or multisig) transactions. This can lead to significant savings in block space, especially for complex transactions involving multiple parties.


In addition, Taproot introduces a concept called "scriptless scripts," which allows for more complex smart contract functionality without adding additional data to the blockchain. This can further reduce blockchain bloat by enabling advanced features without increasing transaction size.


Protocols like Taproot demonstrate ongoing efforts to optimize the use of UTXOs and improve the efficiency of Bitcoin transactions. By leveraging the UTXO model and introducing innovative enhancements, developers continue to explore ways to address scalability and usability challenges in the Bitcoin network.

UTXOs on Bitcoin Today


In addition to UXTOs streamlining Bitcoin input and output transactions, today they’re also used for new blockchain innovations. Protocols like SRC-20 tokens and Runes have introduced creative implementations for fungibility and tokenization on Bitcoin, using UXTOs to add data to the blockchain.


In the quest for more functionality and features on Bitcoin, projects like Runes utilize UXTOs to etch, mint, and transfer fungible Bitcoin tokens. Runes save space with a UTXO-based approach by adding token data to unspent outputs instead of in the witness data, as Ordinals and BRC-20 tokens do.


Casey Rodarmor’s goal in creating Runes was to allow tokenization on Bitcoin without the kind of network bloat Ordinals caused by placing extra information in the witness data. BRC-20 tokens and Ordinals consume significant block space, causing many in the Bitcoin community to decry NFTs, fungible tokens, and memecoins on the blockchain.


By operating directly within the UTXO model, Runes transactions are lighter and more flexible than other types of Bitcoin tokens. Runes transactions involve specific protocol messages initiated through OP_RETURN outputs and additional data pushes, enhancing user experience and minimizing on-chain footprint.

Conclusion


UXTOs serve a very important purpose in organizing, streamlining, and securing Bitcoin transactions. They have solved certain issues like double spending and ledger transparency. But they also create certain issues like Bitcoin dust and potential blockchain bloat.


With the introduction of tokenization on Bitcoin, UXTOs have a new purpose in holding data for things like Runes and SRC-20 tokens. And how UXTOs and blockspace overall is used continues to be a source of discussion in the Bitcoin community. But one thing is certain — UXTOs are an increasingly important part of Bitcoin network operations.


Connect to web3 applications built on Bitcoin with the Leather browser extension. Install Leather – the only wallet you need to tap into the multilayered Bitcoin economy – today.

This article was updated on 5/19/24

This article was updated on 5/19/24