Author

Topic: The perfect, cheater-proof, zero-variance pool (Read 1642 times)

legendary
Activity: 1284
Merit: 1001
They can screw any pay-per-share or any proportional pool where their hash rate is a small fraction of the total. I don't see anyone bothering.
Then you haven't been looking very hard. http://forum.bitcoin.org/index.php?topic=3266.0
sr. member
Activity: 406
Merit: 250
Quote
[Tycho] has said that deepbit's PPS isn't profitable unless they keep at least 7% fees. And even at 10% fees the variance causes it to not be profitable on some days.  But the fact that there have to be any fees at all over time (fees above the pool's desired profit margin) indicate that there is some level of cheating the pool operator going on, otherwise things would average out and be profitable at a lower percentage.

You can't expect a variable system to produce the same amount every day. The only thing you know for sure are "expected values". If a pool has 0% fees based on "expected values" then it will break even over a long period of time. If a pool has 10% fees based on "expected values" then it will make a 10% profit over a long period of time.

It would be in [Tycho]'s interests for people to be confused about this. 7% is a lot of profit.

If you take [Tycho]'s statements at face value, he is saying that 7% fee is his long term break even point. The only reason for this to be so is if he has people that are withholding blocks. There have been several other pools running PPS that have had to shut down all PPS operations because it was not profitable over time. Not just because of normal variance, but because they were seeing an average long term lower than expected solution rate.
member
Activity: 98
Merit: 10
They can screw any pay-per-share or any proportional pool where their hash rate is a small fraction of the total. I don't see anyone bothering.

Actually, they can only screw pool operators with PPS mode. If they withhold any "real" block they find, the pool will never get any BTC from that miner, but the miner will be paid for any share they find, thus causing the operator to lose BTC.

With proportional, withholding "real" blocks will only cause the payout for all miners to go down. The operator won't have to pay anyone for the withheld blocks, so they don't suffer any losses (but miss out on some pool fees and the pool appears to have less luck, which might cause some miners to change pools if it happens a lot).
member
Activity: 108
Merit: 10
@aBitcoiner:
Because they can screw you.

They can screw any pay-per-share or any proportional pool where their hash rate is a small fraction of the total. I don't see anyone bothering.


Quote
Also stale shares are not being paid in your model, right? As otherwise the "proper" miners would finance them...


Fees can be distributed retroactively proportionally. Stale shares would not be paid as that is the miner's own fault for not using a client with long polling. All pool-side variance including unconfirmed blocks would be absorbed by the pool.


Quote
[Tycho] has said that deepbit's PPS isn't profitable unless they keep at least 7% fees. And even at 10% fees the variance causes it to not be profitable on some days.  But the fact that there have to be any fees at all over time (fees above the pool's desired profit margin) indicate that there is some level of cheating the pool operator going on, otherwise things would average out and be profitable at a lower percentage.

You can't expect a variable system to produce the same amount every day. The only thing you know for sure are "expected values". If a pool has 0% fees based on "expected values" then it will break even over a long period of time. If a pool has 10% fees based on "expected values" then it will make a 10% profit over a long period of time.

It would be in [Tycho]'s interests for people to be confused about this. 7% is a lot of profit.
sr. member
Activity: 406
Merit: 250
@xenon:
This would only hurt the pool operator but gain the abusers nothing but the "Haaa Haaa!" effect known from the Simpsons, as there is no chance that these solutions can be used elsewhere. I think HolyFire already suggested a countermeasure against this but I have yet to see an implementation of this "in the wild".

It does cost the attack an infinitessimal amount, but the amount is so trivial that it is not even noticeable.

With the current difficulty, each pay per share (with no fees) is worth ~0.00014973 BTC. And you only have to withhold 1 out of every 434,883 shares. Or ~0.00023% of your shares.

In 250 blocks, shares will be worth ~0.0000909 BTC and you only have to withhold ~0.00018% of your shares.


[Tycho] has said that deepbit's PPS isn't profitable unless they keep at least 7% fees. And even at 10% fees the variance causes it to not be profitable on some days.  But the fact that there have to be any fees at all over time (fees above the pool's desired profit margin) indicate that there is some level of cheating the pool operator going on, otherwise things would average out and be profitable at a lower percentage.
legendary
Activity: 2618
Merit: 1007
This would in my understanding only work with fairly constant hashrates of the pool. If the hash rate fluctuates, this can get messy for the operator.

Also stale shares are not being paid in your model, right? As otherwise the "proper" miners would finance them...

If you are backed by a large amount of initial BTC to get over bad luck rounds, this might work out quite well in my opinion. You'd need quite a bit of buffer though.

Also, how would you hand out/distribute transaction fees? In the future (and I imagine already at the jump to 25BTC/block) these will become increasingly important. They are not really calculable/forseeable though, so you'll still need some kind of scoring/proportional system in place to hand these out.

@xenon:
This would only hurt the pool operator but gain the abusers nothing but the "Haaa Haaa!" effect known from the Simpsons, as there is no chance that these solutions can be used elsewhere. I think HolyFire already suggested a countermeasure against this but I have yet to see an implementation of this "in the wild".

@aBitcoiner:
Because they can screw you.
member
Activity: 108
Merit: 10
Good luck with that. Just wait until you have people withholding full answers from you and only submitting answers below the current difficulty.

Why would they do this on my pool, but not another?
sr. member
Activity: 406
Merit: 250
Good luck with that. Just wait until you have people withholding full answers from you and only submitting answers below the current difficulty.
member
Activity: 108
Merit: 10
Lets get back to basics: How does pooled mining work? (roughly)

1. Every pool member hashes for a block solution for the current block which contains a +50BTC to the pool tacked on at the end.
2. The pool operators will accept any solution to the block, not just those of sufficient difficulty, some of this will just so happen to be of a suitable answers for a higher difficulty and win the pool the block. This is known as shares.

Why use shares? Shares are the "proof of work" in a pooled mining system.

In your job, you don't get a proportional to what the company earns. You get it on an agreed rate based on the work you do. It is a similar train of thought that leads me to suggest that the perfect pool uses a "pay-per-share" system (with 0% fees).

Advantages:
zero variance for the miner
no cheating possible since every share is equal
Jump to: