Bitcoin 21,000,000.The process of Bitcoin mining begins with

Bitcoin mining is the process of verifying transactions on the Bitcoin network by bundlingthem into the groups known as blocks and adding them to the blockchain12. Those whoparticipate in Bitcoin mining are known as Bitcoin miners. A motivation for Bitcoin miningis the monetary reward. Bitcoin mining involves solving cryptographic hash problems, andeach block has it’s own problem. The miner who is a able to solve the problem first isrewarded with a “block reward”. The block reward is an amount of Bitcoin that is generatedon the network for the purpose of rewarding miners. The block reward started at 50BTC andhalves every 210,000 blocks. As a result of this, the maximum number of obtainable Bitcoinis 21,000,000.The process of Bitcoin mining begins with organising a group of transactions into a block.Each block will contain transaction data from every transaction that has occurred over a tenminute period. This ten minute period begins following the addition of a new block to theblockchain. Following each 10 minute period, we will have access to all the transaction datathat will be included in the next block. We can then begin organising this data. The datafor each transaction is hashed individually using the SHA-256 hashing function. The hashesproduced from each transaction are then paired up and hashed again using the SHA-256hashing function. This is repeated a number of times until there is one hash value remaining.This final hash is known as the “Root hash” 1.Recall that each block is made up of a root hash, a “nonce” and the hash value obtainedfrom the previous block. We shall now define a nonce. The Bitcoin network sets a targetvalue for the hash that is generated using all the data in that block. Let Frank be a Bitcoinminer. Suppose Frank would like to confirm the transactions in a block and add that blockto the blockchain. He must use the root hash, the hash value from the previous block anda “nonce” to obtain a hash value lower than Bitcoin’s target value i.e. a hash value thathas a fixed number of leading zeros. Recall from our definition of a hashing function thata marginally dif