Ethereum miners analysis

    Do certain miners prefer mining blocks with lower or higher transaction count?

    Introduction

    To ensure that all participants on the Ethereum network maintain a synchronized state and agree on the precise history of transactions, Ethereum team batches transactions into blocks. This means dozens of transactions are committed, agreed on, and synchronized all at once.

    Blocks are batches of transactions with a hash of the previous block in the chain. This links blocks together in a chain because hashes are cryptographically derived from the block data. This prevents fraud, because one change in any block in history would invalidate all the following blocks as all subsequent hashes would change and everyone running the blockchain would notice.

    Once a block is put together (mined) by some miner on the network, it is propagated to the rest of the network; all nodes add this block to the end of their blockchain, and mining continues. The exact block-assembly (mining) process and commitment/consensus process is currently specified by Ethereum’s “proof-of-work” protocol.

    The main parts of a block are:

    • timestamp – the time when the block was mined.
    • blockNumber – the length of the blockchain in blocks.
    • baseFeePerGas - the minimum fee per gas required for a transaction to be included in the block.
    • difficulty – the effort required to mine the block.
    • mixHash – a unique identifier for that block.
    • parentHash – the unique identifier for the block that came before (this is how blocks are linked in a chain).
    • transactions – the transactions included in the block.
    • stateRoot – the entire state of the system: account balances, contract storage, contract code and account nonces are inside.
    • nonce – a hash that, when combined with the mixHash, proves that the block has gone through proof-of-work.

    Methodology

    The main purpose of this dashboard is to track if miners prefer mining blocks with lower or higher transaction count. To be able to do so, we will consider two main variables of the previous list: the miner and the transactions count per block. The database used is the etherem.core.fact_blocks provided by Flipside.

    The key metrics to be analyzed are:

    • Minimum, maximum, and average transactions per block
    • Total number of miners
    • Total number of blocks
    • Distribution of miners per type of transactions (global and monthly)
    • Number fo miners per number of transactions erper block
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    In general terms, the minimum number of transactions per block is 1 and the maximum 1431. The average is near 123 transactions per block.

    The total number of blocks registered so far is almost 14M, and the number of different miners are 4650.

    To be able to consider a low transaction block or high transaction block, I have taken into account the pervious obtained average transaction per block, which was 123, and consequently, for this analysis, 100 has been taken as a treshold between low and high transactions.

    The results shows that in general, miners tend to prefer mining when the number of transactions per block is low (65%). Looking at the monthly chart over time, we can see how previously, the numbers was on the other way around but it has been reverted over time.

    These final charts shows the distribution of the miners per range of transactions per block. In this case, I have chosen the following buckets:

    • Blocks with more than 1000 transactions
    • Blocks between 500 and 1000 transactions
    • Blocks between 100 and 500 transactions
    • Blocks between 20 and 100 transactions
    • Block below 20 transactions

    As a result, we can corroborate that the major of the users tend to use low transaction block rather than high transaction block. There is a big difference between the number of users who mine when the transactions per block are above 500 and below 500, being the major of them in the second group.

    Key insights

    • Miners tend to prefer mining when the number of transactions per block is low (65%).

    • Looking at the monthly chart over time, we can see how previously, the numbers was on the other way around but it has been reverted over time.

    • There is a big difference between the number of users who mine when the transactions per block are above 500 and below 500, being the major of them in the second group.