The process by which crypto transactions are gathered, validated, and added to the blockchain, a digital ledger, is known as mining. The work done by miners is necessary for preserving the network's integrity and is also in charge of adding new currencies to the system. In the conventional banking system, financial institutions and governmental agencies print and distribute fiat currency, but for the majority of cryptocurrencies, the issuance of new coins is decentralized. Instead, mining, which adheres to a set of guidelines provided by the underlying protocol, is how new crypto units are produced. The so-called consensus algorithms specify how these rules will be followed (for example, during the validation of transactions), while the protocol specifies what the fundamental principles are. A miner's task is to compile unconfirmed transactions from the memory pool into a candidate block that they will then attempt to validate. A miner includes a transaction in which they send the block reward to themselves when they create a candidate block. A coinbase transaction is what is commonly the initial transaction to be added to a block. Each transaction is hashed and its outputs are paired up once the list of unconfirmed transactions is created. These pairs are then hashed, resulting in fresh outputs that are once more divided into pairs. The procedure is repeated until a single hash—also known as the Merkle tree root or root hash—is generated. A pseudo-random number called the nonce is then added to the root hash along with the hash of the previously confirmed block and a few other factors. The block hash for that candidate block is then generated by hashing these components. The miner, however, won't be successful unless the output (block hash) for their proposed block is less than a predetermined amount (target). As a result, the method relies on trial and error, and in order to produce a reliable result, they must carry out several hashing operations with various nonces. The block reward goes to the first miner that finds a suitable hash to validate their candidate block. On average, the process takes ten minutes. A block is uploaded to the blockchain once it has been verified, at which point miners begin working on the following block.