Blockchain Technology Cryptographic Principles 3 — Questions and Answers
Question 1: Which hashing algorithm does Bitcoin use to produce block header hashes during proof-of-work mining?
- SHA-3
- RIPEMD-160
- SHA-256 (applied twice) (Correct answer)
- Keccak-256
Correct answer: SHA-256 (applied twice)
Bitcoin applies SHA-256 twice (SHA-256d) to compute the block header hash used in proof-of-work.
Question 2: In the secp256k1 curve used by Bitcoin, what is the typical size of an uncompressed public key?
- 32 bytes
- 33 bytes
- 64 bytes
- 65 bytes (Correct answer)
Correct answer: 65 bytes
An uncompressed secp256k1 public key is 65 bytes: a 0x04 prefix followed by two 32-byte coordinates (x and y).
Question 3: What cryptographic operation converts a Bitcoin public key into a Bitcoin address?
- RSA encryption then Base64 encoding
- SHA-256 then RIPEMD-160, followed by Base58Check encoding (Correct answer)
- AES-256 encryption of the public key
- Double SHA-256 only
Correct answer: SHA-256 then RIPEMD-160, followed by Base58Check encoding
Bitcoin addresses are derived by hashing the public key with SHA-256 then RIPEMD-160, and encoding the result with Base58Check.
Question 4: Which property ensures that a small change in input produces a drastically different hash output, making hash outputs unpredictable?
- Determinism
- The avalanche effect (Correct answer)
- Pre-image resistance
- Collision resistance
Correct answer: The avalanche effect
The avalanche effect means that flipping even a single bit in the input causes approximately half the output bits to change.
Question 5: In asymmetric cryptography, if Alice wants to send Bob a confidential message, which key does she use to encrypt it?
- Alice's private key
- Alice's public key
- Bob's private key
- Bob's public key (Correct answer)
Correct answer: Bob's public key
Alice encrypts with Bob's public key so that only Bob, holding the corresponding private key, can decrypt the message.
Question 6: What is the primary advantage of using elliptic curve cryptography (ECC) over RSA for blockchain applications?
- ECC is faster to decrypt than RSA
- ECC achieves equivalent security with much shorter key sizes (Correct answer)
- ECC supports symmetric encryption natively
- ECC does not require a random number generator
Correct answer: ECC achieves equivalent security with much shorter key sizes
A 256-bit ECC key provides roughly the same security as a 3072-bit RSA key, significantly reducing storage and bandwidth overhead.
Question 7: In Ethereum, which hashing function is used to compute the Keccak hash of transactions and state roots?
- SHA-256
- BLAKE2b
- Keccak-256 (SHA-3 variant) (Correct answer)
- RIPEMD-160
Correct answer: Keccak-256 (SHA-3 variant)
Ethereum uses Keccak-256, a variant of SHA-3, for hashing transactions, addresses, and state trie nodes.
Which hashing algorithm does Bitcoin use to produce block header hashes during proof-of-work mining?