Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrong reward received for Uncles! #1591

Closed
federicoon opened this issue Aug 5, 2015 · 9 comments
Closed

Wrong reward received for Uncles! #1591

federicoon opened this issue Aug 5, 2015 · 9 comments

Comments

@federicoon
Copy link

As announced on the forum:

The successful PoW miner of the winning block receives:

  • A static block reward for the 'winning' block, consisting of exactly 5.0 Ether

[...]

Uncles included in a block formed by the successful PoW miner receive:

  • 7/8 of the static block reward

Thus miners who found an Uncle should get 7/8 of 5.0 Ether = 4.375 Ether
In fact we only received 3.75 Ether per Uncle, so we're missing 0.625 Ether per Uncle!

@obscuren
Copy link
Contributor

obscuren commented Aug 5, 2015

No. The uncle reward formula is (U_n + 8 - B_n) * R / 8

So:
uncle 0 == 4.375
uncle 1 == 3.75

Here's an example

B_n = 6, R = 5

U_0 = (5 + 8 - 6) * 5 / 8 == 4.375
U_1 = (4 + 8 - 6) * 5 / 8 == 3.75

@obscuren obscuren closed this as completed Aug 5, 2015
@federicoon
Copy link
Author

Thank you. Then the announcement was not stated correctly.
Anyway, what does B_n stand for? I see R is the static reward and U_n the uncle rank, but can't figure out what B_n represents.

@obscuren
Copy link
Contributor

obscuren commented Aug 5, 2015

Block number :)

@federicoon
Copy link
Author

Sorry, I'm still missing something... my understanding was U_n is a relative order, i. e. the n-th uncle for some block, so the n count resets after a new block is mined and added to the chain. Am I wrong then?
The block number is an absolute value instead (over 30k right now), so I don't understand how that formula can work. I'm confused...

@obscuren
Copy link
Contributor

obscuren commented Aug 5, 2015

It's not count. It's number. Uncle number (block number); not inclusion count.

@federicoon
Copy link
Author

I see, thank you. Can you please point me to some detailed documentation on how uncles are included? I still can't see how you ensure there are enough uncles so that U_n + 8 - B_n > 0 at any time.

@Gustav-Simonsson
Copy link

@federicoon See yellow paper section 11.3 equation 144: gavwood.com/paper.pdf

@federicoon
Copy link
Author

Ommer? What the heck does that mean? Is it the same as uncle?
EDIT: ok, I think I got the answer. First, I didn't know there can be up to 2 uncles per block.
Then the most important point I was missing: uncles and block share the same numbers!
I though there was a different numeration for uncles, unrelated to that for the blocks.
Rather, if the uncle is one level above the block, then its number is equal to the block's father number, i.e. [block number] - 1. If its 2 levels above, then [block number] - 2, etc. Am I correct?

@perl5577
Copy link

I not undestand equation 143 .

What Bu ?

How many for reward ommer ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants