# A beginner’s guide to data mining and cryptographic hash functions

## Introduction

Buying a full Bitcoin in one go can be a bit expensive, can’t it? But trading isn’t the only method of acquiring cryptocurrencies. In this guide, the basics of both data mining and cryptographic hash functions will be explored.

Firstly, when a new cryptocurrency is minted, it does not physically materialise. Rather, it is a reward for solving a cryptographic puzzle. The easiest way to imagine such a scenario is to think of the data miner playing the role of a ‘digital accountant.’

When a transaction is enacted in a wallet, it is then broadcast to everyone in that coin’s network. However, in order for that transaction to be added to the blockchain, users must be running mining software to solve the cryptographic puzzles associated with the coin. This process ultimately rewards the miner for adding a new transaction to the ledger with newly minted coins.

For example, Bitcoin is both the name of the cryptocurrency and the network. Miners striving to acquire Bitcoin from data mining would typically group together and run the software collectively, attempting to solve the cryptographic puzzle. This is commonly known as a ‘pool,’ and if one member of the pool correctly adds the next block, they share the reward with the remainder of the pool.

It is worth noting however that to crack one of the mining puzzles on a coin’s network requires a tremendous amount of power and trial and error from the hardware you are using to mine. Naturally then, you would do well to have both a high-powered piece of tech and a group of people who likewise have high-powered hardware to attempt to mine coins. That’s not to say it’s impossible to mine a coin by yourself, but your odds would be extremely low.

## Cryptographic hash functions

The way mining works is primarily centred on what is known as ‘cryptographic hash functions,’ which is a special type of function that bears certain properties that make it suitable for use in cryptography.

In short, a cryptographic hash function is a mathematical algorithm that maps data of arbitrary size to a bit string of a fixed size. They are designed so that they only work as a one-way function, meaning it is infeasible to invert them. The sole way to attempt to recreate the input data from a cryptographic hash function’s output is to attempt a brute force search of possible inputs and hope they produce a match.

One of the biggest examples of this is SHA-256. SHA stands for Secure Hash Algorithm. This particular one-way function converts text of any length into a string of 256 bits. The text (input data) is often called the message, whereas the hash value (output) is known as the message digest.

If any change occurs within the input data, even just a single character, it will in turn change the output so extensively that the two hash values would seemingly appear uncorrelated.

## The ideal cryptographic hash function has five main properties

• Deterministic; the same message always results in the same hash
• Quick to compute the hash value for any given message
• It is 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 drastically that the new hash value appears uncorrelated with the old hash value
• It is infeasible to find two different messages with the same hash value

## What do you need to begin mining?

• A coin wallet or private database
• Free mining software package
• Membership in an online mining pool
• Full-time internet connection
• Hardware setup location
• Desktop computer designed for mining with a powerful processor
• A house fan to blow cool air across your computer so it doesn’t overheat
• Specialised processing device

## Other applications

Cryptographic hash functions have many information-security applications, notably in digital signatures, message authentication codes (MACs), and other forms of authentication. Their application extends further than this though. They can also be used as ordinary hash functions to index data in hash tables, for fingerprinting, to identify duplicate data or unique files, and as another measure to detect accidental data corruption.

If you are to take anything away from this guide, let it be that mining is absolutely a viable option for acquiring cryptocurrencies. Whilst it may require some funding to begin with, such as gathering appropriate hardware that will be able to run efficiently, in the end, and if you are successful, you could end up mining a small fortune. Also, if you are interested in data mining, don’t forget to mine in a pool!