A Primer on UTXOs
LearningFees

5 mins

2 months ago

Théo M
Théo M

Europe GM, Bull Bitcoin

A Primer on UTXOs

Bitcoin is indeed peer-to-peer electronic cash. Even at its core, it behaves like cash. Bitcoin has no inner concept of accounts and balances. It doesn’t work like your bank account, but rather like your bills and coins. Instead of tracking accounts and updating their balances regularly as a bank would do, the Bitcoin protocol records a tree of transactions; it tracks the ownership history of bills and coins. At the top of this tree are coinbase transactions, i.e. new bitcoin created when a block is mined. Once they are spent, some of the satoshis - the smaller subunits of bitcoin in which transactions are denominated, will go to the payee address, some to a miner to pay the transaction fees, and the change will return to the spender, most likely to a new address. All these “branches of the transaction” are called outputs.

The important thing to keep in mind here, is that the fundamental elements of Bitcoin’s accounting system are transactions with inputsoutputs, and amounts (in satoshis). The input is either a coinbase transaction (newly mined bitcoin), or the output of a prior transaction which hasn’t been spent already, called an Unspent Transaction Output (UTXO), or a mix of both, as a transaction can have many inputs. Below you can see a representation of the 1st peer-to-peer transaction in Bitcoin’s History, from Satoshi Nakamoto to Hal Finney some days after the launch of the network in early 2009, with one input – a coinbase transaction, and two outputs: Hal’s address is receiving 10BTC and Satoshi’s change address 40BTC. 

f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16

Graph of the 1st Transaction in Bitcoin’s history, from Satoshi to Hal Finney, source mempool.space

Just like when you pay cash, we only track the coins and bills, not the aggregate holdings of a given user. Here it’s like Satoshi Nakamoto spent a 50 BTC bill, Hal got a 10 BTC bill, and Satoshi got a 40 BTC bill as change. He can’t just spend the 10 BTC directly, he has to move the whole 50; just like when you pay $10 with a $50 bill, you have to spend the 50 and get the change, you can’t just part with a chunk of it. This is not obvious at first, because when you look at your wallet, it displays a balance, but not the details of your UTXOs. This balance is an aggregate of all the UTXOs associated with your keys, calculated in the interface, not a thing called “a wallet” that would exist in the Bitcoin timechain: it’s everything that you can spend, but not the details of your bills and coins. 

To the protocol, there are only coinbase transactions and their branches, their children, forming a genealogical tree, whose very construct ensures that nothing gets created in the process. This means that when you receive a bunch of payments on different addresses, which is commonplace when you DCA or use any modern self-custodial wallet, you end up with coins spread over many UTXOs. And in the context of high fees, this can translate into elevated transaction costs, as doing a large transaction would entail combining many of these UTXOs as inputs for this new transaction. 

It’s like when you go shopping and use your change from the butcher, the supermarket, the baker, and whatnot, to then buy a large value item. In the same way that it’s cumbersome to pay with the many bills and coins you previously received as change, spending many UTXOs at once is cumbersome to the Bitcoin network, and you will thus be charged a high fee for doing so. The bills and coins you are using are the change (output) of your previous purchases and will serve as input for this next one. The main idea here is that, in Bitcoin, the more distinct bills and coins you use (UTXOs), the higher the data load of your transaction, and thus the larger the transaction fee. 

Bitcoin’s Transaction Fee Structure

Indeed, there are two components determining transaction fees: the fee rate and the data size of the transaction (in bytes). The fee rate is a market rate formed at the intersection of demand and supply for blockspace: it’s a reality we bitcoiners must deal with. When we say, “fees are high”, what we mean is that “the fee rate is high”. This, because the other factor, the size of the transaction, varies from one transaction to the next, and is something you can do something about. In Bitcoin, the transaction fee paid is disconnected from the amount sent; it is a function of how much data one is putting on the chain, not how many satoshis one spends. Hence, the more inputs in a transaction, the higher the fee. 

Sometimes users even find out that their satoshis have become unspendable in the current fee environment. This situation arises when the fees reach a level at which spending UTXOs would cost more in transaction fees than the amount they carry. Therefore, it is common practice to periodically consolidate ones’ UTXOs. That is, take all these branches and merge them into one, such that it will become cheap to spend from in the future. Below you can see a graphic representation of a hypothetical consolidation transaction, with many UTXOs merging into one - plus a small output representing the fee paid to miners. 


Graphic Representation of a Hypothetical Consolidation Transaction

How to Consolidate your UTXOs

In practice this is done by generating a fresh new address and sending it all the coins present in your wallet. In advanced wallets, such as Sparrow or Electrum, you will be able to see the details of your UTXOs, witness these branches merging, and even select how you want to regroup them. However, with more user-friendly self-custodial wallets, the detail of ones’ UTXO is often hidden to avoid confusing the user. In that case, simply generate a new address and send your whole balance to it. By virtue of Bitcoin’s design this will yield the exact same result

This is not necessarily something you need to do urgently. You can wait for a period of moderate to low fees to consolidate your UTXOs. Until recently there wasn’t an easy way to do just that – without being a bitcoin nerd monitoring on-chain activity around the clock, but now you can just use https://feemultiple.bullbitcoin.com/chart/index to snipe consolidation opportunities, or even use our API  to program automatic consolidations triggered when a given threshold is reached. 

Another way to deal with the fickle nature of Bitcoin’s fee market is to use the Lightning Network (LN) on Bull Bitcoin to receive your sats on a custodial lightning wallet, or on Liquid (L-BTC), and then swap it out on the main chain. Yet, as with UTXO consolidation, timing is of the essence, so the real leverage remains using the BullBitcoin Fee Multiple to efficiently implement either strategy. 

Related Posts

Learn more from the following articles

Bull Bitcoin Partners with Bitcoin Mentor for Enhanced Bitcoin Education and Integration
AnnouncementLearningbitcoinsupport.com (FR)

2 mins

25 days ago

Bull Bitcoin Partners with Bitcoin Mentor for Enhanced Bitcoin Education and Integration

Article Card Excerpt: Bull Bitcoin and Bitcoin Mentor Announce Strategic Partnership Bull Bitcoin, Canada's premier Bitcoin-only exchange, partners with Bitcoin Mentor to provide users with expert Bitcoin education and secure self-custody guidance. This collaboration aims to enhance the Bitcoin experience for all users through integrated support and personalized mentorship.

Mathieu Bussière
Mathieu Bussière

COO

The Hard Path
OpinionScaling Bitcoin

6 mins

2 months ago

The Hard Path

Bull Bitcoin takes the hard path to uphold Bitcoin's true values. Rejecting easy profits from custodial wallets, shitcoins, and NFTs, we focus on creating sovereign individuals through noncustodial services. We build open-source software and support local Bitcoin economies. Despite challenges, we maintain a steadfast commitment to Bitcoin's mission of decentralization, privacy, and self-custody, striving for long-term success and integrity.

Francis Pouliot
Francis Pouliot

CEO

Stack and Track - Inbound Bill Payments for Outbound Bitcoin!
AnnouncementGuide

3 mins

3 months ago

Stack and Track - Inbound Bill Payments for Outbound Bitcoin!

‘Set it and forget it’. Recurring account funding via online bill payments is now available at Bull Bitcoin!

Pablo
Pablo

Bitcoin Evangelist at Bull Bitcoin

EXCHANGE
BuySellFeaturesRates & Fees
SELF-CUSTODY
NEW
Self-custody SupportShop PackagesBuy for a friendDIY