Blockchain Technology Cryptographic Principles 5 — Questions and Answers
Question 1: What is a 'hash pointer' in the context of blockchain data structures?
- A pointer that stores the memory address of a hash function
- A data structure containing both a cryptographic hash of the previous block's data and a link to that block (Correct answer)
- A reference to a node's public key in the P2P network
- A hash of the next block used to confirm finality
Correct answer: A data structure containing both a cryptographic hash of the previous block's data and a link to that block
A hash pointer stores the cryptographic hash of the previous block's content alongside its location, ensuring any tampering with past data invalidates subsequent hashes.
Question 2: Which attack exploits weak random number generation during ECDSA signing, potentially exposing a private key?
- Sybil attack
- Nonce reuse attack (k-value reuse) (Correct answer)
- Eclipse attack
- 51% attack
Correct answer: Nonce reuse attack (k-value reuse)
If the same nonce k is used in two different ECDSA signatures, an attacker can algebraically recover the private key from the two signatures.
Question 3: What does 'pre-image resistance' mean for a cryptographic hash function used in blockchain?
- Given any two inputs, it is hard to find a collision
- Given a hash output, it is computationally infeasible to find any input that produces it (Correct answer)
- The hash output changes drastically with small input changes
- The hash function runs in constant time regardless of input size
Correct answer: Given a hash output, it is computationally infeasible to find any input that produces it
Pre-image resistance ensures that knowing the hash output provides no practical way to reconstruct an input that would hash to that value.
Question 4: In zk-SNARKs used by privacy blockchains like Zcash, what does 'succinct' mean?
- The proof is generated in zero time
- The proof size and verification time are small and constant regardless of computation size (Correct answer)
- The proof requires no cryptographic assumptions
- The prover and verifier must be online simultaneously
Correct answer: The proof size and verification time are small and constant regardless of computation size
Succinct means the proof is very short and verification is fast (often milliseconds), even if the underlying computation being proved is large.
Question 5: Which cryptographic concept underpins the security of blockchain Proof-of-Work by making it easy to verify but hard to compute?
- Symmetric key exchange
- Computational asymmetry (one-way functions) (Correct answer)
- Homomorphic encryption
- Digital certificate chains
Correct answer: Computational asymmetry (one-way functions)
One-way functions are easy to evaluate but practically impossible to invert, so finding a valid nonce requires enormous work while verifying it takes a single hash computation.
Question 6: What is the purpose of BIP-39 mnemonic seed phrases in blockchain wallets from a cryptographic standpoint?
- They encrypt private keys using AES-256
- They encode a random entropy value as human-readable words, which deterministically derive wallet keys via PBKDF2 (Correct answer)
- They store public keys as readable text for sharing
- They hash private keys into 12 or 24 shorter keys
Correct answer: They encode a random entropy value as human-readable words, which deterministically derive wallet keys via PBKDF2
BIP-39 converts a random entropy value into a word list and uses PBKDF2-HMAC-SHA512 with the words as input to derive a master seed for HD wallet key generation.
Question 7: In a Merkle Patricia Trie (used in Ethereum's state), what cryptographic guarantee does the root hash provide?
- It encrypts all account balances against unauthorized access
- It commits to the entire state so any modification to any account changes the root hash (Correct answer)
- It signs all transactions with the validator's private key
- It compresses the state to a fixed 32-byte encryption key
Correct answer: It commits to the entire state so any modification to any account changes the root hash
The Merkle Patricia Trie root hash is a cryptographic commitment to the full state; altering any account balance or contract storage changes the root, making tampering detectable.
What is a 'hash pointer' in the context of blockchain data structures?