Mining
Mining is the process by which new currency is added to the blockchain. This is an incentive for the miners to validate and verify blocks made up of transactions. The mining process helps secure the network by verifying computations.
At a theoretical level, a miner performs the following functions:
Listens for the transactions broadcasted on the Ethereum network and determines the transactions to be processed.
Determines stale blocks called Uncles or Ommers and includes them in the block.
Updates the account balance with the reward earned from successfully mining the block.
Finally, a valid state is computed and block is finalized, which defines the result of all state transitions.
The current method of mining is based on Proof of Work, which is similar to that of bitcoin. When a block is deemed valid, it has to satisfy not only the general consistency requirements, but it must also contain the Proof of Work for a given difficulty.
The Proof of Work algorithm is due to be replaced with the...