Blockchain validation relies on data encryption using cryptographic hashing.
Simply stated, a hash function takes some input data and creates some output data. More specifically, a hash function takes an input of any length and creates an output of fixed length.
And more precisely, cryptographic hashing represents processing the data from a block through a mathematical function, which results in an output of a fixed length. A fixed length output increases security, since anyone trying to decrypt the hash won’t be able to tell how long or short the input is simply by looking at the length of the output.
An ideal cryptographic hash function should have five properties:
- It would be deterministic so the same message always results in the same hash
- It would be quick to compute the hash value for any given message
- It would be infeasible to generate a message from its hash value except by trying all possible messages
- A small change to a message should change the hash value so extensively that the new hash value appears uncorrelated with the old hash value
- It would be infeasible to find two different messages with the same hash value
There are lots of different types of hash functions. One blockchain cryptographic hash function is SHA-256 (designed by the United States National Security Agency). When there is a number such as “256,” it generally refers to the length of the output. In this case, SHA-256 will produce a 256 bit output. So, an input value of “Hi,” “Blockchain” or “1,000,000” will all have an output of 256 bits (64 English characters).