A hash function takes an arbitrary input such as a string of integers (a key) and outputs a value of a pre-specified length (a hash). Bitcoin uses a cryptographic hash function to secure the network.

A hash has a couple of key properties:

1. It is unique. Only a particular file can produce a particular hash, and two different files will never produce the same hash.

2. It cannot be reversed. You can’t work out what a file was by looking at its hash.

Hashing is used to prove that a set of data has not been tampered with. It is what makes Bitcoin mining possible. In hashing the data from each block is processed mathematically, and the result is a string that is always the same length. Using a same length string for the output, regardless of the length of the input makes hashing more secure as a hacker is unable to tell the size of the input based on the length of the hashed output string. It is also interesting to note that the same input will always result in the same output, but even as small change in the input will result in a dramatically different output.

Solving a hash is essentially solving a very complex mathematical problem, which is why it takes so much computing power to solve blockchain hashes. In order to provide an incentive for miners to solve hashes, and create new blocks on the blockchain, a reward is given in the form of a certain number of the coins which the blockchain uses.

### Related Entries