A transfer of Bitcoins from one Bitcoin user to another. Containing an embedded script, a Bitcoin transaction is generated in a digital wallet and transmitted to the Bitcoin network. It is validated by a Bitcoin "node" and added to the blockchain-based ledger by a "miner." See Bitcoin Script
, Bitcoin wallet
and Bitcoin mining
UTXOs (Unspent Transaction Outputs)
A person's available Bitcoins are stored in data records known as "unspent transaction outputs" (UTXOs). A single UTXO can contain any amount, but unlike a bank account balance, which is a single amount, a user's Bitcoin balance is like having cash in different rooms throughout the house. The sum of all those bills is the user's cash on hand; the sum of all UXTOs is that user's coin balance.
A wallet or third-party service maintains a database of UTXOs identified by the user's private key. To spend Bitcoin means looking for available UTXOs and determining which denominations make up the required amount for the recipient. Each UTXO is indivisible like paper money. Therefore, if one or more UTXOs are larger than the amount to be paid, change is made in the form of a new UTXO, the same as buying something for $6 with a $10 bill and receiving $4 in change.
Transactions Have Inputs and Outputs
Transaction inputs are one or more UTXOs and transaction outputs are the payment to the recipient and change. The difference between inputs and outputs is the fee, which miners collect when they combine that transaction with others into a block and add the block to the blockchain. If there is change left as there often is like the example above with a $6 purchase and a $10 bill, a new UTXO is created for $3.80, assuming a $0.20 fee (of course amounts are in Satoshis, which are fractions of a Bitcoin). See Satoshi
Known as the UTXO set, all the UTXOs on the blockchain represent the total number of Bitcoins in existence. The actual number constantly changes because UTXO inputs are removed and UTXO outputs are added. See coinbase transaction
and Bitcoin Script
Locking and Unlocking Scripts
A Bitcoin transaction contains both locking and unlocking scripts. The locking script typically contains the Bitcoin address, whereas the unlocking script usually contains a digital signature created from the user's private key. The unlocking script is used to verify the transaction. See digital signature
, Bitcoin node