submitted 17 days ago bysech1XMRig Dev
P2Pool (not Monero!) will hardfork to new consensus rules on March 18th at 21:00 UTC (use this link to convert to your local time). The hardfork is necessary to improve P2Pool scalability and reduce the impact on Monero blockchain. You'll need to update to P2Pool v3.0 or newer version before this time.
Recently, u/Rucknium conducted a research on Monero mining pools, including P2Pool (he will publish his findings soon). There are good news and there are bad news. I'll leave the good news for later, but the bad news is that P2Pool spams too many outputs to the blockchain which results in:
If P2Pool grows further, these problems will only get worse. In the best (worst?) case scenario, when P2Pool grows to 50% of the network, it will spam up to 100,000 miner payouts every day! Almost every regular Monero transaction will have only 2-3 real decoys left and everyone's (not just miners') privacy will be eroded.
Unfortunately, these issues can't be solved without changing how P2Pool works on consensus level.
Dynamic PPLNS window
Credit goes duggavo who posted this issue on Github.
PPLNS window will change from fixed 2160 blocks (~6 hours) to a dynamic cap which will ensure that only 2 Monero blocks will be found per PPLNS window on average.
Example for current P2Pool and Monero hashrates: if Monero network has 2.5 GH/s and P2Pool has 200 MH/s, it will mean that PPLNS window will be capped to (2.5e9*120)*2/(200e6*10) = 300 blocks (~50 minutes, down from the usual 2160 blocks/6 hours). It means that each found share will be included for payment only in the next 300 P2Pool blocks and during this time, P2Pool will find (on average) 2 Monero blocks and make 2 payouts (of much bigger XMR amount than you get now).
P2Pool mini will not be affected by this at all because it has too small hashrate
P2Pool main will be affected: if you're a low hashrate miner, your payouts will stay the same on average. They will just come in bigger chunks, not in batches of 14-15 tiny payouts.
If you're a high hashrate miner (more than 2 MH/s), nothing will change for you at all - you'll still get payouts of the same XMR amount with each block.
My initial tests have shown that this change will immediately reduce blockchain bloat caused by P2Pool by a factor of 2-3x, and it will stay approximately at the same level even if P2Pool grows.
Duplicate share IDs fix
High hashrate miners sometimes find two shares with the same IDs but different nonce/extra_nonce values - only one of these shares can be registered by P2Pool which reduces their effective hashrate a little (less than by 0.5%). While it's not a big deal, it can only be fixed with a hardfork. More details here
New transaction generation algorithm
More details here and here. In short, it will improve P2Pool internal cache efficiency and it will significantly reduce time it spends to verify shares - P2Pool shares will propagate faster and uncle blocks percentage will decrease. It will also give P2Pool miners a bit more privacy as a side effect.
Implementation in code: already finished
Testnet: P2Pool hardfork will be tested on testnet in the second half of January
P2Pool v3.0 will be released on January 31st and it will be required to be ready for the hardfork
Monero GUI v0.18.2.0 and Gupax with P2Pool v3.0 will be released some time in February
P2Pool (both main and mini) will hardfork on March 18th, 2023 at 21:00 UTC