Making Transactions
Understand how Bitcoin transactions work, including inputs, outputs, and fees.
"A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution."
How Bitcoin Transactions Work
Unlike traditional bank accounts that track balances, Bitcoin operates on a model of Unspent Transaction Outputs (UTXOs). Think of UTXOs as digital 'coins' or 'notes' of varying amounts stored on the blockchain, locked to specific addresses.
UTXO Model Explained
When you want to send Bitcoin, your wallet selects available UTXOs you own that add up to at least the amount you want to send. It then creates a new transaction that 'spends' these UTXOs and creates new UTXOs:
- One or more UTXOs for the recipient(s).
- One UTXO back to you as 'change' if the input UTXOs exceeded the payment amount + fee.
The difference between the total value of input UTXOs and output UTXOs is the transaction fee, collected by miners.
Visualizing a Transaction
Let's illustrate a simple transaction where Alice sends 1 BTC to Bob. Alice has a UTXO worth 1.5 BTC.
The Life Cycle of a Transaction
1. Creation
Your wallet software constructs the transaction, specifying inputs (UTXOs to spend), outputs (recipient address and amount, change address and amount), and signs it using your private key.
2. Broadcasting
The signed transaction is sent to several nodes in the Bitcoin network. These nodes validate the transaction against the protocol rules.
3. Propagation (Mempool)
Valid transactions are relayed across the network and stored in each node's memory pool (mempool), waiting to be included in a block.
4. Mining & Confirmation
Miners select transactions from the mempool (prioritizing those with higher fees) and include them in a new block they are attempting to solve (mine).
5. Block Inclusion
Once a miner successfully mines a block containing your transaction, it's added to the blockchain. This is the first confirmation.
6. Further Confirmations
As subsequent blocks are mined and added to the chain *after* the block containing your transaction, the number of confirmations increases. Each confirmation makes the transaction exponentially harder to reverse. Six confirmations (roughly 1 hour) is often considered highly secure.
Transaction Fees
Transaction fees are crucial for network security and incentive alignment. They serve two purposes:
- Reward miners for the computational work required to secure the network.
- Act as a mechanism to prioritize transactions during periods of high network congestion.
Fees are typically measured in satoshis per virtual byte (sat/vB). The higher the fee rate you attach, the more likely miners are to include your transaction in the next block.
Transaction Fee Estimator
Fee Rate (sat/vB)
15
Est. Cost (250 bytes)
$0.9
Estimated Time to Confirmation
10-20 minutes
Fee estimations are based on current network conditions and vary over time.
Why Fees Fluctuate
Bitcoin block space is limited (approx. 1MB per 10 minutes). When many users want to transact simultaneously, they compete for this limited space by bidding with higher fees. During low-demand periods, fees can be very low.
Satoshi's Insight on Transactions
"The necessity of transaction fees wasn't just about miner incentive; it was about preventing network spam. Without a cost associated with creating transactions, malicious actors could flood the network with insignificant data, hindering legitimate use.
The UTXO model itself was a deliberate design choice. While account-based systems might seem simpler, the UTXO approach offers better privacy (as addresses aren't directly linked unless reused) and facilitates simpler parallel processing of transactions during validation. It provides a clear chain of ownership for every satoshi.
The concept of confirmations is vital. A transaction isn't truly 'final' the moment it's broadcast. It gains security and irreversibility as more proof-of-work is built on top of the block containing it. This probabilistic finality is fundamental to decentralized consensus."