Article Preview
TopIntroduction
A peer to peer crypto currency based on the blockchain grabbed significant attention across the world. Different types of crypto-currencies such as bitcoin, Ether, initial coin offering (ICO) hash coin, prime coin etc., are using the blockchain to facilitate the exchange and control the transactions costs. Blockchain technology is applied for the settlement of financial services, business services, prediction markets, supply chain management, and economic transactions (Guides, 2019). Introduction of security tokens has further reduced the cost by eliminating the middleman involved in the transaction process. Now smart contracts are used to reduce the complexity, costs and paper works (Karamitsos et al., 2018). Design of the block chain enforces transparency and guarantees the transaction between the nodes. Some of the authors have also emphasized on the integrity and public variability acquiring a primary role (Zecchini et al., 2019). Blockchain is mainly based on three characteristics i.e., provenance, Immutability and consensus (Rajguru, 2018). A consensus is a mechanism between nodes about transactions. A consensus mechanism is followed between peers to ensure that all the transactions are fair and do not contain double spending problems.
Miners are a special node in the network that confirms the transactions among the peers after solving the proof of work (PoW) as a consensus protocol in the blockchain. In blockchain mining, the main task of every miner or validating node is to add a block to the blockchain within the given time frame of less than 10 minutes. The challenge for these nodes is the mathematical problem that is to find a hash output or signature of their block data such that it begins with a certain amount of consecutive zero’s. Since the output hash string generated for the block data is random, it's highly probable that the generated hash value may not be the signature that begins with the desired number of zeroes. This signature changes with the change of nonce value inside the block. Thus miner or validating nodes keep on changing this value to find the desired signature for validating a transaction (Nakamoto, 2019). This approach is basically known as brute force strategy where miners explore each and every option to find the solution. The design of the mining process mainly depends on both cryptography and game theory (Liu et al., 2019). Both these designs have their own pros and cons. This work focuses on cryptography design of mining. In this design, miners pick up a number of transactions of total of ~1MB in size for the Bitcoin network. Once the transactions are validated, the miners create a Block of the transactions picked by the node. This Block contains a sequential ID, time stamp, the Transactions picked by the miner, SHA256 Hash of all the values and Hash of the Previous Block [2, 8]. PoW is very robust to handle any misbehavior or malicious activity by participants in the network, nevertheless, this consensus algorithm has a major drawback that it consumes a lot of electrical energy due to the huge number of computations performed by miners (Taylor, 2018). Therefore, the two main open research questions (RQ) in blockchain mining are