There are Two Uncle Rewards
Most are using one term to describe two rewards
- Uncles Reward is awarded to the miner that creates an uncle block that is included in a confirmed block (a valid block added to the chain).
- Uncle Inclusion Reward is awarded to the miner that includes the uncle block in a confirmed block.
When learning about uncle rewards some explained the reward as a way to incentivize participation. Instead of having an all-or-nothing system there’s a reward for mining a valid block not added to the chain. The block was not confirmed because it did not reach enough nodes on the network before a different block was added.
Others described uncle rewards as a way to incentivize including uncle blocks in confirmed blocks for security purposes. Uncle blocks serve as secondary records.
After reading the explanations I still had questions:
- Who receives the reward, the creator of the uncle block or the miner that includes the uncle block?
- If the reward goes to the creator of the uncle block, do you receive the Uncles Reward automatically in the same way you do for mining blocks?
- If the reward goes to the miner that includes the uncle block, does that mean the miner that created the uncle block doesn’t receive a reward?
A Different Search
I happen to hover over the numbers explaining the breakdown of block rewards on etherscan.io.
When you hover over the 2 in the parenthesis a popup says “Static Block Reward”, hover over 0.0147… the popup says “Txn Fees”, hover over 0.0625 and the popup says “Uncle Inclusion Rewards”. I now had a new term to search for.
…uncle blocks are rewarded based on how “fresh” they are, with the highest reward being 1.75 eth. An example of this can be found in block 8364113. Each additional generation that passes (i.e. each increment of the block count) before an uncle block gets included reduces the reward by 0.25 eth. An example of an uncle that was 2 generations late getting included in the blockchain can be found in block 8364139. The miner including the uncle in their block gets a bonus of 0.0625 eth on top of the normal 2 eth block reward. (nerdralph.blogspot.com)
Note: ETH amounts and block numbers have been changed above to use current information.
What I thought was one reward is actually two. Miners that create uncle blocks are awarded an Uncles Reward. Whereas miners that include uncle blocks in confirmed blocks are awarded Uncle Inclusion Rewards.
Looking closer at the first part of the quote above. A miner that creates an uncle block is rewarded if the block is included in a confirmed block. Creating the uncle block is not enough.
The amount of the reward depends on when the uncle block is included.
If an uncle block is included in the next confirmed block it receives the full Uncles Reward of 1.75 eth. If the uncle block is included in a confirmed block three blocks after it was created it receives 1.25 eth.
In the image above there are three uncle blocks with three different reward amounts. The equation to calculate the reward is:
(U_n + 8 - B_n) * R / 8
Put another way:
(Uncle Number + 8 — Block Number) * Miner’s Reward / 8
Using the examples from the image:
(8368757 + 8 – 8368759) * 2 / 8 = 1.5
(8362458 + 8 – 8362461) * 2 / 8 = 1.25
(8359512 + 8 - 8359513) * 2 / 8 = 1.75
Uncle Inclusion Reward
When a miner includes an uncle block in their confirmed block they receive a 0.0625 eth reward. While the Uncles Reward changes depending on how old the uncle block is the Uncle Inclusion Reward is the same amount, 0.0625 eth per uncle block — with a two uncle block max.
Uncles Rewards give an incentive to participation and increases security. I just had to understand that there are two rewards, of differing amounts, based on the same information.