Cryptocurrency Cryptography and Hashing 3 — Questions and Answers
Question 1: What is a 'digital signature' in cryptocurrency transactions used to prove?
- That the transaction amount is correct
- That the sender owns the private key corresponding to the sending address (Correct answer)
- That miners have validated the transaction
- That the receiver's address is valid
Correct answer: That the sender owns the private key corresponding to the sending address
A digital signature proves the sender controls the private key for the address, authorizing the transaction without revealing the key.
Question 2: Which algorithm is used in Bitcoin to derive a wallet address from a public key?
- SHA-256 only
- SHA-256 followed by RIPEMD-160 (Correct answer)
- MD5 followed by SHA-1
- Keccak-256 only
Correct answer: SHA-256 followed by RIPEMD-160
Bitcoin applies SHA-256 to the public key then RIPEMD-160 to produce a 160-bit hash used in the wallet address.
Question 3: What is a 'nonce' in cryptocurrency mining?
- A one-time password for wallet access
- A random number miners adjust to find a valid block hash (Correct answer)
- The hash of the previous block
- A timestamp appended to transactions
Correct answer: A random number miners adjust to find a valid block hash
Miners increment the nonce value in the block header until the resulting SHA-256 hash meets the network's difficulty target.
Question 4: What does 'zero-knowledge proof' allow a prover to demonstrate?
- Knowledge of a secret without revealing the secret itself (Correct answer)
- That a transaction has zero fees
- The mathematical zero value of a hash
- Complete transaction transparency on-chain
Correct answer: Knowledge of a secret without revealing the secret itself
A zero-knowledge proof lets one party prove they know a value without disclosing any information about the value itself.
Question 5: In Ethereum, which hashing algorithm is used instead of Bitcoin's SHA-256 for block hashing?
- SHA-3
- RIPEMD-160
- Keccak-256 (Correct answer)
- Blake2b
Correct answer: Keccak-256
Ethereum uses Keccak-256 (a variant of SHA-3) for hashing, including generating Ethereum addresses from public keys.
Question 6: What is the purpose of 'key stretching' techniques like PBKDF2 or bcrypt in cryptocurrency wallets?
- To increase the length of the public key
- To slow down brute-force attacks on passwords used to encrypt wallets (Correct answer)
- To compress private keys for storage
- To convert symmetric keys to asymmetric keys
Correct answer: To slow down brute-force attacks on passwords used to encrypt wallets
Key stretching adds computational cost to password hashing, making brute-force attacks on wallet passwords impractically slow.
Question 7: What is a 'hash pointer' used for in blockchain data structures?
- A pointer that stores only transaction amounts
- A reference that includes both the location and hash of the previous block's data (Correct answer)
- A cryptographic key stored in memory
- A link between wallet addresses
Correct answer: A reference that includes both the location and hash of the previous block's data
A hash pointer stores both where data is stored and a hash of that data, enabling tamper detection across the chain.
What is a 'digital signature' in cryptocurrency transactions used to prove?