The quantum of theory available on topics such as Blockchain, Blockchain mining, Bitcoin, cryptocurrency is so vast that it often inflicts a war of “too much information” over the internet. Yet, there is no denial of the fact that this technology fits into many equations set for the future and hence has a colossal amount of content rolling over it.
But what makes Blockchain so popular? With no Instagram handle, this topic seems to trend almost everywhere; so now is the time to break it into pieces and understand its intricacies.
With our previous blog on the Blockchain, we hope that the concept is clear in itself. To prep the ground, we incorporate a few pieces of information in this one.
The concept of Blockchain was introduced under a pseudonym, Satoshi Nakamoto in 2008.
The ‘block’ is a series of transactional records and ‘chain’ is the component that links them all in a ‘Hash Function.’ In simpler terms, it is a digital ledger in which the entries are recorded publicly. When we say publicly, it means that the records are recorded in a decentralized manner rather than by a single entity or corporation.
Mining in simple terms is a process that allows Blockchain to be a completely decentralized security. This means that every transaction in the chain is validated by solving a set of complicated mathematical problems which approximately takes ten minutes to get resolved. The solution is known as the “Proof of Work” and the person who solves the equations is called a ‘Miner.’
The job of the miner is to validate each transaction so that to can be updated over the millions of nodes or systems.
A node is a device on a Blockchain network, that is in essence the foundation of the technology, allowing it to function and survive.
There is a considerable amount of confusion about the concept of mining. Generally, it is perceived that Blockchain mining means producing new Bitcoins. Well, this is not true. When a miner solves a particular block in the chain, he is rewarded with a certain number of Bitcoins as his service charge or transaction fees. This by no means results in the production of new Bitcoins.
Every time a block is created, 12.5 Bitcoins are generated (given to the miner). Though there will be a time when no more Bitcoins will be awarded, and the miners would only be paid the transaction fees, which will be quite high.
FACT: Around the year 2140, no more Bitcoins would be produced. The number of Bitcoins issued with every block is divided by two every 2,10,000 blocks. So, only 21 million Bitcoins can be issued post that the miners would be paid a transaction fee.
HOW DOES MINING HAPPEN (WITH THE EXAMPLE OF BITCOINS)
This segment would be dealt in three parts:
- Cryptographic Hash
- The Cryptographic Fiasco
- Block Cconfiguration Puzzle
One block is connected to another block cryptographically. That means in a language which has to be decoded. So, a single block contains four elements:
- Block Number
- Data Stored in the Block
- Hash of the Previous Block
- Hash of the Current Block
NOTE: A Hash is a long number which is a digital fingerprint for any data. In the case of Bitcoin, SHA256 Hash functions generate a 64-digit hexadecimal number.
These Numbers have three Properties:
- If you input the same values, the values of the output remain the same.
- Any small change in the Hash value can result in significant changes in the output value.
- The output cannot be reverse-engineer or predicted in advance.
Now, every Hash contains values from the previous blocks that means any tamper in one block, will not only render that particular block invalid but also all the other blocks as invalid. Hence, Blockchain is also called “Immutable Ledger”.
The Cryptographic Fiasco
One of the elements in Blockchain which have not be talked of is the ‘Nonce.’ In cryptography, a Nonce is an arbitrary number that can be used just once. It is often a random or pseudo-random number issued in an authentication protocol to ensure that old communications cannot be reused in replay attacks.
Unlike the other components in driving the block’s value, Nonce is a value which is under the control of the miner. This helps in driving a different Hash value though the data inside the Hash remains the same.
There are 16⁶⁴ SHA256 cryptographic Hash values (64 in a Hash in a hexadecimal digit with 16 possible values), but all of them are not valid. They are validated on the basis of the target set for the Hash value. Anything above the target is rejected, and anything below it is accepted.
The target is the number of leading zeros which are fixed and determine the target’s magnitude. The magnitude is reduced by the factor of 16 with every leading zero in place.
So the game is about finding that one Nonce value which will give the right Hash value lying below the target set. Any miner who finds the correct Nonce for the Hash value for validating the next block is awarded 12.5 Bitcoins.
NOTE: More the number of miners, the lower will be the target and it will become harder to hit the right Hash value. All this is to control the amount of Bitcoins in circulation.
Block Configuration Puzzle
Every average mining device can calculate up to 100 million Hashes per second which translates to going through the Nonce range in 40 seconds. Also, the probability of finding the right value of the Hash is very low. This means that the values would exhaust in no time. So what do the miners do? Wait for creating another block?
There is another factor that affects the Hash value, and that is Unix Time.
So, now the factors determining the Hash Value (SHA256) are:
- Block Number
- Nonce, Data
- Block’s Hash
Now, the timestamp is continuously refreshing; there are new Nonce values to evaluate. A new timestamp would mean 4 Billion new Nonce values.
But this is one side of the coin; the other hand is Blockchain Configuration
There are numerous transactions happening day in and out. Only a couple of them are incorporated into a block and rest of them are recorded/stored in the Mempool. This means that miners can choose a set of transactions which will go into the making of a new block. That is they can devise the configuration of the transactions (this autonomy helps in creating additional variability in the Hash values).
So, if a miner checks all the Nonce and Hash values at a timestamp and gains no luck, he can alter the configuration of the transactions. This way, he does not have to be idle till the time the next block is created.
We know it has been a long read and hence here are some things to conclude the blog.
- Miners do not create new Bitcoins; they get 12.5 Bitcoins as their transaction fees.
- A Hash value is dependent on multiple factors such as Block Number, Timestamp, Nonce, Data, Previous Block’s Hash and configuration of the transactions.
- An average mining device can run 100 million Hashes per second and the whole Nonce range in 40 seconds.
- To try new values and combinations, the miners can alter the Nonce value, Wait for the next timestamp and alter the configuration of the Transactions.
Hopefully, this was sufficient information for the starters, yet there is more to come.