Blockchain Patterns, Mechanisms, Models, Metrics > Mechanisms > Hashing Engine
The hashing engine mechanism is used by nodes to create a digest for each record and block. This mechanism is essentially an implementation of cryptography technology and practices for data security purposes.
The hashing engine mechanism receives plain input data and uses mathematical hashing functions to convert this data into a hashed value called a digest.
Depending on the type of hashing algorithm used for crypto hashing, the length and content of the hash value may vary. For example, the same input text is hashed using two different algorithms returning two different hash code values.
To increase the strength of the hash, the hashing engine can use a variable called a nonce. The nonce is an arbitrary number that is used one time only and directly impacts the hash value. The following formula shows the equation used to calculate the digest using a nonce:
If using the same hash algorithm to generate a hash for a message called a test, with or without a nonce, the results will differ.
Since a hash cannot be reverted, different data needs to be hashed to check which hash value matches the digest. In the second digest that includes the nonce, not only must the hashed data be identified, but the nonce to be combined with the data must also be selected. This makes it very difficult for the actual data to be easily predicted, which increases the strength of the digest.