Blockchain Developer Core Blockchain Data Structures 3 — Questions and Answers
Question 1: What does the Merkle root in a block header summarize?
- All transactions in the block (Correct answer)
- Only the coinbase transaction
- The previous block's transactions
- The miner's wallet balance
Correct answer: All transactions in the block
The Merkle root is a single hash representing every transaction included in that block.
Question 2: Which field is NOT typically part of a Bitcoin block header?
- The full list of transactions (Correct answer)
- The Merkle root
- The nonce
- The previous block hash
Correct answer: The full list of transactions
Transactions are stored in the block body, while the header holds only summary metadata like the Merkle root.
Question 3: What is a Patricia Merkle Trie used for in Ethereum?
- Storing account state and enabling efficient state proofs (Correct answer)
- Mining new blocks
- Encrypting peer-to-peer messages
- Compressing the genesis block
Correct answer: Storing account state and enabling efficient state proofs
Ethereum uses Patricia Merkle Tries to store and prove account state, storage, and transaction data efficiently.
Question 4: What makes a hash function suitable as a blockchain building block?
- It is one-way and collision-resistant (Correct answer)
- It is reversible on demand
- It produces variable-length output
- It depends on a secret key
Correct answer: It is one-way and collision-resistant
Blockchain hash functions must be one-way and collision-resistant so outputs cannot be forged or reversed.
Question 5: In a Merkle tree, how many hashes must an SPV client receive to prove inclusion in a tree of N transactions?
- Approximately log2(N) (Correct answer)
- Exactly N
- Exactly N/2
- Always one
Correct answer: Approximately log2(N)
A Merkle proof requires only about log2(N) sibling hashes to reconstruct the root path.
Question 6: What is the genesis block?
- The first block in a blockchain with no predecessor (Correct answer)
- The most recently mined block
- A block containing only the Merkle root
- An empty placeholder block
Correct answer: The first block in a blockchain with no predecessor
The genesis block is the very first block and is the only one without a reference to a previous block.
Question 7: Why are hashes preferred over plaintext for linking blocks?
- Fixed-length output that uniquely fingerprints variable data (Correct answer)
- They are human-readable
- They can be decrypted to recover data
- They shrink storage to zero
Correct answer: Fixed-length output that uniquely fingerprints variable data
Hashes give a compact, fixed-size fingerprint of arbitrary data, ideal for compact and verifiable links.
What does the Merkle root in a block header summarize?