CBP Blockchain and Transaction Mechanics 3 — Questions and Answers
Question 1: What is a Merkle tree used for in a Bitcoin block?
- Encrypting private keys stored on chain
- Efficiently summarizing and verifying all transactions in a block (Correct answer)
- Calculating the mining difficulty target
- Storing peer IP addresses for network routing
Correct answer: Efficiently summarizing and verifying all transactions in a block
The Merkle tree hashes pairs of transaction IDs up to a single root, allowing efficient proof that a specific transaction is included in a block.
Question 2: What problem does Simplified Payment Verification (SPV) solve for Bitcoin users?
- It allows users to mine blocks without full hardware
- It lets lightweight clients verify transactions without downloading the entire blockchain (Correct answer)
- It removes the need for digital signatures
- It enables instant transactions with zero confirmations
Correct answer: It lets lightweight clients verify transactions without downloading the entire blockchain
SPV lets clients verify a transaction's inclusion in a block using only block headers and a Merkle proof, rather than the full blockchain.
Question 3: In Bitcoin's scripting system, what does the opcode OP_CHECKSIG do?
- It hashes the transaction and stores it on-chain
- It verifies that a provided signature is valid for the given public key and transaction hash (Correct answer)
- It checks whether the transaction fee exceeds the minimum
- It confirms the block height before unlocking funds
Correct answer: It verifies that a provided signature is valid for the given public key and transaction hash
OP_CHECKSIG pops a public key and a signature from the stack, verifies the signature against the serialized transaction hash, and pushes TRUE or FALSE.
Question 4: What is the significance of a transaction achieving 6 confirmations in Bitcoin?
- The transaction is guaranteed to be immutable by protocol rule
- It is a widely accepted threshold indicating the transaction is extremely difficult to reverse (Correct answer)
- The UTXO is permanently deleted from the set
- The miner fee is refunded after 6 blocks
Correct answer: It is a widely accepted threshold indicating the transaction is extremely difficult to reverse
Six confirmations is a practical industry standard because reversing 6 blocks would require controlling enormous hashrate, making attacks economically infeasible for typical amounts.
Question 5: Which of the following best describes an orphan block in Bitcoin?
- A block that contains no transactions
- A valid block whose parent block is not yet known to the receiving node (Correct answer)
- A block mined with an invalid Proof-of-Work
- A block that exceeds the maximum weight limit
Correct answer: A valid block whose parent block is not yet known to the receiving node
An orphan (or stale) block is a valid block whose predecessor has not yet been received, so it temporarily cannot be attached to the known chain.
Question 6: What does the difficulty adjustment algorithm in Bitcoin target?
- Keeping block sizes under 1 MB
- Maintaining an average of one block every 10 minutes (Correct answer)
- Ensuring each block has at least 1,000 transactions
- Limiting the total supply to 21 million BTC
Correct answer: Maintaining an average of one block every 10 minutes
Every 2,016 blocks (~2 weeks), Bitcoin recalculates difficulty to keep the average inter-block time close to 10 minutes regardless of total network hashrate.
Question 7: In Bitcoin, what is the purpose of the witness discount introduced by SegWit?
- To reduce miner fees for all transactions regardless of input type
- To incentivize use of SegWit inputs by charging witness data at 1/4 the weight of non-witness data (Correct answer)
- To eliminate the need for signatures on coinbase transactions
- To allow miners to include more coinbase data
Correct answer: To incentivize use of SegWit inputs by charging witness data at 1/4 the weight of non-witness data
SegWit weights witness data at 1 instead of 4 (per byte), making SegWit transactions cheaper to include and incentivizing adoption of the new format.
What is a Merkle tree used for in a Bitcoin block?