#### Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

# Formula for block reward when the block contains uncles?

Trying to find a simplified formula that explains exactly how the block reward is calculated for a block containing either one or two uncles.

Ethereum mining wiki lacks details. Best I could find was on github:

(U_n + 8 - B_n) * R / 8

Where:
R = 5 (ether)

But can someone explain what do U_n and B_n represent?

Why? Got a block reward from ethpool that was only ~3 eth I'm assuming because it contained 2 uncles.

• @ethead Uncles are a small percentage of blocks mined, so I doubt you'll find anyone interested enough to figure out the *exact* calculation in every situation. It is what it is.
• http://ethereum.stackexchange.com/q/569/87

U_n is the uncle number.
B_n is the block number.
R is the reward of 5 ETH.

if B_n = 1337 and R = 5
then U_0 = (1336 + 8 - 1337) * 5 / 8 == 4.375
and U_1 = (1335 + 8 - 1337) * 5 / 8 == 3.750
and so on
• Or to answer your question: you didnt recieve a block reward but an uncle reward.
• @dlehenky yes, uncles are generally small percentage. But it looks like ethpool currently has a 4.46% uncle rate:

`(1667 / (35703 + 1667)) * 100 = 4.46%`

Which means there's a decent amount of other miners on that pool being rewarded for uncle blocks and I'd like to verify the payouts are correct.

@5chdn thanks for the info! So let's try an example.

ethpool rewarded 3.09375 to 0xdeb5515fb01bf24d2f1dfb505c7e7f21798696cc for block 1071819. There were two uncles associated with the block: 1071816 and 1071817. So let's assume ethpool was really paying out a reward for the block's 2nd uncle, 1071817. So:

`(1071817 + 8 - 1071819) * 5 / 8 == 3.75`

So far so good. Now let's deduct ethpool's 1% fee:

`3.75 - (3.75 * .01) = 3.7125`

Still nowhere near the 3.09375 reward. So is ethpool skimming or did I miss something?
• Looked at it again, and ethpool actually mined the uncle block 1071816, which would make the formula:

`(1071816 + 8 - 1071819) * 5 / 8 == 3.125`

Then deduct the 1% fee:
``````3.125 - (3.125 * .01) = 3.09375
``````
So looks like it's all good. Thanks again for the help • @ethead ethpools uncle was at height 1071816 and not 1071817 (you can check with geth using eth.getUncle(1071819, 1)). This results in an reward of 3,125 (before fees).
• edited February 2016
Actually the reward you've got seems to be linked to the first uncle which was mined by ethpool (1071816)
Whereas 1071817 was mined by coinmine.PL (given your links).

In that case :
`(1071816 + 8 - 1071819) * 5 / 8 == 3.125`
`3.125*0.99 == 3.09375`
So this seems correct to me

Edit : Already two answers, guess i'm a bit slow 