Q1: Why did the system need to replace the old “email to Lisa” approach with transactions?
Because in the old approach, only Lisa saw the email requests, giving her the power to modify entries and potentially steal. Transactions store signatures and payment details publicly, so everyone can verify they haven’t been altered, reducing trust required in Lisa.
Q2: What key problems do transactions solve?
Q3: How does a transaction replace the old “From, To, CT” approach?
A transaction includes inputs (referencing specific previously unspent outputs) and outputs (new “coins” created by the transaction). Each output specifies a script that must be satisfied to spend it. This formalizes and records the payment, and can’t be changed without invalidating the signatures.
Q4: Why do we often have a “change output”?
Because outputs in Bitcoin-like systems must be spent entirely. If you only need 8 out of a 10 “coin” output, you’ll consume the whole 10 in your transaction and create one output for 8 (the payment) plus one for 2 (change) going back to you.
Q5: Where does Lisa store these new transactions?
In the shared ledger (the “spreadsheet”). Each confirmed transaction is appended exactly as created by the sender, ensuring full transparency and auditability.
Q6: How is a transaction created and confirmed?
Q7: What is the UTXO set, and why is it useful?
The UTXO (Unspent Transaction Output) set is a list of all currently spendable outputs. It allows quick checks to confirm that a transaction’s inputs are valid and unspent, avoiding full balance calculations for each PKH.
Q8: Why is there a programmable aspect in each transaction output?
Each output holds a small script (the pubkey script) dictating how
it can be spent. The input that spends it provides the matching script data
(the signature script). If the combined script checks out (returns OK),
the spending is authorized.
Q9: How do multi-signature transactions work?
Instead of “pay-to-public-key-hash,” you can use OP_CHECKMULTISIG and
require M-of-N signatures from multiple participants, which is great for
shared accounts or more secure storage.
Q10: What if the recipient’s script is large, but the sender doesn’t want to pay the higher fee for a bigger output script?
They can use pay-to-script-hash (p2sh), which hides the actual script behind a script hash. The sender only sees and pays to the short hash, while the detailed script is provided (and paid for in bytes) by whoever later spends it.
Q11: How can we identify a p2sh address?
p2sh addresses (base58check with version byte 0x05) typically start with 3
(e.g., 3ABC...), distinguishing them from p2pkh addresses (which start with 1).
Q12: If all money is tracked in unspent outputs, how does new money enter the system?
Through a special coinbase transaction, which has a special input (“coinbase”) and no previous txid. This transaction can create new funds for Lisa (or miners in Bitcoin) as a reward for maintaining the ledger.
Q13: Can Lisa still cheat if all transactions are publicly verified?
She can’t forge or alter individual transactions without invalidating signatures. However, she can still:
OP_CHECKMULTISIG) or
p2sh (pay-to-script-hash).3, hiding the script until spending time.End of Study Notes for Chapter 5. We’ve seen how transactions provide publicly verifiable payments, forming the basis for the trustless Bitcoin system once the blockchain is introduced!