Home/Guide/Blockchain Encyclopedia/Basic Concepts/What Is Unspent Transaction Output (UTXO)?

What Is Unspent Transaction Output (UTXO)?

2023.06.13 MEXC
Share


Blockchain, at its core, is a decentralized distributed database or ledger. So, how does the "blockchain ledger" keep records? In current blockchain projects, there are two mainstream accounting methods: The Account Balance Model (represented by Ethereum), and the Unspent Transaction Output (UTXO) Model (represented by Bitcoin). Understanding UTXO helps in comprehending the accounting logic behind Bitcoin's blockchain.

UTXO, which stands for Unspent Transaction Output, can be understood as the fundamental unit in Bitcoin transactions. For example, if Bob receives a Bitcoin payment and doesn't spend it, that Bitcoin becomes a UTXO. The UTXO model is similar to having a wallet where each UTXO is like a one-time-use paper bill. Each UTXO (paper bill) represents a specific amount of money, and by adding up all the UTXOs (paper bills), you can determine a user's balance.

In each transaction, whole integer multiples of UTXOs are used. For example, you can use 1 UTXO, 2 UTXOs, but you can't use fractions like 0.5 UTXO (similar to not being able to use half a paper bill). When a transaction occurs, the existing UTXOs (old paper bills) are consumed, and new UTXOs (new paper bills) are created. For example:In the morning, you go to buy coffee and a pastry, which costs $5. You hand the cashier a $10 bill. This $10 bill, represented as one UTXO, is given to the merchant. The merchant then gives you $5 in change, and at this point, you receive a new UTXO (a new $5 bill).

If this transaction occurs on a blockchain using the UTXO model, how would it operate? To understand this, we can abstract three transfer scenarios with examples, omitting miner fees for simplicity:

1.Two-Person Transactions


Let's assume Bob receives 10 BTC, so he has a UTXO of 10 BTC associated with his Bitcoin address. Now, Bob needs to transfer 2 BTC to Alice. In this case, the 10 BTC UTXO will be spent as a whole (the old paper bill is used up). 2 BTC (new paper bill) will be sent to Alice, and the remaining 8 BTC (new paper bill) will be returned to Bob as change. In other words, the original 10 BTC existed as a single UTXO, but during the transaction, this UTXO (the old paper bill) was destroyed and no longer exists. Instead, it was replaced by two new UTXOs (new paper bills): one belonging to Bob with a value of 8 BTC (which is the change returned to Bob), and the other belonging to Alice with a value of 2 BTC. In the future, Alice can use this UTXO as a balance to transfer to others.


If Alice wants to transfer those 2 BTC to Frank and to prevent Alice from double-spending those 2 BTC (which is akin to the well-known double-spending attack), miners need to verify that the UTXO has not been used in other transactions. If this UTXO has already been spent in a prior transaction, miners will reject the execution of this new transaction.

2. Multi-Party Transactions


Let's go through two examples to deepen our understanding. (1) One Address Transfers to Three Addresses (2) Three Addresses Transfer to One Address. Let's refer to these four addresses as A, B, C, and D. Scenario ① A transfers to B, C, and D. Scenario ② A, B, and C transfer to D. Initially, Address A has 10 BTC while B, C, and D have 0 BTC.

In scenario (1), Address A initially has one 10 BTC UTXO and wants to transfer 2 BTC to each of the addresses B, C, and D.


First, the original 10 BTC UTXO from A is entirely spent, and 2 BTC is sent to each of the addresses B, C, and D. The remaining 4 BTC is returned to A as change. At this point, the previous 10 BTC UTXO no longer exists and becomes four new UTXOs, one belonging to A valued at 4 BTC, and the other three belonging to B, C, and D, all valued at 2 BTC. After the transfer occurs, there is 1 UTXO of 4 BTC in Address A, 1 UTXO of 2 BTC in Address B, 1 UTXO of 2 BTC in Address C, and 1 UTXO of 2 BTC in Address D.

Now, let's simulate scenario (2), where A, B, and C each transfer 2 BTC to D.


The UTXO of 4 BTC at Address A will be spent as a whole, of which 2 BTC is transferred to D and 2 BTC is given as change to itself. The UTXO of 2 BTC in Address B is transferred to D, and the UTXO of 2 BTC in Address C is transferred to D. After the transfers have occurred, there will be 1 UTXO of 2 BTC in Address A, none at Address B, none at Address C, and 4 UTXOs of 2 BTC at Address D (1 of which is left over from the transfer happening in scenario ① and the rest are from scenario ②).

3. Two-Person Transaction, One Person has Multiple UTXOs


Suppose A has multiple UTXOs, which are 1 BTC UTXO, 2 BTC UTXO, 3 BTC UTXO, and 4 BTC UTXO, and B has no BTC. At this point, A needs to transfer 2.5 BTC to B. How does the UTXO model work?


At this point, the UTXO of 2 BTC in Address A will be transferred directly to B. The UTXO of 1 BTC will be spent as a whole, of which 0.5 BTC will be transferred to B, and 0.5 BTC will be given back as change. After the transfer, there are still 0.5 BTC UTXO, 3 BTC UTXO and 4 BTC UTXO in Address A. B has 2 BTC UTXO and 0.5 BTC UTXO.

In cryptocurrencies that utilize the UTXO model, if a user mistakenly enters an incorrect contract address, it is highly likely that the funds will be irrecoverable. This is because UTXOs do not store additional information about the transaction's outgoing state, and once a cryptocurrency transaction is completed, the corresponding UTXO no longer exists in the database. In essence, the system assumes that you have already spent the funds, and this action cannot be undone. Furthermore, if the contract address is incompatible or incorrect, it can lead to erroneous inputs, meaning the recipient cannot properly receive the cryptocurrency. As a result, it is very probable that the cryptocurrency will be unrecoverable.

We can see that: ① UTXOs record events rather than final states. ② Each UTXO represents a specific quantity of Bitcoin, and the sum of all UTXOs determines the account balance. ③ A UTXO is a Bitcoin transaction output. ④ A complete transaction consists of transaction outputs (senders) and transaction inputs (recipients). Transaction outputs can be referred to as Outputs, and transaction inputs can be referred to as Inputs. After a transaction is completed, any newly generated UTXOs are recorded in the Bitcoin ledger and can be used for further transactions. UTXOs, as the cornerstone of Bitcoin transactions, offer advantages such as security, privacy, and scalability. They serve as the foundational transaction framework for numerous blockchain projects.

The following tokens listed on MEXC use the UTXO model:


ada, ae, avax-xchain, bch, bcha, beam, bhd, bsv, btc, btcv, btm, btm2,
chia, ckb, dash, doge, firo, hc, hns, hydra, ioex, KAS(KASPA), lbc, lbtc, ltc,
mass, pac, plcu, psl, qtum, rvn, sc, sys, ut, wit, xrd, xvg, zel, zen


If there is an error in transferring the cryptocurrency mentioned above, we will be unable to assist in recovering it. Please make sure to enter the correct deposit address before initiating any deposits!


Beginner Benefits

Sign up and easily get New User Rewards. There is up to 8,000 USDT Futures Bonus waiting for you.