what is a 'hash function'?
A hash function converts a certain input to a compromised unique digital output. All data sets on the Blockchain are getting transformed into a hash through the hash function. The hash function transforms inputs and produces a specific output out of it. The special thing about hash functions is that they produce output that can be tracked but they make it impossible to recalculate the input from the output function. Hash functions are one of the main reasons why Blockchains are so extremely safe. The following paragraph will show you the 4 main characteristics of hash functions.
Characteristics of 'Hash fuctions'
- Deterministic – This means basically that identical input will always result in the same output. But only slight changes in data’s input will result in a completely different output. This makes Blockchain so safe, as hash outputs always refer to the previous blocks meaning that if a hacker wants to alter inputs, the output will change completely making connections to its previous block invalid. In effect this process signifies that if you want to hack a Blockchain you have to hack every single data block or rather find out its respective hash input that produces the hash output which is referring to the previous block’s hash output.
- Fast transformation – Hash function should be able to transform data sets within a certain time frame due to efficiency.
- Pre-Image Resistance – It is pretty much impossible or let’s say infeasible to find out a hash function’s input from its output. There are so many possible input combinations that one would be trying his whole life.
- Differentiation – Different inputs “never” produce the same output or rather so rarely that I does not even matter.