Unspent Transaction Output (UTXO)
What Is Unspent Transaction Output (UTXO)?
Due to their high value, Bitcoins and other cryptos aren't usually transferred as entire coins. Instead, people send and sell fractions of a Bitcoin. However, breaking up a Bitcoin into smaller units isn't necessarily straightforward. Doing so manually adds mining fees that keep transactions from being cost-effective. This is where an unspent transaction output (UTXO) comes into play.
The UTXO model helps make crypto transactions more efficient and cost-effective. A UTXO is essentially the unused part of a transaction. Every time a cryptocurrency transaction takes place, existing inputs are deleted and new outputs are created. Any outputs that aren't immediately spent become a UTXO that’s tied to the sender in the transaction.
This can sound a little complicated, but it's very easy to understand when you look at a real-world situation.
As an example, consider that you have 0.5 BTC and want to pay someone 0.3 BTC. The transaction will break up your currency into two separate outputs: The 0.3 BTC you pay, and the 0.2 BTC left behind. The 0.2 BTC is unspent, returned to you, and becomes a UTXO you can use as input in a later transaction.
UTXOs are mostly discussed concerning Bitcoin. However, they can be deployed in just about any cryptocurrency transaction. Keep in mind that each UTXO has a personal signature associated with it. You usually need to retain this signature and present it when using your UTXO as input in a new transaction.
How Does the UTXO Model Work?
To understand UTXOs, it's important to take a close look at the particular cryptocurrency network. Though the financial information you see each day looks fairly straightforward, a lot’s going on behind the scenes. The UTXO model is an essential part of managing all the bits of data that make up a cryptocurrency transaction.
Almost all Bitcoin transactions end up using unspent transaction outputs, because it’s rare for people to buy things with a single unified data byte. Whenever a whole data byte doesn't exchange hands, a UTXO is made. This UTXO can then change owners, or be broken up into further UTXOs. Every transaction requires a UTXO to be unlocked, consumed to create a new UTXO of a certain value, and then locked with a new set of owner information.
To keep track of all these outputs, Bitcoin nodes maintain a record of transactions. Each UTXO doesn't have a specific user associated with it. Instead, they have encoded ScriptPubKeys that record each transaction. Technically, it’s possible to calculate the previous address, but this won't tell you the real-world identity of the owner. This system allows the network to confirm the existence of all related coins without sacrificing user privacy.
Keep in mind that a UTXO isn't a type of cryptocurrency denomination. A UTXO is not the same thing as a Satoshi, centi-Bitcoin, or gwei. Instead of having a single determined value, it is a flexible measurement. A UTXO can essentially be linked to any value of a crypto coin. This versatility allows it to assist in just about every transaction.
What Is the UTXO Model Used For?
The UTXO model has many important benefits. First of all, it’s a very important form of verification. No UTXO can be exchanged without verifying the owner of the crypto. Thus, users are much less likely to encounter scams. The UTXO model keeps track of coins' locations at any given time, so the currency isn't lost or mistakenly given to the wrong person.
The UTXO model also helps to reduce fraud because it only allows unspent outputs to be used for future transactions. This is a valuable way of preventing double-spending. No one can use the same crypto fraction for multiple transactions at once. Since each UTXO is consumed to create a new, linked output, crypto amounts remain stable.
To further enhance financial safety, the UTXO model makes crypto transactions a little more transparent. It doesn’t reveal the user's private identity. However, it does create a list of public keys that are associated with each crypto piece. This allows a chain of digital signatures to be created for every crypto value. In case of any disputes, this transparent list of ownership provides a little helpful clarity.
In addition to all these security and verification benefits, the UTXO model also has advantages for the typical consumer. It lets people create discrete pieces of Bitcoins that can be used in any transaction. Other methods of dividing up crypto essentially mean trading whole coins to an institution that mines fractions of coins. This can result in excessive fees that make it expensive to manage crypto transactions. Meanwhile, UTXOs don't necessarily have a transaction fee, so they make it feasible to exchange even very small amounts of crypto.
UTXO Model vs. Account Model
One of the fascinating aspects of unspent transaction outputs is that they're so different from former methods of handling transactions. Unlike in traditional finance, the unspent transaction output model treats currency as an object: Each object has its history stored on it, but you only need to access ownership when it’s sent.
Meanwhile, the account model creates a separate record for each user. It must keep track of every account, and remember every account's balance all of the time. To complete any transaction, an account's balance has to be checked and adjusted both before and after.
Ultimately, each style has its pros and cons. An account model has much higher storage demands. It requires networks to store very large blocks of data and access them continuously. Meanwhile, UTXO requires less storage, but takes slightly longer to examine each block's history before sending the funds to another user. In most cases, this slightly longer transaction time is worth it, though. In addition to having fewer storage needs, the UTXO model is also more secure than the account model.