CCA Blockchain Fundamentals 2 — Questions and Answers
Question 1: What is the primary purpose of a Merkle tree in a blockchain block?
- To encrypt transaction data end-to-end
- To efficiently verify the integrity of all transactions in a block (Correct answer)
- To determine the mining difficulty target
- To store the public keys of all participants
Correct answer: To efficiently verify the integrity of all transactions in a block
A Merkle tree allows efficient and secure verification of transaction inclusion by hashing pairs of transactions up to a single root hash stored in the block header.
Question 2: In a Proof-of-Work blockchain, what does 'difficulty adjustment' accomplish?
- It limits the number of nodes that can participate in mining
- It changes the reward per block based on transaction fees
- It modifies the target hash threshold to maintain a consistent block time (Correct answer)
- It rotates which miners are allowed to produce the next block
Correct answer: It modifies the target hash threshold to maintain a consistent block time
Difficulty adjustment periodically recalculates the target hash value so that the average time to find a valid block stays near the protocol's target interval (e.g., 10 minutes for Bitcoin).
Question 3: Which property ensures that altering any historical block on a blockchain invalidates all subsequent blocks?
- Digital signature chaining
- Each block contains the cryptographic hash of the previous block (Correct answer)
- Timestamping by a trusted authority
- Validator signatures on every transaction
Correct answer: Each block contains the cryptographic hash of the previous block
Because each block header includes the prior block's hash, modifying an old block changes its hash, breaking the chain link and invalidating every block that follows.
Question 4: What distinguishes a 'soft fork' from a 'hard fork' in blockchain protocol upgrades?
- Soft forks require majority miner support while hard forks do not
- Soft forks are backward-compatible; hard forks are not (Correct answer)
- Hard forks only affect transaction fees while soft forks affect block size
- Soft forks split the network permanently while hard forks merge it
Correct answer: Soft forks are backward-compatible; hard forks are not
A soft fork tightens validation rules so old nodes still accept new blocks, whereas a hard fork introduces rules that make new blocks invalid under the old protocol, requiring all participants to upgrade.
Question 5: From an audit perspective, what is the significance of an 'unspent transaction output' (UTXO)?
- It represents a liability on the blockchain issuer's balance sheet
- It is the fundamental unit of value that can be referenced as input in future transactions (Correct answer)
- It indicates a transaction that failed validation and was rejected
- It records a smart contract's available gas balance
Correct answer: It is the fundamental unit of value that can be referenced as input in future transactions
UTXOs are discrete units of cryptocurrency that have been received but not yet spent; auditors verify the UTXO set to confirm ownership and prevent double-spending.
Question 6: Which attack vector is specifically prevented by a blockchain's immutability once a transaction reaches sufficient confirmations?
- Sybil attack
- Double-spend attack (Correct answer)
- Phishing attack
- 51% attack on future blocks
Correct answer: Double-spend attack
Sufficient confirmations make reversing a transaction computationally infeasible, directly preventing a double-spend where the same coins are spent more than once.
Question 7: What role does a 'genesis block' play in a blockchain?
- It is the block where mining rewards are halved for the first time
- It is the first block that establishes the chain's origin with no predecessor (Correct answer)
- It contains the initial smart contract code for the network
- It is the checkpoint block used to reset the difficulty target
Correct answer: It is the first block that establishes the chain's origin with no predecessor
The genesis block is the hard-coded first block of a blockchain, having no parent hash, and it anchors the entire chain's history.
What is the primary purpose of a Merkle tree in a blockchain block?