Commit cd32e10
committed
Fix PPLNS: use raw chain head, not verified — pay all miners from start
Critical bug: best_share_hash() returned the verified chain's best head.
With slow verification (132/984 shares), PPLNS only saw one miner's shares
and blocks only paid that miner — effectively stealing from other miners.
p2pool uses tracker.items (raw chain) for PPLNS, not tracker.verified.
Verification is for detecting bad shares/peers, not restricting payouts.
Fix: always return the tallest raw chain head for PPLNS computation.
This ensures all miners get their fair share from the first block found,
even if verification hasn't caught up yet.1 parent 724dc22 commit cd32e10
1 file changed
Lines changed: 8 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
508 | 508 | | |
509 | 509 | | |
510 | 510 | | |
511 | | - | |
512 | | - | |
513 | | - | |
514 | | - | |
515 | | - | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
516 | 518 | | |
517 | 519 | | |
518 | 520 | | |
519 | | - | |
| 521 | + | |
520 | 522 | | |
521 | 523 | | |
522 | 524 | | |
| |||
0 commit comments