Reading time: ~2 m
The Unspent Transaction Output (UTXO, from Unspent Transaction Output) is a discrete bitcoin particle. UTXO can be combined and divided to make payments for any amount.
UTXO can be compared to physical coins in the sense that they are spent discretely, separately. If you want to spend 5 rubles, you cannot use half of a 10-ruble coin for this. You need to give the entire 10-ruble coin and get 5 rubles in change. But, unlike physical coins, UTXOs are not issued in standardized denominations (like 1, 5 or 10 rubles). UTXOs can contain any number of bitcoins.
As the name suggests, UTXO (Unspent Transaction Output) is the output of a bitcoin transaction. The output exists in the form of UTXO until it is used as an input in a subsequent transaction, after which it will no longer be “unspent”.
The set of all UTXOs existing in the system at any given time is called a UTXO set. Bitcoin nodes monitor the UTXO set to determine exactly which “coins” exist and who can spend them. Thanks to this system, Bitcoin solves the problem of double spending, which could not be circumvented by previous digital currencies.
How are UTXOs created?
New UTXOs are created when existing UTXOs are consumed. Each bitcoin transaction consists of inputs and outputs. The inputs waste existing UTXOs, and the outputs create new UTXOs. But if the creation of new UTXOs is associated with the destruction of the old ones, then how did these old UTXOs originally appear?
A Coinbase transaction is a special type of transaction in which new bitcoins are created and paid to the miner as a reward for the block found. Since new bitcoins are created in it, there are no inputs in the coinbase transaction and there are one or more outputs. As with any other transactions, the output of a coinbase transaction is a new UTXO (unspent output).
The history of each UTXO can be traced back to the coinbase transaction — one or more of its outputs.
Explanation of Bitcoin’s UTXO Model
Bitcoin’s UTXO model differs from most other digital currencies. This is due to the fact that Bitcoin was developed with a different goal setting than the traditional financial system. From the very first block, Bitcoin had to be absolutely transparent, fair and verifiable. And the UTXO model helps Bitcoin achieve these goals. So, how does the UTXO model work?
Addresses and UTXO
In a traditional financial system, a transaction involves withdrawing money from one account and crediting it to another account. But, since there are no accounts in the UTXO model of Bitcoin, it does not require an account/sender’s address. Although addresses are used to get UTXO, they are never explicitly written in the blockchain. Instead, bitcoin addresses are encoded scriptPubKey scripts that are included in each transaction output.
When spending bitcoins, the transaction input includes only the signatures and public keys required to execute the scriptPubKey. There is no mention in the blockchain of which address the bitcoins came from. However, the previous UTXO address is easy to calculate. Each transaction input refers to an existing UTXO by the txid of the previous transaction and the exit index in it. The scriptPubKey of the output of the specified transaction can be translated into a bitcoin address.
Bitcoin Monetary Policy
The UTXO model allows all nodes of the network to come to an agreement about which bitcoins exist at one time or another. Thanks to it, anyone can check the general Bitcoin supply and make sure that its monetary policy is being followed.
A Bitcoin transaction can contain any number of inputs and outputs. This allows you to arbitrarily combine user-controlled UTXOs to make payments for any amount within the total balance of his funds.
For example, if Alice wants to pay Bob 1 BTC and she has 2 UTXOs worth 0.5 BTC and 0.7 BTC, she can use both UTXOs as inputs and send Bob 1 BTC.
To claim the balance, the change, Alice creates another output worth 0.199 BTC, which she sends to herself. The nominal value of the output for delivery is less than 0.2 BTC, because Alice also needs to pay a transaction fee.
No separate exit is created for the transaction fee. It is calculated as the difference between the sum of inputs and the sum of outputs of the transaction.
The UTXO model allows bitcoin nodes to efficiently verify every transaction on the blockchain. When a node receives a transaction, either in a mempool or as part of a block— it can check whether the UTXOs consumed in this transaction are valid and unspent. It is this verifiability that allows Bitcoin to solve the problem of double spending without the need for trusted intermediaries.
UTXO model in comparison with the invoice model
Most financial systems, including banks and other cryptocurrencies, do not use the UTXO model. Instead of controlling a certain number of specific digital “coins”, in these systems people have one or more accounts, each with a certain balance. The account model allows financial institutions and businesses to debit and credit individual accounts for certain amounts and avoid problems with exchanging or choosing coins.
Problems with the reliability of the account model
The advantages of the billing model are achieved at the expense of transparency and auditability of the system. It is impossible to check the total amount of US dollars on all bank accounts at once.
In addition, most account models are prone to problems such as chargebacks and overspending on accounts. In Bitcoin, transactions must refer to accurate and valid consumable UTXOs, which excludes the possibility of adding an invalid transaction to the blockchain.
Privacy Benefits of the UTXO model
The UTXO model increases user privacy. Bitcoin users have the ability to process each UTXO separately, storing each of them at a unique address. By receiving each UTXO to a separate address, users can hide the connection between their UTXOs from third-party observers. It is not easy for an observer to determine which UTXOs belong to which users.
Bitcoin’s design makes it easy to generate new addresses in any number. Systems using the account model, especially within the traditional financial system, make it difficult or do not allow the user to create new accounts at all, forcing users to keep all or most of their funds in one account.
Companies specializing in the analysis of blockchains undermine the privacy of Bitcoin, trying to identify the owners of UTXO by various methods. However, the methods they use are based on assumptions and indirect evidence, and not on strict logic.
#Unspent #transaction #output #UTXOBitcoin #Model