A decentralized mining pool client built into the core softw[...]
I posted this idea to reddit and got a decent response, so I thought I'd pitch the idea here.
I recently had an interesting idea for improving the decentralization of mining. While mining pools allow smaller miners to have rewards trickle in, rather than being all-or-nothing, they infamously lead to a greater centralization of mining power, as the pool owner normally controls which blocks are mined. An interesting idea for mitigating this was proposed in the form of decentralized pool mining, as in P2Pool, but for some reason* this design never caught on.
I suspect that a significant number of people who would run the mining software on their desktop computers, don't do so simply because the time between rewards is too great. Smart mining can help with this, but ultimately there has to be some kind of incentive for people to do this. A P2Pool-like client integrated into the core software would increase the incentive for normal desktop users to mine -- increasing decentralization -- but without the centralizing tendencies of normal pools.
I would be especially interested to hear if anyone could think of any downsides this idea would have, if implemented.
*I suspect the reason is because P2Pool requires each miner to run a full node, while other pools only require the pool owner to run one. Plus, P2Pool is a bit more difficult to set up; this would be mitigated by integrating the client into the core software.