What is UTXO?
UTXO represents unspent transaction outputs. In the blockchain, each Bitcoin transaction is split into inputs and outputs, with each output generating a UTXO. When you send BTC, you use previously received UTXOs as inputs and create new UTXOs as outputs for the transaction. These new UTXOs can be used in subsequent transactions. The balance of BTC is composed of multiple UTXOs.
For example: A sends 1 BTC to B. C sends 0.8 BTC to B. At this point, B has two UTXOs on their BTC address, and their balance is 1.8 BTC. B's wallet has two UTXOs that can be used:
- UTXO1: 1 BTC
- UTXO2: 0.8 BTC
UTXOs are like different denominations of paper money in our wallet, representing different amounts of funds. When you receive funds, they become UTXOs, and when you spend funds, you can select and combine UTXOs accordingly to cover the desired amount while creating new UTXOs for any remaining balance.
Continuing with the above example, now B has two UTXOs on their address, which are 1 BTC and 0.8 BTC. Now, B wants to transfer 0.5 BTC to D. In theory, there are two transfer options for B (ignoring transaction fees for simplicity):
- Option 1: B uses the 1 BTC UTXO to transfer 0.5 BTC to D and receives 0.5 BTC change.
- Option 2: B uses the 0.8 BTC UTXO to transfer 0.5 BTC to D and receives 0.3 BTC change.
If B wants to transfer 1.2 BTC to D, they need to spend both UTXOs, and they will receive 0.6 BTC change. (Transaction fees are not considered for the sake of explanation in the above examples).
Why Insufficient UTXOs Occur?
When the total available UTXO amount from the sender is insufficient to cover the transaction amount and network fees, a "UTXO Insufficient" prompt will appear when signing the transaction. In this case, you can either wait for pending transactions to confirm 1 block or transfer funds from other addresses to increase the total available UTXO amount.
What is BTC network congestion?
What causes network congestion?
BTC congestion refers to the congestion of transactions on the Bitcoin network, caused by the number of transactions exceeding the network's processing capacity. Due to the design limitations of the Bitcoin network, each block can only accommodate a limited number of transactions. Therefore, when the number of transactions on the network exceeds the capacity limit of the blockchain, congestion occurs.
Additionally, the speed of transaction confirmation also affects the congestion on the network. In the Bitcoin network, each transaction needs to be confirmed by nodes on the network (6 confirmations) before it can be processed. If the number of nodes on the network is insufficient or if the transmission speed between nodes is slow, it can result in slower confirmation speeds and potential rejection of transactions.
How to avoid network congestion?
Here are some methods to avoid BTC network congestion:
Set appropriate transaction fees: Paying a reasonable transaction fee can ensure quick confirmation of your transactions. Opting for a reasonable fee incentivizes miners to prioritize your transaction.
Utilize transaction batching: If you have multiple small-value transactions, try combining them into a single larger transaction. This help reduce the number of UTXOs and transactions, thereby reducing network load. MPCVault also supports batch payment. Read more about the Batch Payment here.
Plan transaction timing: If you anticipate network congestion, such as during significant events, try to avoid sending transactions during that time. Instead, opt for sending transactions during times when the network is relatively less congested, enabling faster confirmation.
By implementing the methods mentioned above, you can optimize transaction performance and reduce the likelihood of encountering BTC network congestion.