- Describe hash functions with your own words
It’s a one-way complex function that outputs a unique “fingerprint” for the input. That input will always produce that specific output, but it is nearly impossible to derive the input from it’s hashed fingerprint.
- How are hash functions used in cryptocurrencies like bitcoin? (Try to research this on your own, we will cover this later in the course but challenge yourself and see if you can find information on this already now).
The SHA256 hash function is used to produce the public address. The private address is the “key” or input to the SHA256 function that is used to cryptographically “unlock” access to the public address. So the private address is the “input”, and the public address or fingerprint of the private address is the output (the alpha numerical address where bitcoin is sent to). If you run the private address through the SHA256 algorithm (function) then you will get the public address as it’s resulting hash. In this way, crypto is secure if you only send money to the public address. The private address is the key used to gain access to controlling those funds. As long as the private address (key) is kept safe and private, then a brute force attack on this SHA256 hash is nearly impossible, and until quantum computers can do this, for all intents and purposes, it’s impossible to hack (at the current time).
- What does it mean when we say that hash functions need to be collision resistant? (We didn’t use the term “collision resistant” in the lecture, but you will easily find this on Google, we add this question intentionally to make you research information on your own, that’s how you learn best).
collision resistance is the resistance of the algorithm to produce the same hash result for wo different inputs. It is possible, but the chances are astronomically low.