wizkid057 / wizstats

Optimized Bitcoin Mining Pool Web Stats
GNU Affero General Public License v3.0
80 stars 56 forks source link

SMPP shares halved in value #14

Closed ghost closed 11 years ago

ghost commented 11 years ago

I have been mining for about a year on eligius and I had a bunch of old unpaid shares ( http://eligius.st/~wizkid057/newstats/userstats.php/1LS6JBSyWKp3RdzAWdNHhdCGCGNEcK1Wwa ). If I understand this fix correctly, then I do not approve of changing the value of the old shares.

I have no easy way of being sure, but I'm fairly sure most of my old smpp shares were from before the block halving. The payment per share back then was what made eligius a fair pool. Unless I'm misstaken, now you are renegotiating our agreement for the price of my work. You are doing this after I have already done it. This imo is bad for both the pool and me, since it shows the pool cannot be trusted to uphold its end of the bargain.

Also I don't really understand the reasoning behind the fix. Doesn't the shares get paid in a kind of reverse chronological order? This means we would have to be extremly lucky to get all those blocks needed to pay back all the old shares. On the other hand if we somehow do get that lucky, isn't that luck compensating for the bad luck we had previously?

I do realize that in a manner of speaking we would have to be twice as lucky now as pre halving, but by not applying this fix everyone would get what they were promised, even if it most likely will take infinitely long. This at the price of new shares only being paid as much as on most other pools. The only part they lose out on is a small part of the extra "bonus" from when we are very lucky.

Link to post in bitcointalk forum announcing the change: https://bitcointalk.org/index.php?topic=23768.msg1501533#msg1501533

I don't seem to have posting privileges on the bitcointalk forum so I'm posting here instead. Seems like a good place anyway.

wizkid057 commented 11 years ago

I'll note that this is not really related to the stats, however I will respond here anyway.

The amount rewarded per share was always supposed to be stored as a portion of the block reward, not a set-in-stone amount of BTC per share from the time when it was submitted to the pool.

There is no renegotiating of anything. This "change" should have (and would have) happened automatically if we were still using SMPPS as the reward system. However, I coded CPPSRB from scratch, and I forgot to account for this correctly in my code for the CPPSRB reward system. The pool is not cheating anyone or being shady, I've simply corrected an issue with my code to

All SMPPS data is pre-subsidy halving, so, from 50 BTC blocks. CPPSRB took over as the reward system as of block height 206,092.

The short of it is, share values are stored as a portion fraction of block subsidy. Therefore, the value of old shares have not changed. For example, submitting one share right now earns you about one 3,275,464th of a block reward whenever the pool is able to pay that share. If that share is paid today or some otherwise , it will be one 3,275,464th of a 25 BTC block reward. If the share is paid 4 years from now (converted from SS to Balance) then it will be paid as one 3,275,464th of a 12.5BTC block reward. So, every 4 years, Shelved shares/extra credit effectively halve along with Bitcoin's subsidy if they have not yet been paid. This keeps the pool statistically neutral long term.

I hope this explains a bit better.

luke-jr commented 11 years ago

Just to clarify a bit more: If your share was worth 1/20,000th of a block (eg, found at difficulty 20,000), it will remain valued at 1/20,000th of a block now.

ghost commented 11 years ago

Ah, by looking at the reward as a fraction of a block, instead of a fraction of a bitcoin it makes sense.

Thanks for taking the time to explain it once more.