A recently-released set of early Satoshi emails contains some interesting insights into the network and its creator.
What Are UTXOs?
UTXOs are like on-chain bags of money, which are used as the inputs for new transactions.
If you have spent much time using and learning about Bitcoin, you may have come across the concept of Unspent Transaction Outputs, or UTXOs. This is a fundamental element of the way Bitcoin works.
In short, the balance associated with an address is not stored as a single value (as it is in so-called "Account-based" systems), but as a collection of individual, spendable outputs, each representing a certain amount of bitcoin. These individual outputs are the UTXOs.
Why does understanding UTXOs matter? Well, apart from anything else, managing your UTXOs carefully will reduce transaction fees, since every UTXO added to a transaction increases the cost.
Account-Based And UTXO-Based Blockchains
Broadly speaking, there are two ways of tracking and managing balances on a blockchain.
In an account-based blockchain, like Ethereum, transactions are managed through accounts associated with addresses. Each user has an account with a balance, and transactions involve debiting and crediting these balances.
When a transaction is made, the state of the blockchain ledger is updated to reflect changes in account balances. This is a simpler way of tracking user balances, but there are trade-offs, including the complexity of smart contract execution.
In a UTXO-based blockchain, transactions are based on Unspent Transaction Outputs. These are "chunks" of coins; you can think of each one as a bag of money. Each transaction creates UTXOs, and when spending, users reference these outputs as inputs in a new transaction. If a UTXO is used as the input of a transaction, and there are funds left over, then a new UTXO is created. It's as if you make a payment with a bag of money, but remove some and put it in a separate bag because it is not needed for that transaction.
Bitcoin is the best-known UTXO-based blockchain. UTXOs ensure transparency by representing the unspent portion of previous transactions, and they are consumed entirely or in part in new transactions. This model enhances privacy and allows for a straightforward verification of transaction validity by ensuring that inputs are unspent.
Because every UTXO used adds to the data requited by the transaction, and therefore the costs, it can be useful to pay attention to your UTXOs. For example, it can be helpful to consolidate many small UXTOs into a single large one at a time when network fees are low, to make it cheaper to spend those BTC in the future.
Both models have their advantages and trade-offs, influencing factors such as privacy, scalability, and complexity in smart contract execution. The choice between account-based and UTXO-based architectures often depends on the specific goals and design considerations of a blockchain network.
How Do UTXOs Work?
Here's a breakdown of how UTXOs work in a little more detail:
- When a user creates a Bitcoin transaction, they are essentially spending one or more UTXOs that they control.
- The transaction's outputs create new UTXOs for the recipient. These UTXOs are considered unspent until they are used in a future transaction.
- UTXOs represent the portion of bitcoin that has not been spent by the owner.
- If a user has received bitcoin, their balance is the sum of all the UTXOs associated with their address that have not been used in a subsequent transaction.
Input for Transactions
- When creating a new transaction, the user selects a combination of UTXOs they control as inputs. These inputs are essentially the source of funds for the transaction.
- The total value of the selected UTXOs covers the amount being sent in the new transaction, and the difference between the total input and the transaction amount becomes the transaction fee.
Outputs of New Transactions
- The new transaction creates one or more outputs, each associated with a specific address. These outputs become new UTXOs for the recipient.
- If the transaction amount is less than the total value of the selected UTXOs, the remaining value is often sent back to the sender as change, creating a new UTXO for their address.
- UTXOs are essential for maintaining the integrity and consistency of the blockchain. Each transaction must reference valid and unspent UTXOs to be considered valid.
- The UTXO model provides transparency and allows anyone to independently verify the ownership and validity of bitcoins by inspecting the blockchain.
UTXOs are the building blocks of ownership and transactions on the Bitcoin network. They ensure that transactions are based on valid, unspent funds and contribute to the security and integrity of the blockchain.
Subscribe to our newsletter and follow us on X/Twitter.