The number of people using cryptocurrencies has grown exponentially. It is common to see people use it in their daily lives with little or no understanding of the principles behind these digital currencies. However, a basic understanding of these concepts is necessary for smooth daily operations and a better user experience.
In Bitcoin and some other cryptocurrencies, Unspent transaction output (UTXO) is used to represent the value of Bitcoin in an individual’s possession. In the early days of Bitcoin, without a proper understanding of this concept, it would be difficult to carry out a successful transaction, it can even lead to loss of funds. But with the rise of hierarchical deterministic (HD) wallets, you can comfortably perform transactions without worrying about what happens behind the scene.
However, there is a need to understand how Bitcoin UTXO works. It is an important concept in the Bitcoin network. In this article, we will give a comprehensive rundown of everything you need to know about the UTXO model so you don’t feel lost next time UTXO is mentioned.
An Unspent Transaction Output (UTXO) refers to the amount of currency left after a transaction which can be used for another transaction. It is the output of a blockchain transaction which can be used as an input for a new transaction. In other words, UTXO refers to the total amount of coins in a user’s wallet which can be consumed at any point in time. Not having any UTXO means not having any coins in your wallet. UTXO is applicable in Bitcoin and some other cryptocurrencies such as Bitcoin Cash (BCH), Litecoin (LTC), and ZCash (ZEC), among others.
UTXO is similar to the change you receive after purchasing an item with physical cash and the change can still be used for another item. But unlike a fiat currency, it doesn’t have a particular denomination. It can be any value once it is up to a satoshi (x>0.00000001BTC). To understand this better, if you have two $10 bills and purchase a coffee worth $15. You will have to hand over both bills and in return, you will get a $5 bill as a change. There is no way you will tear a $10 bill into two to pay for the coffee. You must spend both and receive a change. This is similar to the ideology
behind UTXO.
A cryptocurrency transaction on the blockchain is simply a transfer of value from the sender to the recipient. Cryptocurrency is made up of small indivisible chunks known as UTXO. This means that the coin in your wallet is the sum of all the UTXOs received. When a sender initiates a transaction, UTXO associated with the sender’s ID is located, gathered, unlocked, and sent to the receiver. The receiver becomes the new owner of the UTXO while the change becomes your new UTXO as well. You might be wondering how and when all these take place as what a user sees is just the amount deducted and the balance. The answer is not far-fetched, modern wallets have made everything easy, and take care of all these steps behind the scenes.
UTXO, like a fiat currency, is not divisible, meaning that to spend a certain amount, you need to spend it all and receive a change. New UTXO are created from consuming existing ones. To understand the working of the UTXO model, let’s use the illustration below.
Suppose you receive 0.5 BTC 0.2 BTC and 0.3 BTC from A, B, and C respectively. Each amount received is a UTXO on its own which shows that UTXOs don’t have a fixed value.
Suppose you wish to pay a debt of 0.75 BTC to D. Looking at the UTXOs in your custody, none is up to the needed amount. Transferring 0.75 BTC will require two or more UTXOs as input.
If you decide to choose 0.5 BTC and 0.3 BTC to offset the debt. You will then send both to the miner.
The miner will take 0.75 BTC and send it to D while returning the remaining to your wallet after deducting the transaction fee.
Assuming no transaction fee was incurred in the process ( not possible), you will have 0.05 BTC returned to the address you provided as the change address.
So at the end of the day, you will have 0.2 BTC and 0.05 BTC as your new UTXOs pending another transaction.
In your normal bank transactions, all you need to do is just enter the desired amount and the recipient, then your bank will do the rest. But in Bitcoin transactions, you are required to select the UTXOs you wish to use. Moreover, a fiat currency does have a specific denomination but that is not the case in UTXOs. Without proper knowledge of how the UTXO model works, you might end up initiating transactions you have no intention of doing.
Prevents Double Spending: With the help of the UTXO model, a coin can only be spent once. The network keeps track of every single UTXO in circulation. When a transaction is initiated, the UTXO is converted into the input and the output generated in the process overwrites the previous record. When this happens, the original UTXO will be consumed hence it cannot be spent again. Also, the system can always calculate how much BTC is in existence by calculating the whole UTXO on the network, which is known as the UTXO set.
Scalability: With the UTXO model, there is an option of processing multiple transactions simultaneously. This helps to reduce the processing load on the network.
Privacy and Security: UTXO allows users to keep track of their cryptocurrencies since they are linked with an individual public address. Also, users can maintain their anonymity and can’t be tracked with the ownership or else they advertise their address.
Flexibility: Using UTXOs is more flexible than fiat currencies. Fiat currency does have a fixed denomination and the issue of unavailability could arise. But that can never be the case in UTXO since it can be of any size.
The UTXO model is a complex and time-consuming process. To know the total worth of coins in a user’s custody requires collecting and counting all the available UTXO instead of just checking the balance making it very complex. Also, owning small coins makes transactions uneconomical. Not making the best selection of UTXOs can lead to high transaction fees that might even be more expensive than the transaction itself.
The UTXO model is not compatible with smart contracts. The input and output logic in UTXO transactions make it more resource-intensive. It will be hectic integrating smart contracts into the UTXO model as the system will have lots of things to put into consideration, like the number of inputs and the best combination of inputs for multiple transactions.
The account model works just like a normal bank, you do not necessarily have to spend the whole coin before you can send out part of it. Some cryptocurrencies making use of the account model are Ethereum (ETH), Ethereum Classic (ETC), etc. Both models serve the same purpose, though with their advantages and setbacks. Some of the notable differences between the two models include:
In the UTXO model, transactions require more storage space than storing in a single balance while the Account model requires lesser space.
Bk transactions using UTXO mod will require gathering smaller units of UTXOs which can lead to inefficiency of such transactions. This is not the case with account models hence bulk Transactions are more efficient.
As stated earlier, the UTXO model does not support the integration of smart contracts. The nature of the account model makes it easy to integrate smart contracts, allowing developers to program multi-party contracts and transactions.
Before the inception of modern Bitcoin wallets, the proper understanding of UTXO was very much needed to avoid the loss of funds when carrying out a transaction. UTXO helps to keep track of coins at any given point in time. To generate a new UTXO, the existing one must be spent. This concept also goes a long way to prevent the issue of double spending normally encountered in digital currencies. UTXO plays a vital role in Bitcoin transactions and has been adopted and modified on other cryptocurrencies as well. UTXO serves a similar purpose as the cash system on the blockchain but offers more security, privacy, and flexibility.
The number of people using cryptocurrencies has grown exponentially. It is common to see people use it in their daily lives with little or no understanding of the principles behind these digital currencies. However, a basic understanding of these concepts is necessary for smooth daily operations and a better user experience.
In Bitcoin and some other cryptocurrencies, Unspent transaction output (UTXO) is used to represent the value of Bitcoin in an individual’s possession. In the early days of Bitcoin, without a proper understanding of this concept, it would be difficult to carry out a successful transaction, it can even lead to loss of funds. But with the rise of hierarchical deterministic (HD) wallets, you can comfortably perform transactions without worrying about what happens behind the scene.
However, there is a need to understand how Bitcoin UTXO works. It is an important concept in the Bitcoin network. In this article, we will give a comprehensive rundown of everything you need to know about the UTXO model so you don’t feel lost next time UTXO is mentioned.
An Unspent Transaction Output (UTXO) refers to the amount of currency left after a transaction which can be used for another transaction. It is the output of a blockchain transaction which can be used as an input for a new transaction. In other words, UTXO refers to the total amount of coins in a user’s wallet which can be consumed at any point in time. Not having any UTXO means not having any coins in your wallet. UTXO is applicable in Bitcoin and some other cryptocurrencies such as Bitcoin Cash (BCH), Litecoin (LTC), and ZCash (ZEC), among others.
UTXO is similar to the change you receive after purchasing an item with physical cash and the change can still be used for another item. But unlike a fiat currency, it doesn’t have a particular denomination. It can be any value once it is up to a satoshi (x>0.00000001BTC). To understand this better, if you have two $10 bills and purchase a coffee worth $15. You will have to hand over both bills and in return, you will get a $5 bill as a change. There is no way you will tear a $10 bill into two to pay for the coffee. You must spend both and receive a change. This is similar to the ideology
behind UTXO.
A cryptocurrency transaction on the blockchain is simply a transfer of value from the sender to the recipient. Cryptocurrency is made up of small indivisible chunks known as UTXO. This means that the coin in your wallet is the sum of all the UTXOs received. When a sender initiates a transaction, UTXO associated with the sender’s ID is located, gathered, unlocked, and sent to the receiver. The receiver becomes the new owner of the UTXO while the change becomes your new UTXO as well. You might be wondering how and when all these take place as what a user sees is just the amount deducted and the balance. The answer is not far-fetched, modern wallets have made everything easy, and take care of all these steps behind the scenes.
UTXO, like a fiat currency, is not divisible, meaning that to spend a certain amount, you need to spend it all and receive a change. New UTXO are created from consuming existing ones. To understand the working of the UTXO model, let’s use the illustration below.
Suppose you receive 0.5 BTC 0.2 BTC and 0.3 BTC from A, B, and C respectively. Each amount received is a UTXO on its own which shows that UTXOs don’t have a fixed value.
Suppose you wish to pay a debt of 0.75 BTC to D. Looking at the UTXOs in your custody, none is up to the needed amount. Transferring 0.75 BTC will require two or more UTXOs as input.
If you decide to choose 0.5 BTC and 0.3 BTC to offset the debt. You will then send both to the miner.
The miner will take 0.75 BTC and send it to D while returning the remaining to your wallet after deducting the transaction fee.
Assuming no transaction fee was incurred in the process ( not possible), you will have 0.05 BTC returned to the address you provided as the change address.
So at the end of the day, you will have 0.2 BTC and 0.05 BTC as your new UTXOs pending another transaction.
In your normal bank transactions, all you need to do is just enter the desired amount and the recipient, then your bank will do the rest. But in Bitcoin transactions, you are required to select the UTXOs you wish to use. Moreover, a fiat currency does have a specific denomination but that is not the case in UTXOs. Without proper knowledge of how the UTXO model works, you might end up initiating transactions you have no intention of doing.
Prevents Double Spending: With the help of the UTXO model, a coin can only be spent once. The network keeps track of every single UTXO in circulation. When a transaction is initiated, the UTXO is converted into the input and the output generated in the process overwrites the previous record. When this happens, the original UTXO will be consumed hence it cannot be spent again. Also, the system can always calculate how much BTC is in existence by calculating the whole UTXO on the network, which is known as the UTXO set.
Scalability: With the UTXO model, there is an option of processing multiple transactions simultaneously. This helps to reduce the processing load on the network.
Privacy and Security: UTXO allows users to keep track of their cryptocurrencies since they are linked with an individual public address. Also, users can maintain their anonymity and can’t be tracked with the ownership or else they advertise their address.
Flexibility: Using UTXOs is more flexible than fiat currencies. Fiat currency does have a fixed denomination and the issue of unavailability could arise. But that can never be the case in UTXO since it can be of any size.
The UTXO model is a complex and time-consuming process. To know the total worth of coins in a user’s custody requires collecting and counting all the available UTXO instead of just checking the balance making it very complex. Also, owning small coins makes transactions uneconomical. Not making the best selection of UTXOs can lead to high transaction fees that might even be more expensive than the transaction itself.
The UTXO model is not compatible with smart contracts. The input and output logic in UTXO transactions make it more resource-intensive. It will be hectic integrating smart contracts into the UTXO model as the system will have lots of things to put into consideration, like the number of inputs and the best combination of inputs for multiple transactions.
The account model works just like a normal bank, you do not necessarily have to spend the whole coin before you can send out part of it. Some cryptocurrencies making use of the account model are Ethereum (ETH), Ethereum Classic (ETC), etc. Both models serve the same purpose, though with their advantages and setbacks. Some of the notable differences between the two models include:
In the UTXO model, transactions require more storage space than storing in a single balance while the Account model requires lesser space.
Bk transactions using UTXO mod will require gathering smaller units of UTXOs which can lead to inefficiency of such transactions. This is not the case with account models hence bulk Transactions are more efficient.
As stated earlier, the UTXO model does not support the integration of smart contracts. The nature of the account model makes it easy to integrate smart contracts, allowing developers to program multi-party contracts and transactions.
Before the inception of modern Bitcoin wallets, the proper understanding of UTXO was very much needed to avoid the loss of funds when carrying out a transaction. UTXO helps to keep track of coins at any given point in time. To generate a new UTXO, the existing one must be spent. This concept also goes a long way to prevent the issue of double spending normally encountered in digital currencies. UTXO plays a vital role in Bitcoin transactions and has been adopted and modified on other cryptocurrencies as well. UTXO serves a similar purpose as the cash system on the blockchain but offers more security, privacy, and flexibility.