⛏️What is Ethereum Mining?

The Most Comprehensive Step-by-Step Guide

Ethereum like Bitcoin, currently uses the proof-of-work (POW) consensus Ethereum mechanism. Mining happens to be the lifeblood of all POW-based cryptocurrencies. Ethereum mining involves miners from around the world using their time and processing power to solve cryptographically hard puzzles. If successful, the miners will be able to add blocks to the Ethereum Chain and earn a reward in return.

Understanding Ethereum Mining and the Need for a Stake/Proof of Work Hybrid Model

To understand Ethereum mining, you need to understand what POW is and why it was required in the first place. A decentralized network like Ethereum requires consensus mechanisms for it to make decisions. Before Satoshi Nakamoto created Bitcoin and its underlying POW algorithm, there were several attempts to create a legitimate decentralized peer-to-peer digital currency system.

In decentralized systems like Ethereum, we need to ensure that everyone agrees on the order of transactions. Miners help this happen by solving computationally difficult puzzles in order to produce blocks, which serves as a way to secure the network from attacks.

HOW ETHEREUM TRANSACTIONS ARE MINED

  1. A user writes and signs a transaction request with the private key of some account.

  2. The user broadcasts the transaction request to the entire Ethereum network from some node.

  3. Upon hearing about the new transaction request, each node in the Ethereum network adds the request to their local mempool, a list of all transaction requests they’ve heard about that have not yet been committed to the blockchain in a block.

  4. At some point, a mining node aggregates several dozen or hundred transaction requests into a potential block, in a way that maximizes the transaction fees they earn while still staying under the block gas limit. The mining node then:

    a) Verifies the validity of each transaction request (i.e. no one is trying to transfer ether out of an account they haven’t produced a signature for, the request is not malformed, etc.), and then executes the code of the request, altering the state of their local copy of the EVM. The miner awards the transaction fee for each such transaction request to their own account. b) Begins the process of producing the Proof-of-Work “certificate of legitimacy” for the potential block, once all transaction requests in the block have been verified and executed on the local EVM copy.

  5. Eventually, a miner will finish producing a certificate for a block which includes our specific transaction request. The miner then broadcasts the completed block, which includes the certificate and a checksum of the claimed new EVM state.

  6. Other nodes hear about the new block. They verify the certificate, execute all transactions on the block themselves (including the transaction originally broadcasted by our user), and verify that the checksum of their new EVM state after the execution of all transactions matches the checksum of the state claimed by the miner’s block. Only then do these nodes append this block to the tail of their blockchain, and accept the new EVM state as the canonical state.

  7. Each node removes all transactions in the new block from their local mempool of unfulfilled transaction requests.

  8. New nodes joining the network download all blocks in sequence, including the block containing our transaction of interest. They initialize a local EVM copy (which starts as a blank-state EVM), and then go through the process of executing every transaction in every block on top of their local EVM copy, verifying state checksums at each block along the way.

Last updated