Post
Topic
Board Development & Technical Discussion
Re: Can centralised pools point their hashpower at a p2pool node?
by
hannesnaude
on 12/06/2014, 13:01:04 UTC
Thanks for the constructive reply.
I've been mulling this one over, and honestly, I'm not sure it's such a good idea, at least not with p2pool in its current state.

Let's assume for the sake of discussion that a large pool does shift their entire backend to p2pool overnight. 

First off, it doesn't preclude any pool of a sufficiently large size from conducting a 51% attack, even with p2pool as an intermediary.  (I bring this up because preventing a 51% attack is frequently cited as a reason for switching to p2pool.) The p2pool share chain is consensus based, just like the bitcoin blockchain. Thus, the way a 51% attack works is still just as applicable with p2pool as it is with any other system.  The attacking pool simply has more hashpower than the rest of the p2pool network combined, and their share of the overall network hash rate is still the same as what it was before the shift to p2pool.

No, I understand that a 51% pool still has 51% irrespective of mining via p2pool or otherwise. I did not claim that this would prevent a 51% attack.

Second, it would immediately render p2pool useless for smaller miners.  Let me give an example with simplified numbers (but still close to reality). The current network speed is on the order of 100Ph/s, or 100,000 Th/s.  p2pool itself is registering on the order of 500Th/s, or 0.5% of the network speed. To get one share per day on p2pool, you need about 5Gh/s at present, or approximately 1/100,000 of the overall hash power of p2pool (again, simplified numbers, don't go crazy over my math! Smiley ).  Now let's assume that a pool with 20Ph/s shifts to p2pool.  p2pool's total hash rate jumps to a whopping 40 times its previous hash rate, and to get one share per day, you'd need over 200Gh/s.  So if you have less than that on p2pool, you essentially stop getting shares, which means you get less payouts.  It doesn't matter if the p2pool network is now finding 40 blocks a day or more; if you as an individual miner are sitting at zero shares, then you get zero payout.  You'd be better off solo mining and hoping to hit a jackpot -- or joining a competing pool.

I've always assumed (incorrrectly it would appear) that there are multiple p2pools, to counter the very problem you highlight here. Nevertheless it would be a trivial modification to the p2pool source code to ensure that the pools that mine into THIS p2pool (lets call it poolp2pool :-)) do not share a sharechain with the already existing p2pool miners. Therefore the existing p2pool difficulty remains unaffected. So if you initially had just one major pool switching to a system like this they would just be competing with themselves for shares on the new sharechain and their revenues would be unaffected, they will however, in the process provide the rest of us with an unforgeable proof of which transactions they are currently working on. This data has value and it could even be sold to interested parties (anyone interested in accepting low-confirmation transactions, or trying to estimate the fee they need to include to get their tx into the next block). This is an advantage in itself. However, when a second pool joins this poolp2pool, things get even more interesting, since both pools (and their miners) now see reduced earnings variance. For a miner with too little hashpower to  mine in p2pool directly, this becomes the next best option and miners have less incentive to join the largest pool since even tiny pools mining into poolp2pool can provide low variance income.