<p>Both involve not instantly publishing a solution to a block (or at all), but that's where the similarities end. The descriptions given in the question are correct and describe the very different outcomes of both behaviours. A person claiming that these terms are synonymous is likely just mistaken by the names being somewhat close.</p>

CC BY-SA 4.0
2021-11-26T22:06:13.047Z
I've seen the term "block withholding" used for both the "large miner/pool intentionally slows down block propagation" and "hasher doesn't reveal full solution to pool" attacks, while "selfish mining" strictly refers to the former.
Pieter Wuille
CC BY-SA 4.0
2021-11-26T22:01:15.927Z
2021-11-26T22:01:15.927Z
Claris
<p>I found contradicting information about these two attacks.</p>
<p>My understanding is roughly this:</p>
<ul>
<li>Selfish mining is a strategy followed by a miner/pool, in which it doesn't publish new blocks in order to obtain a secret fork which is longer than the main one; at some point the secret fork is published, overwriting the honest fork. This way, the selfish miner/pool obtain more rewards than their share and waste the mining power of other miners/pools</li>
<li>Block withholding is a strategy followed by a miner inside a mining pool, in which it conceals full proofs to the pool administrator in order to decrease the pool revenue.</li>
</ul>
<p>According to this definition, these attacks are similar in their strategy, but fundamentally different in their actors and goals.
However, I found several sources claiming that selfish mining and block withholding are synonyms.</p>
<p>So, what's the truth?
Are these attacks the same?
If not what are the main differences?</p>

<selfish-mining><block-withholding>
What is the difference between Selfish Mining and Block Withholding attacks?
FedFranz
# What is the difference between Selfish Mining and Block Withholding attacks?

(Asked by: username_0 on 2021-11-26)

I found contradicting information about these two attacks.

My understanding is roughly this:

* Selfish mining is a strategy followed by a miner/pool, in which it doesn't publish new blocks in order to obtain a secret fork which is longer than the main one; at some point the secret fork is published, overwriting the honest fork. This way, the selfish miner/pool obtain more rewards than their share and waste the mining power of other miners/pools
* Block withholding is a strategy followed by a miner inside a mining pool, in which it conceals full proofs to the pool administrator in order to decrease the pool revenue.

According to this definition, these attacks are similar in their strategy, but fundamentally different in their actors and goals.
However, I found several sources claiming that selfish mining and block withholding are synonyms.

So, what's the truth?
Are these attacks the same?
If not what are the main differences?

**Tags:** selfish-mining, block-withholding


---

## 1 answers

### Answer by username_1 on 2021-11-26. Score: 1 | Accepted answer

Both involve not instantly publishing a solution to a block (or at all), but that's where the similarities end. The descriptions given in the question are correct and describe the very different outcomes of both behaviours. A person claiming that these terms are synonymous is likely just mistaken by the names being somewhat close.

> **Comments:**
> **username_2**: I've seen the term "block withholding" used for both the "large miner/pool intentionally slows down block propagation" and "hasher doesn't reveal full solution to pool" attacks, while "selfish mining" strictly refers to the former.  

---

