Exam Study Guide


You will be responsible for all assigned reading and all lecture content.  That is a lot.  Focus on central, key concepts!  Everything below has one or more lecture slides associated with it.  If you can't remember what something is about, find the associated lecture slides.  There may be extra credit offered on the exam.  You may find studying in groups helpful.  Questions may be a combination of multiple-choice, True or False, fill in the blank, or short answer or general discussion.  Questions that may have multiple correct answers will be so indicated, and partial credit will be applied (but will be offset by wrong selections).  For example, if options A, C, and E are the correct answers, and you select A, C and D, you will receive partial credit for A and C but will be deducted point(s) for the incorrect answer D.

Your best study strategy is to go back through the lectures and make sure you understand each of the topics covered.

The topics I may question you on may include the topics:

Central Blockchain and Bitcoin Concepts:

Foundational predecessors to Bitcoin (e.g., hashcash, b-money, bitgold, etc.)
Distributed Ledger concepts and technologies
Consensus in bitcoin
Various concepts discussed pertaining to bitcoin and it's algorithms, including (for example) double-spending, anonymity, network access (open/closed), etc.
Bitcoin's money supply
Early history of bitcoin
Bitcoin mining (algorithms, hash rate concepts, consensus algorithms, etc.)
Fundamentals of bitcoin transactions (inputs, outputs, references, etc.)
Transaction fees (details and purpose)
Merkle Trees and proofs (Merkle Path concepts)
Transaction fees
Genesis Block concepts and details
Block structure and "eventual" consensus concepts (how do blocks get added to the chain?  what about conflicting branches (aka forks)?)
Bitcoin's mining puzzle, details
Coinbase transactions
Mining and Target Difficulty Calculation
Retargeting of the difficulty across nodes
Unspent transactions (UTXO Set)
Bitcoin scripting concepts and details (locking, unlocking)
Bitcoin keys and addresses (including algorithms)

Cryptographic Concepts:

Properties of the exclusive-or operation
Properties of finite fields
Properties of randomness and entropy

Random number generation
Asymmetric v. Symmetric ciphers
Stream ciphers v. block ciphers (advantages/disadvantages of each)
Hashing algorithms and fundamentals

Hash Pointers
Concepts around collision and resistant algorithms

Fundamental algorithms (basics, not details) including SHA-256, RIPEMD-160, etc.
Fundamental concepts of encoding (e.g., Base64, Base 58, etc.)
Message Digests
Public v. Private Keys
Digital Signatures

Elliptic Curve Cryptography


Example Exam Questions:


1.             The default Bitcoin network protocol’s listening port is 8333.  True or False? 


1.             True

2.             False

2.             Bitcoin’s money supply is algorithmically designed to reduce over time according to a “fixed” schedule, about every four years.  True or False?


1.             True

2.             False

3.             How is the value of a bitcoin determined?

1.             Via a Bloom Filter algorithm

2.             By market demand like most other currencies

3.             By distributed consensus based on elliptic curves

4.             According to a fixed rate of return

5.             By using a one time pad

4.             Which of the following are properties of Finite Fields (Circle All That Apply)?

1.             Closed Property

2.             Subtractive Identity

3.             Multiplicative Identity

4.             If α is in the set and α ≠ 0, α-1 is also in the set, such that α x (α-1) = 1

5.             Additive Inverse

5.             A hash function H is said to be collision-resistant if it is _______________ to find two values, x and y, such that xy and H(x) = H(y) (fill in the blank)


1.             Rather unlikely

2.             Rarely

3.             Possible

4.             Computationally infeasible

5.             Impossible

6.             In the context of our discussions, Merkle-Damgård is an example of:


1.             Elliptic Curve Cryptography

2.             A Merkle Tree

3.             A compression function

4.             A Danish pastry

5.             A specific finite field

7.             Any input bitcoin value not redeemed in an output is considered a ________________