1. Describe what Unspent Transaction Outputs (UTXO) are.
Unspent Transaction Outputs are old outputs received from previous transactions which you can use as inputs to spend in new transactions. As an example, if you bought a $7 chair using a $10 bill, you would usually receive $3 back as change. Those unspent $3 are similar to the Unspent Transaction Outputs of a cryptocurrency transaction.
2. What would happen if you don’t have any single UTXO that is large enough to cover for your transaction?
When you make a transaction, your wallet checks the blockchain and adds up all of the UTXOs that have been sent to your private key. If you don’t have any single UTXO that is large enough for your transaction, your wallet combines UTXOs until the total inputs are enough to cover your send request.
The combined inputs go through the transaction, and the outputs plus the miner fees are equal to the original inputs. The outputs are now the new UTXOs of the addresses that received it. The recipients can now take those UTXOs and use them as inputs for another transaction.
3. How would a bitcoin wallet specify the transaction fee when creating a transaction?
a) You can choose the transaction fee yourself - larger fees mean faster transactions, but are more expensive.
b) Usually the wallet will choose the fee that will get your transaction into the blockchain fast enough. The miners can choose which transactions to include in the block based on the transaction fees attached to them, so when I say that the wallet chooses the fee, I mean that it looks at the amount most likely to be accepted by miners based on the fees of the previous transactions that have already been mined.
P.S. Transaction fee = (input - output)
4. How could you use the notion of transaction inputs and outputs to increase privacy in your transaction?
You can generate new public keys for the same wallet, and send it to yourself. An outsider would look at the transaction and wouldn’t be able to tell if you sent it to someone else, or to yourself using a different receiving address.
Basically, if you use new receiving addresses each time, it would be very difficult to find out that it was you receiving those UTXOs all along.