<p>Large pools with a significant fraction of total hashing power do represent an increased risk to the security of the Bitcoin network.</p>

<p>Pools by themselves are not necessarily a risk as a peer to peer network doesn't necessarily need to consist of invidiual users.  A network of pools being the peers is also viable however the pools must be peers and there must be a sufficient number to make collusion between peers infeasible.  <strong>When one pool is 50x the size of average pool it has no peer.</strong> One could encourage miners to support smaller and medium sized pools thus restoring the "peer" nature of the network however that is likely a futile effort.  The problem is that large pools have an inherent advantage over smaller pools in the form of less reward variance which is a desirable attribute for miners.  Due to this advantage there will always be a tendency for hashing power to aggregate.</p>

<p><strong>Realisticly we should accept that large even massive pools are an inevitability due to the high variance nature of Bitcoin hashing.</strong> However the risk of large pools stems from the fact that miners are "dumb". By miners I am referring to the software not the person.  Currently the pool server tells the miner what to hash and the miner blindly hashes it.  If the pool is compromised or malicious it can tell the miner to hash "bad data" such as a forked blockchain, or double spend transaction.  The current implementation of mining pools makes it impossible for a miner to ensure they are doing "good work" until after the fact.  This is an important element because large pools aren't inherently a risk.  What makes them a risk is the control they have over a large amount of hashing power.  </p>

<p>Any reasonable mitigation must address that:</p>

<ul>
<li>Large pools are inevitable.  Miners will seek out pools which minimize variance.</li>
<li>The pool server is the weak link in an otherwise robust network due to denial of service, corruption, or compromise.</li>
<li>The miner must be smart.  It must decide for itself what to include in the block to ensure only "good work" is done.</li>
</ul>

<p>p2pool (peer-to-peer pool) is one solution to this issue without the unrealistic goal of simply having no pools or only "small" pools. p2pool could someday have >51% of the network hashing power and it wouldn't represent a risk to the network.  This is because each miner in the pool is working independently which makes subversion of the pool ineffective for the purposes of attacking the block chain.</p>

<p><strong>How p2pool creates a network of "smart" miners.</strong>  </p>

<p>p2pool creates a "share chain" where each miner submits shares to a parallel p2p network that records all the shares completed by the pool. Each miner independently includes transactions, sets up block headers, forwards other miner's transmissions for shares it hashes.  When a block is found the reward is split fairly because in generating each block header the miner looks at last x shares in the "share chain" and setups the coinbase transaction to split reward based on work over the last x shares.  IIRC x is currently set to roughly 1 day of work. So everytime a block is found each miner in the pool is rewarded equal to the % of shares accepted by the pool in the prior 24 hours.</p>

<p><a href="https://github.com/forrestv/p2pool">https://github.com/forrestv/p2pool</a></p>

<p><a href="https://bitcointalk.org/index.php?topic=18313">https://bitcointalk.org/index.php?topic=18313</a></p>

<p><a href="https://en.bitcoin.it/wiki/P2Pool">https://en.bitcoin.it/wiki/P2Pool</a></p>

CC BY-SA 3.0
2011-10-20T13:55:19.580Z
2011-10-21T13:31:06.673Z
2011-10-21T13:31:06.673Z
DeathAndTaxes
<p>The short answer to your question is "yes".</p>

<p>Efforts are underway to develop schemes that allow pooled mining without the pool manager being able to control what transactions go into the pool's blocks, leaving that decision (as well as which chain to extend, so long as it is reasonable) to the individual miners. All the pool really needs is proof that the miner is mining for the pool.</p>

CC BY-SA 4.0
2020-06-27T11:15:56.493Z
Stratum V2 is another (current) example of such effort.
Antoine Poinsot
CC BY-SA 3.0
2011-08-31T22:38:24.600Z
I voted up this answer, but it would help if you could site references.  I was under the impression that suggestions on doing this have been made, but that no one was actively working on it. (ostisably because no one feels this is a real threat, hence the original question so I could understand why people believe that.)
Joshua Kolden
CC BY-SA 3.0
2011-09-01T06:56:49.023Z
"Efforts are underway" - what about P2Pool? https://en.bitcoin.it/wiki/P2Pool
ripper234
CC BY-SA 3.0
2011-09-01T07:09:48.770Z
P2Pool is an example of one such effort.
David Schwartz
CC BY-SA 3.0
2011-08-31T19:36:41.083Z
2011-08-31T19:36:41.083Z
David Schwartz
<p>A mining pool with a significant percentage of the hash rate could allow double spend attacks by the pool manager. There are a number of pools that approach this level. However, most people say that a compromised pool would be easily detected, and the attack would be insignificant.</p>

<p>However, isn't this issue not about a single pool but the combined centralizing effect of pools? A moderate-sized attacker could easily compromise more than a few pool managers with a rubber hose attack, or pose as legit pools for a while until they obtain nearly complete control of the block chain.</p>

<p>The attacker would be able to double spend a lot of bitcoins (that it generated for itself with its pools in the first place), and regardless of any monetary advantage it could destabilize and destroy confidence in bitcoin. Easily within the capabilities and motivations of a government. A well-planned attack could happen far quicker than anyone could notice and pull their miners from the pools.</p>

CC BY-SA 3.0
2011-10-20T16:53:04.967Z
@MrJoshua The question is poorly constructed.  It is a useful topic but the question could be cleaned up to meet SE standards.  You shouldn't attempt to answer your own question in the body of the question.  Instead of saying "pools do x" = answer.  It should be phrased openended like "Do pools x?", "Could an attacker compromise multiple pools?", "How quickly could a 51% attack be executed".  Openended questions lead to increased debate and better answers.  Providing your own answer in guise of question without supporting information is less effective.
DeathAndTaxes
CC BY-SA 3.0
2011-08-31T19:29:20.877Z
It's a good topic, I also made multiple posts about the issue on forum, but it has to be Q&A format for StackExchange.
Serith
CC BY-SA 3.0
2011-08-31T19:33:07.707Z
I'm at a loss how this question is not in a question & answer format.  I asked a clear short question and then explained the context of that question.
Joshua Kolden
CC BY-SA 3.0
2011-08-31T19:39:04.510Z
because someone would have to write a small book to answer that, the question is just too big for Q&A.
Serith
CC BY-SA 3.0
2011-08-31T20:14:46.573Z
Its better to separate the question from the answer.  But feel free to answer your own question.
nealmcb
CC BY-SA 3.0
2011-08-31T22:32:09.663Z
I'm not attempting to answer my own question. I'm really asking it.  It seems like people don't think this is an issue, and I want to understand why it isn't.
Joshua Kolden
CC BY-SA 4.0
2018-09-24T20:23:55.360Z
As a belated explanation, now that I understand the confusion, it appears that everyone thought I was asking "Do mining pools centralize bitcoin?" But actually that seemed to me to be obviously true at the time so I only mentioned it to set the context of the actual question. Perhaps a better phrasing might have been "Given that pools centralize mining, do they make bitcoin less secure?"
Joshua Kolden
<mining-pools><security><decentralization>
Do mining pools centralize the Bitcoin network and make it less secure?
Joshua Kolden
# Do mining pools centralize the Bitcoin network and make it less secure?

(Asked by: username_0 on 2011-08-31)

A mining pool with a significant percentage of the hash rate could allow double spend attacks by the pool manager. There are a number of pools that approach this level. However, most people say that a compromised pool would be easily detected, and the attack would be insignificant.

However, isn't this issue not about a single pool but the combined centralizing effect of pools? A moderate-sized attacker could easily compromise more than a few pool managers with a rubber hose attack, or pose as legit pools for a while until they obtain nearly complete control of the block chain.

The attacker would be able to double spend a lot of bitcoins (that it generated for itself with its pools in the first place), and regardless of any monetary advantage it could destabilize and destroy confidence in bitcoin. Easily within the capabilities and motivations of a government. A well-planned attack could happen far quicker than anyone could notice and pull their miners from the pools.

**Tags:** mining-pools, security, decentralization

> **Comments:**
> **username_2**: It's a good topic, I also made multiple posts about the issue on forum, but it has to be Q&A format for StackExchange.  
> **username_0**: I'm at a loss how this question is not in a question & answer format.  I asked a clear short question and then explained the context of that question.  
> **username_2**: because someone would have to write a small book to answer that, the question is just too big for Q&A.  
> **username_3**: Its better to separate the question from the answer.  But feel free to answer your own question.  
> **username_0**: I'm not attempting to answer my own question. I'm really asking it.  It seems like people don't think this is an issue, and I want to understand why it isn't.  
> **username_1**: @MrJoshua The question is poorly constructed.  It is a useful topic but the question could be cleaned up to meet SE standards.  You shouldn't attempt to answer your own question in the body of the question.  Instead of saying "pools do x" = answer.  It should be phrased openended like "Do pools x?", "Could an attacker compromise multiple pools?", "How quickly could a 51% attack be executed".  Openended questions lead to increased debate and better answers.  Providing your own answer in guise of question without supporting information is less effective.  
> **username_0**: As a belated explanation, now that I understand the confusion, it appears that everyone thought I was asking "Do mining pools centralize bitcoin?" But actually that seemed to me to be obviously true at the time so I only mentioned it to set the context of the actual question. Perhaps a better phrasing might have been "Given that pools centralize mining, do they make bitcoin less secure?"  

---

## 2 answers

### Answer by username_4 on 2011-08-31. Score: 20 | Accepted answer

The short answer to your question is "yes".

Efforts are underway to develop schemes that allow pooled mining without the pool manager being able to control what transactions go into the pool's blocks, leaving that decision (as well as which chain to extend, so long as it is reasonable) to the individual miners. All the pool really needs is proof that the miner is mining for the pool.

> **Comments:**
> **username_0**: I voted up this answer, but it would help if you could site references.  I was under the impression that suggestions on doing this have been made, but that no one was actively working on it. (ostisably because no one feels this is a real threat, hence the original question so I could understand why people believe that.)  
> **username_6**: "Efforts are underway" - what about P2Pool? https://en.bitcoin.it/wiki/P2Pool  
> **username_4**: P2Pool is an example of one such effort.  
> **username_5**: Stratum V2 is another (current) example of such effort.  

---

### Answer by username_1 on 2011-10-20. Score: 14

Large pools with a significant fraction of total hashing power do represent an increased risk to the security of the Bitcoin network.

Pools by themselves are not necessarily a risk as a peer to peer network doesn't necessarily need to consist of invidiual users. A network of pools being the peers is also viable however the pools must be peers and there must be a sufficient number to make collusion between peers infeasible. **When one pool is 50x the size of average pool it has no peer.** One could encourage miners to support smaller and medium sized pools thus restoring the "peer" nature of the network however that is likely a futile effort. The problem is that large pools have an inherent advantage over smaller pools in the form of less reward variance which is a desirable attribute for miners. Due to this advantage there will always be a tendency for hashing power to aggregate.

**Realisticly we should accept that large even massive pools are an inevitability due to the high variance nature of Bitcoin hashing.** However the risk of large pools stems from the fact that miners are "dumb". By miners I am referring to the software not the person. Currently the pool server tells the miner what to hash and the miner blindly hashes it. If the pool is compromised or malicious it can tell the miner to hash "bad data" such as a forked blockchain, or double spend transaction. The current implementation of mining pools makes it impossible for a miner to ensure they are doing "good work" until after the fact. This is an important element because large pools aren't inherently a risk. What makes them a risk is the control they have over a large amount of hashing power.

Any reasonable mitigation must address that:

* Large pools are inevitable. Miners will seek out pools which minimize variance.
* The pool server is the weak link in an otherwise robust network due to denial of service, corruption, or compromise.
* The miner must be smart. It must decide for itself what to include in the block to ensure only "good work" is done.

p2pool (peer-to-peer pool) is one solution to this issue without the unrealistic goal of simply having no pools or only "small" pools. p2pool could someday have >51% of the network hashing power and it wouldn't represent a risk to the network. This is because each miner in the pool is working independently which makes subversion of the pool ineffective for the purposes of attacking the block chain.

**How p2pool creates a network of "smart" miners.**

p2pool creates a "share chain" where each miner submits shares to a parallel p2p network that records all the shares completed by the pool. Each miner independently includes transactions, sets up block headers, forwards other miner's transmissions for shares it hashes. When a block is found the reward is split fairly because in generating each block header the miner looks at last x shares in the "share chain" and setups the coinbase transaction to split reward based on work over the last x shares. IIRC x is currently set to roughly 1 day of work. So everytime a block is found each miner in the pool is rewarded equal to the % of shares accepted by the pool in the prior 24 hours.

<https://github.com/forrestv/p2pool>

<https://bitcointalk.org/index.php?topic=18313>

<https://en.bitcoin.it/wiki/P2Pool>


---

