What does Hashing mean? Explained Simply (Part 3)

Rich Mpanga
2 min readDec 11, 2017

--

Welcome back to the Bitcoin/Block chain series! The last post we examined the insides of a Bitcoin Block. To proceed further down the rabbit hole, we need to know what hashing is. Lets jump right into it.

Hashing may sound like a scary word, but it is super simple. Hashing is a function, or a series of steps that run on an input and give a result, an output.

I’m a visual learner, so let’s walk through an example.

Hashing Example:

Pick any square below:

Apply my “Grid Hash” function to it:

1. Move up 2 squares

2. Move right 1 square

3. Move up 1 square

4. Done! You just applied a hash function

(If the function takes you out of bounds, wrap to the other side. For example, a move to the right at 100 will take you to 91)

Note: Good hash functions have to be Consistent and “One Way”

Consistent: No matter how many times you run the “Grid Hash” function, if you pick the same input you will always land on the same square. If you land on a different square the hash function is not consistent.

One Way: The “Grid Hash” function is not a “One Way” function. I landed on 44. You can easily reverse the function to determine where I started. The ability for you to walk backwards makes “Grid Hash” a “Two way” function. A “One Way” function should be practically impossible to reverse.

The Bitcoin hashing function (SHA-256) is an excellent one way function and nearly impossible to reverse.

Look what it turned 44 into:

71ee45a3c0db9a9865f7313dd3372cf60dca6479d46261f3542eb9346e4a04d6

Verification is Easy

Another great property of a hash function is it’s easy to verify. If you do not believe that 44 is 71ee45.. You can use an online SHA-256 calculator here and see for yourself.

Now that we know what hashing is, we have enough information to know how blocks get added. Which is you can find here.

Credits:

I️ appreciate you reading my content. If you learned something new please press the👏🏾 button as many times as you feel it deserves, so others can learn as well!

This post was created by Gerry and Rich Mpanga.

--

--

Rich Mpanga

Software Developer, Entrepreneur, Investor and Explorer