<p>BitPenny seems to be half the solution - it has centralized control, but its clients can verify it behaves nicely in some sense. But it still has central management. A 51% pool can pull off subtle attacks that aren't prevented by BitPenny. For example, it can prune competitors' blocks, which is not always detectable due to the network latency. It can also block certain transactions or all of them. See <a href="http://hackingdistributed.com/2014/06/18/how-to-disincentivize-large-bitcoin-mining-pools/" rel="nofollow">this Hacking Distributed post</a> for more details. BitPenny won't always detect this behavior. </p>

<p>P2pool is the full solution - it is a truly decentralized mining pool with no central control. There is no entity that can wield its power to do anything other than honest mining. </p>

CC BY-SA 3.0
2014-06-27T17:59:29.800Z
2014-06-27T17:59:29.800Z
stanga
<p>As I understand, <code>P2Pool</code> has some problems, since it's just a separate blockchain with a shorter time between blocks, small miners still have more variance, and, hypothetically, if the time between blocks were 10 seconds and each new block took 0.5 seconds to be received by a miner, then the miner would be wasting 0.5/10 seconds working on an old block. So, basically, if the time between blocks is reduced to lower variance, the miners will waste a larger percentage of time and lose money.</p>

<p>Why don't pools just use the BitPenny approach of having the mining client verify that the pool owner isn't trying to mine double spends?</p>

CC BY-SA 3.0
2014-06-23T04:16:47.277Z
The details are very scarce on how exactly bitpenny clients would verify that the pool owner isn't trying to double spend.. my guess is that they can't actually do what they claim. It is impossible with a client / server approach because you have no idea what everyone else in the pool is working on.
k kurokawa
CC BY-SA 3.0
2014-06-23T05:13:01.953Z
> you have no idea what everyone else in the pool is working on  
  
  
Well yea, each client can only make sure they're not working on a double spend. I think to make sure they're not mining a double spend the client needs to know all unspent transaction outputs, which would mean either storing the full blockchain or use some of the ideas from https://en.bitcoin.it/wiki/Thin_Client_Security
user18332
<mining-pools><p2pool><trust>
Why is everyone encouraging the use of P2Pool as the answer to the 51% problem?
user18332
# Why is everyone encouraging the use of P2Pool as the answer to the 51% problem?

(Asked by: username_0 on 2014-06-22)

As I understand, `P2Pool` has some problems, since it's just a separate blockchain with a shorter time between blocks, small miners still have more variance, and, hypothetically, if the time between blocks were 10 seconds and each new block took 0.5 seconds to be received by a miner, then the miner would be wasting 0.5/10 seconds working on an old block. So, basically, if the time between blocks is reduced to lower variance, the miners will waste a larger percentage of time and lose money.

Why don't pools just use the BitPenny approach of having the mining client verify that the pool owner isn't trying to mine double spends?

**Tags:** mining-pools, p2pool, trust

> **Comments:**
> **username_1**: The details are very scarce on how exactly bitpenny clients would verify that the pool owner isn't trying to double spend.. my guess is that they can't actually do what they claim. It is impossible with a client / server approach because you have no idea what everyone else in the pool is working on.  
> **username_0**: > you have no idea what everyone else in the pool is working on         Well yea, each client can only make sure they're not working on a double spend. I think to make sure they're not mining a double spend the client needs to know all unspent transaction outputs, which would mean either storing the full blockchain or use some of the ideas from https://en.bitcoin.it/wiki/Thin_Client_Security  

---

## 1 answers

### Answer by username_2 on 2014-06-27. Score: 3

BitPenny seems to be half the solution - it has centralized control, but its clients can verify it behaves nicely in some sense. But it still has central management. A 51% pool can pull off subtle attacks that aren't prevented by BitPenny. For example, it can prune competitors' blocks, which is not always detectable due to the network latency. It can also block certain transactions or all of them. See [this Hacking Distributed post](http://hackingdistributed.com/2014/06/18/how-to-disincentivize-large-bitcoin-mining-pools/) for more details. BitPenny won't always detect this behavior.

P2pool is the full solution - it is a truly decentralized mining pool with no central control. There is no entity that can wield its power to do anything other than honest mining.


---

