CBCP Bitcoin Protocol and Architecture — Questions and Answers
Question 1: Which transaction model does Bitcoin use to track ownership of coins?
- Account-balance model
- Unspent Transaction Output (UTXO) model (Correct answer)
- Sharded ledger model
- Token-registry model
Correct answer: Unspent Transaction Output (UTXO) model
Bitcoin tracks spendable outputs (UTXOs). Each new transaction consumes existing UTXOs as inputs and creates new outputs. Ethereum uses an account-balance model instead.
Question 2: Approximately how often does Bitcoin's block reward halve?
- Every 10,000 blocks
- Every 100,000 blocks
- Every 210,000 blocks (Correct answer)
- Every 2,100,000 blocks
Correct answer: Every 210,000 blocks
The block subsidy halves every 210,000 blocks, which is roughly every four years at a 10-minute block interval.
Question 3: What is the maximum supply of bitcoin hard-coded into the protocol?
- 18 million
- 21 million (Correct answer)
- 100 million
- Unlimited
Correct answer: 21 million
Bitcoin's issuance schedule caps total supply at about 21 million coins, enforced by the halving schedule.
Question 4: What is the purpose of Bitcoin's Script language?
- To define conditions under which an output can be spent (Correct answer)
- To compile Solidity smart contracts
- To encrypt wallet files
- To set the mining difficulty
Correct answer: To define conditions under which an output can be spent
Script is a simple, stack-based, intentionally non-Turing-complete language. It sets the locking and unlocking conditions for spending outputs.
Question 5: What does a Simplified Payment Verification (SPV) node store?
- The full blockchain and all transactions
- Only block headers, using Merkle proofs to verify transactions (Correct answer)
- Only the UTXO set
- Nothing; it relies on miners' private keys
Correct answer: Only block headers, using Merkle proofs to verify transactions
SPV (light) clients download only block headers and request Merkle branches to confirm that a transaction is included in a block. This saves storage and bandwidth.
Question 6: Roughly how many blocks does Bitcoin's difficulty adjustment cover, and what is its goal?
- 2016 blocks; keep the average block time near 10 minutes (Correct answer)
- 144 blocks; keep fees constant
- 210,000 blocks; keep supply constant
- 1 block; keep each block at 1 MB
Correct answer: 2016 blocks; keep the average block time near 10 minutes
Every 2016 blocks, which is about two weeks, the network recalculates difficulty so that blocks keep arriving about every 10 minutes regardless of total hash power.