Compiling data about historical execution block rewards in an attempt to provide an expectation of future rewards.
There has been much speculation about block rewards that will come to Ethereum validators once the merge of the consensus and execution layers takes place later this year. To better understand these rewards, we examine information from existing blocks and, from this historical information, attempt to provide an expectation of future rewards.
To understand sources of execution block rewards (hereafter just "block rewards"), a very brief introduction to execution blocks and transactions is required. A sample execution block is shown below:
An execution block (hereafter just "block") contains various information, but the three pieces that are relevant to this article are the base fee, the fee recipient1, and the list of transactions. Transactions themselves contain various items of data. A sample transaction is shown below:
Again, only the relevant information is displayed. Note that a transaction can only be included in a block if its maximum base fee is equal to or greater than the block's base fee; this is a protocol rule and so strictly enforced.
The execution of the transaction takes up a certain amount of gas. Gas is a general unit of work in Ethereum, and is consumed whenever a computation is carried, out or a piece of data is obtained from or sent to storage. As part of block processing, all transactions are executed to confirm their validity and results. Once the transaction execution has completed the total amount of gas it has used will be known, at which point this amount is combined with information found in the block and transaction to calculate the overall cost of the transaction:
The transaction fee is the combination of these two values. The amount that is burned is debited from the transaction sender's balance, but not credited anywhere and as such is removed from the total supply of Ether. The amount that is credited to the fee recipient is also debited from the transaction sender's balance, and is commonly known as the transaction reward2. This is the most common source of block rewards, however there are two additional ways in which someone can be rewarded for building a block. The first is a direct payment to the fee recipient as part of a transaction; this would be in addition to any transaction reward, and is commonly used where the payment is not in Ether (for example, an ERC-20 token) or is dependent on balances obtained by prior transactions in the same block. The second is an indirect payment to the fee recipient outside of the transaction; this is outside of the control of the blockchain protocols, for example it could be a direct fiat transfer between parties using the traditional banking system as part of a corporate contract.
Together, these three mechanisms combine to make total block rewards.
Before examining block rewards, data needed to be gathered from the blockchain. The start point for our data gathering was the London hard fork, which occurred at block 12,965,0003. This is the point at which the current system of burning a portion of transaction costs was introduced that continues to this day, so is the earliest time at which the data can be considered relevant. At the time the data was gathered, the highest block was 14,207,123 and so this formed the end point for data gathering. For each block from 12,965,000 to 14,207,123 the following values were obtained:
To be clear: this information did not include direct payments to the miner with non-Ether currencies such as ERC-20 tokens, and did not contain any information about possible indirect payments made to the miner. As such, this was likely to be an underestimation of the total rewards paid to miners but it is impossible to say by how much due to the nature of indirect payments as explained above.
The raw data set consisted of 1,242,214 entries. 23,088 of these were empty blocks, with no transactions in them, and as such were considered irrelevant for this analysis and discarded. All blocks with direct Ether payments greater than 100Ξ were examined manually to understand the purpose of the payment, which excluded an additional 18 blocks where the payments were between different accounts of the miner and do not count as block rewards. This resulted in 1,219,109 blocks used for subsequent analysis.
The simplest figure to calculate is the average rewards per block. Taking the sum of the rewards and dividing it by the number of blocks results in a value of 0.298Ξ. However, rewards can vary significantly between blocks, and because proposing a block is a relatively rare occurrence it is important to understand the distribution of rewards rather than look at a single value. To calculate an initial distribution the rewards were broken up in to logarithmic buckets.
Lower range | Upper range | Occurrences |
---|---|---|
0.01 | 58,442 | |
0.01 | 0.10 | 495,952 |
0.10 | 1.00 | 622,759 |
1.00 | 10.00 | 40,170 |
10.00 | 100.00 | 1,671 |
100.00 | 1000.00 | 115 |
Displaying this information graphically gives us the following:
The graph highlights the fact that the vast majority of rewards are less than 1Ξ, so it is worth taking a closer look at the distribution in this range. For this we move to a linear range, with each bucket having a size of 0.01Ξ.
Again it is clear here that blocks with higher rewards occur less frequently.
An alternate way of looking at the above information is through a cumulative probability graph. This provides a way of answering the question "how likely am I to obtain a block reward worth at least Ξ?"
For example, from this graph it can be seen that approximately 80% of blocks had a reward of 0.4Ξ or less, so the answer to the question "how likely am I to obtain a block reward worth at least 0.4Ξ?" is "roughly 1 in 5 of the blocks you propose will be worth at least 0.4Ξ."
The information presented above shows rewards for blocks over a relatively long timeframe of around 6 months. An obvious question to ask is whether there is a trend in block rewards over time, or have the rewards remained the same throughout the data analysis period.
To explore this, block rewards were grouped on a daily basis and for each day an average reward per block was calculated. The day-to-day mean is shown below:
There are three days where the daily mean block reward was significantly higher than the average. Investigating these times manually, these peaks can be ascribed to:
Ignoring these outliers (even though two out of the three cases were real days and miners did indeed receive these rewards), an average somewhere above 0.25Ξ looks to be both real and relatively stable. That said, at the end of the data the value does appear to tail off somewhat; given the relatively small number of days showing this decrease is not possible to say from the data if this is a long-term trend or a short-term deviation.
And of course, the landscape of transactions is expected to change in the near future, as more smaller-value transactions move to layer 2 solutions and layer 1 becomes more focused on large transactions as well as the proofs and suchlike that secure layer 2 chains. Given the higher value of these transactions it is possible that they will result in higher rewards, and given their relatively scarcity it is possible that a generally lower number of transactions competing for block space will result in lower rewards. As with any attempt to predict future demand, there can be pointers in both directions.
Validators are rewarded for their actions on the consensus layer securing the beacon chain. These rewards are defined in the beacon chain protocol, and are obtained using a relatively simple calculation4. These consensus layer returns, which are rewards expressed as a percentage of the 32Ξ validator deposit, are shown below:
At time of writing there are around 300,000 active validators, which equates to maximum returns of around 5.4%5. The reduction in returns as new validators become active is relatively gentle, for example doubling the number of active validators would result in maximum returns of around 3.8%.
For execution layer returns we take the average rewards per execution block of 0.298Ξ as calculated earlier in the article, and calculate the number of blocks each active validator is expected to produce in a year. This gives a total Ether reward based on the execution layer, and from this returns can be calculated as shown below:
This line shows a significantly sharper decline in returns as the number of active validators increases. This is because the number of blocks produced in a year is constant regardless of the number of validators. To contrast with the consensus layer returns, current projected returns are around 9.3% and this falls to around 4.7% if the number of active validators doubles.
Combining the returns from both layers provides a projection for returns after the merge.
It should be noted that this is a projection, and, as mentioned above, many variables may cause this value to change over time. It should also be noted that these are the projected returns for the network as a whole, and will be unlikely to be reflected in the returns for for any individual validator. The returns for each validator will likely be dominated by luck: firstly in being chosen to propose a block, and secondly in the rewards they obtain from the proposed block. Close monitoring of execution block rewards up to and past the merge will be required to provide a clearer understanding of on-going validator returns.
Also known as the coinbase, this can be any Ethereum address and is set by the entity that submits the block to the chain. ↩
This is a somewhat simplified view of how fee calculation works, see the relevant EIP for full details. ↩
Just after midday on 5th August 2021. ↩
Ether per validator per year. ↩
Achieved returns depends on the validator carrying out its duties and the overall network health. ↩