re: Punishing share for 'Block-stale detected!, etc.
I get a lot of orphans when this happens... because my bitcoind is too fast?
I went to several other pools (my other one in Florida, OVH in Canada, p2pool.org, some others) and they all had my share listed, which means that it was accepted and got orphaned later.
This occuring after several:
2013-06-09 21:34:35.132788 Skipping from block 4bc4be449a7de0c01cb29a9d661045a19393dea2cefc2e26b to block 9b14c16ea0d67eda77564adca4de0ac3e84b1efbd8cfb5adce!
2013-06-09 21:34:36.831062 Punishing share for 'Block-stale detected! 4bc4be449a7de0c01cb29a9d661045a19393dea2cefc2e26b < 9b14c16ea0d67eda77564adca4de0ac3e84b1efbd8cfb5adce'! Jumping from 2ba6238a to e8ee1640!
2013-06-09 21:34:36.917817 Punishing share for 'Block-stale detected! 4bc4be449a7de0c01cb29a9d661045a19393dea2cefc2e26b < 9b14c16ea0d67eda77564adca4de0ac3e84b1efbd8cfb5adce'! Jumping from 2ba6238a to e8ee1640!
2013-06-09 21:34:36.920728 Punishing share for 'Block-stale detected! 4bc4be449a7de0c01cb29a9d661045a19393dea2cefc2e26b < 9b14c16ea0d67eda77564adca4de0ac3e84b1efbd8cfb5adce'! Jumping from 2ba6238a to e8ee1640!
2013-06-09 21:34:40.064626 GOT SHARE! Brusthonin 32cdc8e4 prev e8ee1640 age 2.69s
... and then that share was orphaned. It seems to me like if I modified the source to turn off the whole 'punishing share' stuff, I'd get less orphans?
If I understand correctly, P2Pool doesn't want to build a share on top of one it knows to be stale (built on a previous Bitcoin block).
It may be because your bitcoind has better connections to the Bitcoin P2P network and learns of new blocks before others: if the majority of the network is slower it will not see the share as a "Block-stale" as you do and not punish it, refusing your share in the relatively rare case when you submit one just after this "Block-stale". You could lose a bit of income this way, but it should not be noticeable (this can only affect you during the ~5s a block needs to fully propagates the Bitcoin network, which is less than 1% of the block interval: in the worst case you shouldn't lose more than 0.5% of efficiency).
If you modified the source to turn off the 'punishing share', you would find your node at the opposite end of the spectrum: it would build on a potential stales and make orphans too.
You can find out if it's a problem by computing the number of shares you found just after a block that were orphaned and the number of shares that were accepted. If you have enough logs/hashrate you can get a meaningful sample (one hundred shares generated just after blocks would be adequate) and find if you get more orphans in this population than the orphans you get over the same time period. This would make sure there is some imbalance and I think we could even find out if reversing the logic would benefit you in your case (I'm a bit tired and going to bed, but I think it's simple probabilities).
yeah, like this
2013-06-10 06:10:29.076187 Punishing share for 'Block-stale detected! 4d2f83a096d4f50ce5fccfd3d81fb97988ad9eac42ddfad5b6 < 1c3c0e8358b6fe20f6d09bfeef1f9aa0fc897ad634c8da56aa'! Jumping from 5538fa58 to
be8220df!
2013-06-10 06:10:31.197403 GOT SHARE! Brusthonin 10823d52 prev be8220df age 1.81s
2013-06-10 06:10:33.597242 Shares: 33 (1 orphan, 4 dead) Stale rate: ~15.2% (6-31%) Efficiency: ~104.6% (85-116%) Current payout: 0.3049 BTC
2013-06-10 06:10:43.603981 Shares: 33 (2 orphan, 4 dead) Stale rate: ~18.2% (8-35%) Efficiency: ~100.9% (80-113%) Current payout: 0.3017 BTC
that just happened, again
oh, here is what it looked like from my a different node:
2013-06-10 06:10:29.383634 Skipping from block 4d2f83a096d4f50ce5fccfd3d81fb97988ad9eac42ddfad5b6 to block 1c3c0e8358b6fe20f6d09bfeef1f9aa0fc897ad634c8da56aa!
2013-06-10 06:10:30.688724 Punishing share for 'Block-stale detected! 4d2f83a096d4f50ce5fccfd3d81fb97988ad9eac42ddfad5b6 < 1c3c0e8358b6fe20f6d09bfeef1f9aa0fc897ad634c8da56aa'! Jumping from 5538fa58 to
be8220df!
2013-06-10 06:10:35.396229 P2Pool: 17360 shares in chain (17364 verified/17364 total) Peers: 64 (8 incoming)
2013-06-10 06:10:35.396380 Local: 0H/s in last 0.0 seconds Local dead on arrival:
Expected time to share:
2013-06-10 06:10:35.396506 Shares: 0 (0 orphan, 0 dead) Stale rate:
Efficiency:
Current payout: 0.3049 BTC
2013-06-10 06:10:35.396555 Pool: 736GH/s Stale rate: 18.9% Expected time to block: 1.1 days
nobody mining on it though, so doesn't show reports of new work. the US node runs slower since it's on a crappy dual xeon and only using 8 cores. oh, you can see how it did log my share as valid though, since the payout increased to 0.3049
the times:
06/10/2013_06:56:34:620911792 (US)
06/10/2013_06:56:34:634211668 (Germany)