CBSE Blockchain Cryptography Fundamentals 3 — Questions and Answers
Question 1: In a Merkle Patricia Trie (used in Ethereum), what is stored at the root node that makes state verification efficient?
- The full transaction list for the block
- A cryptographic hash representing the entire state of the trie (Correct answer)
- The public keys of all validators
- The nonce of the most recent mined block
Correct answer: A cryptographic hash representing the entire state of the trie
The root hash of a Merkle Patricia Trie cryptographically commits to the entire state, allowing any state element to be verified with a compact proof path.
Question 2: What is the purpose of the RIPEMD-160 hash in Bitcoin address generation?
- To sign transactions before broadcasting
- To shorten the SHA-256 hash of a public key into a 160-bit address (Correct answer)
- To derive child keys in HD wallets
- To compute the proof-of-work target
Correct answer: To shorten the SHA-256 hash of a public key into a 160-bit address
Bitcoin applies SHA-256 followed by RIPEMD-160 to a public key, producing a 160-bit hash that forms the core of a Bitcoin address, saving space.
Question 3: Which attack model assumes the adversary can request signatures on arbitrary messages but cannot choose the message after seeing the signature?
- Chosen-ciphertext attack
- Known-message attack
- Chosen-message attack (Correct answer)
- Adaptive chosen-message attack
Correct answer: Chosen-message attack
In a chosen-message attack, the adversary selects messages to be signed before seeing any signatures, testing if forging new signatures is possible.
Question 4: A zero-knowledge proof allows a prover to convince a verifier of a statement's truth without revealing:
- The hash of the statement
- Any information beyond the validity of the statement itself (Correct answer)
- The identity of the verifier
- The public key used in the proof
Correct answer: Any information beyond the validity of the statement itself
Zero-knowledge proofs allow the prover to demonstrate knowledge of a secret (e.g., a private key) without disclosing any information about the secret itself.
Question 5: In HD (Hierarchical Deterministic) wallets defined by BIP-32, child private keys are derived using HMAC-SHA512 applied to:
- The wallet password and a random salt
- The parent public key (or private key) and a chain code (Correct answer)
- The master seed and the block height
- The transaction hash and the derivation index
Correct answer: The parent public key (or private key) and a chain code
BIP-32 child key derivation uses HMAC-SHA512 with the parent key material and chain code as inputs, producing a deterministic child key and new chain code.
Question 6: Which of the following describes a length extension attack and which hash construction is vulnerable to it?
- Forging a valid hash by appending data; SHA-2 Merkle-Damgård constructions are vulnerable (Correct answer)
- Finding two inputs with the same hash; SHA-3 is vulnerable
- Recovering the input from a hash; bcrypt is vulnerable
- Generating a pre-image from a hash; BLAKE2 is vulnerable
Correct answer: Forging a valid hash by appending data; SHA-2 Merkle-Damgård constructions are vulnerable
Length extension attacks exploit Merkle-Damgård construction internals (used by SHA-256) to compute H(key||message||extension) without knowing the key.
Question 7: What does the 'binding' property of a cryptographic commitment scheme guarantee?
- The committer cannot reveal the committed value to a third party
- The committer cannot change the committed value after publishing the commitment (Correct answer)
- The verifier cannot determine the committed value before it is revealed
- The commitment can only be opened by the original committer
Correct answer: The committer cannot change the committed value after publishing the commitment
Binding ensures that once a commitment is published, the committer is bound to a specific value and cannot later open the commitment to a different value.
In a Merkle Patricia Trie (used in Ethereum), what is stored at the root node that makes state verification efficient?