Mining In a Blockchain (Part- 2 The Cryptographic Puzzle)
Table of contents
In the last very short post here, we saw how a special value is used to vary the hash of the block. You may also recall that this value is called the Nonce. So now, its time to continue our journey deep into the fundamentals of what makes a blockchain. This time we will be taking a closer look at The Cryptographic Puzzle.
The Statement
So at the beginning of this post let's just make a statement very loud and clear.
The hash is just a number.
Now, many of you may already know this but for those of you who don't let's explore how. For example,
7eb720cb71f1bf1d0b4c2f6442d0148d775fdd473ea3f33a28bd893a21d7e5b4
is a real SHA-256 Hash. Now, you may have already noticed that this is not a number, it has characters like e, f etc. Let's explain how. This my friends is a hexadecimal number. The hexadecimal format has 16 characters. These are the numbers 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
and then some alphabets a, b, c, d, e, f
. Here a
denotes 10, b
denotes 11, c
denotes 12 and so on. Got it? Good. Now you may ask but why are you telling me this? Let's find out, shall we?
The Leading Zeroes
To begin, let's take another hash number for example. 0000000000000cdfc787f30000cb1cc929720e369ea1a116224559137af96844
Notice how this number has some zeroes in the beginning. But, why in the world does it matter if it is a number or a bunch of characters. Well because, numbers are special because the have a value. And as you may remember from your elementary school math class that zeroes in the front of a number don't have a value.
Look at this diagram, it represents all the hashes that can exist. Since, these hashes are hashes are numbers, we can compare them and easily determine which one is bigger and which one is smaller. Also, you should take notice that the more the leading the zeroes, lesser will be the value of the number.
The Puzzle
Now, the blockchain system sets a target. The hash of this block along with the nonce should be lesser in value than this target. Let's put our hashes in the table once again.
Let's say that the target was 00000000000062b4fccaebda5722f9d4d22465eab2ac0285b43f794ed71ee704
. Our seconds hash would clearly be below the target and that is what we (or the miners) want. Now, this is where the nonce comes into play. The miners can easily change the nonce and try to get an acceptable hash value.
Quick Trivia: The nonce that gives us the accepted hash is called the golden nonce.
The Difficulty
You may already know that the hash itself is unpredictable and changes rapidly due to The Avalanche Effect. If you don't then, I suggest reading my post on the same.
Wrapping Up
That was it, folks! Today, you learnt about one of the key aspects of a blockchain. See you in the next one!