Review Videos for Lecture 10: Password Hashing + Blockchain

Password Hashing

Which property of hash functions make them suitable for password management? Why is this property important?

Salted Hashes

(True/False) A slow hash function is a secure replacement for using password salts

What is Bitcoin?

Designing Bitcoin: Identity

(True/False) In Bitcoin each user has a symmetric key associated with their identity.

Designing Bitcoin: Transactions

In Bitcoin, how do we make sure a user can only spend money they have?

Designing Bitcoin: Blockchain

(True/False) If instead of hashing the entire previous block in our blockchain, we just hashed part of it, this would still be secure since an attacker can’t break collision resistance.

Designing Bitcoin: Motivating Consensus

Consider a version of the protocol we’ve seen thus far, which requires two individuals working together to add a block to the hashchain. Assume there is only a single adversary, Mallory, in the network - can she double-spend via a fork?

Bitcoin Review

Proof of Work

(True/False) In Bitcoin Proof-of-Work, if the hash function isn’t one-way then an attacker can always win by bruteforcing a valid pre-image.

Proof of Work Example

Proof of Work Security

In Bitcoin, Proof-of-Work (PoW) requires miners to find some random number n such that Hash(block || n) has a certain number of zeroes in it. What would happen if instead, miners had to find Hash(n) for which this held?

Consensus & Mining

(True/False) Even if the network eventually switches to an alternate, longer chain, a miner will still receive a mining award

Mining pools

Why might having large mining pools be worrysome?

Anonymity and Conclusions

If someone bought something from you over Bitcoin, how could you track their future transactions?