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?