Can anyone explain the benefit of DGM over PPLNS? Pool hopping is also prevented by PPLNS and seems like it would be much easier to implement. From what I gather, DGM helps 'absorb' a little bit of variation but I would imagine that isn't as big a deal on a larger pool like Slush's.
PPLNS can work too, but there are a few differences to consider:
1. What most people refer to as PPLNS is the naive variant which isn't completely hopping-proof. There are correct variants but they're slightly harder to implement.
2. PPLNS is potentially more resource-intensive, as it requires a history of shares - DGM only strictly requires keeping track of the score of every miner.
3. DGM can absorb variance, which may or may not be needed or used but it's nice to have the option.
4. In DGM the decay is gradual rather than abrupt, this can be seen as a pro or a con depending on taste.
There's also shift-PPLNS and shift-DGM which work better with a parallel architecture.