<p>You're missing the main point: when a selfish miner finds a new block, he keeps it <strong>private</strong>, does not broadcast it to the network, and starts mining on top of that privately.</p>

<p>The rest of the network is still mining on a block that was actually already found, but not broadcast.</p>

<p>When the rest of the network finally finds this block, the selfish miner broadcasts his version, in an attempt to replace it. </p>

<p>By invalidating blocks this way a selfish miner is effectively wasting other people's cycles, and has a head start for winning the next block, because he started mining on it before the others.</p>

<p><strong>Edit</strong></p>

<p>Keep in mind that this practice is only successful if you're a large pool with around 25% of hashing power. Major pools of this size are closely watched and scrutinized by the entire community. Finding consecutive blocks in a row, for many times, is a strong indicator that the pool is practicing selfish mining. The community can therefore decide whether to leave the pools who are practicing this behavior.</p>

CC BY-SA 3.0
2014-03-21T09:24:23.523Z
I was initially convinced by that argument, the head start, as well. But after thinking about it for a long time, I realized that the head start doesn't really do any good, since the selfish miner *isn't mining any faster than before*. He is merely slowing down the overall hashrate. In any case, how do you refute my thought experiment?
Tony
CC BY-SA 3.0
2014-03-21T09:34:28.153Z
Just to clarify: Given a network difficulty and your hashrate, these two pieces of information are completely sufficient to determine the rate at which you mine, regardless of what other (honest) miners are doing. And you can't decrease difficulty (in the short term) or increase your hashrate (in a way that wouldn't just also allow you to mine more if you were honest).
Tony
CC BY-SA 3.0
2014-03-21T10:37:19.750Z
The math on the paper proves that overall selfish miners will win more blocks than honest ones. Fortunately however everybody can see who's mined what. So we can leave the pools who are practicing this behavior.
Luca Matteis
CC BY-SA 3.0
2014-03-21T10:49:17.083Z
Ah, that's a good point, and what I was looking for. I was treating the selfish miner as a single entity, and neglecting the fact that a pool owner can get people to move to their pool this way. Please add this to your answer, because it is the thing that I actually missed. I'll wait a few more days to see if there's something even more fundamental that works even if the selfish miner acts alone; if not I'll accept your answer.
Tony
CC BY-SA 3.0
2014-03-21T11:09:06.357Z
@LucaMatteis How do miners see which pools are mining selfishly?
oks
CC BY-SA 3.0
2014-03-21T11:57:26.143Z
Wait a minute - I think I misread your comment, Luca. You're saying people will move away from selfish pools, but what I got out of your comment was that selfish pools will gain more miners because people are acting in their own self-interest.
Tony
CC BY-SA 3.0
2014-03-21T13:38:07.890Z
The incentive for a miner is to join the pool that can provide a greater reward, and it's true that initially miners will be attracted to selfish pools because of this. But overall, to ensure the well-being of the Bitcoin ecosystem, miners will most likely be incentivized to actually leave these pools (even if they provide greater reward). In other words miners are more incentivized to have Bitcoin prosper, rather than it fall because of selfish-pools, because it's their main investment.
Luca Matteis
CC BY-SA 3.0
2014-03-21T20:52:47.613Z
But going back to the original topic, if the effect of miners leaving really is greater than the effect of miners joining, then it seems this doesn't explain how selfish mining benefits the selfish pool then.
Tony
CC BY-SA 3.0
2014-03-22T11:40:51.700Z
It doesn't benefit them. That's why no large pool is actually practicing this behavior.
Luca Matteis
CC BY-SA 3.0
2015-06-03T21:26:25.800Z
Where do you get the 25% figure? The Cornell paper says that it's effective at any pool size.
Nick ODell
CC BY-SA 3.0
2014-03-21T09:00:36.700Z
2014-03-21T11:38:03.987Z
2014-03-21T11:38:03.987Z
Luca Matteis
<p>Selfish mining is not related to the three factors you mentioned. </p>

<p>The basic idea is that a miner can do one of two things:</p>

<ul>
<li>Shift her mining efforts on top of any new legitimate block she hears about and broadcast to the network any block she finds as soon as she finds it</li>
<li>When she finds a block, instead of broadcasting it immediately, keep it to herself and attempt to mine on top of it and lengthen a <strong>private branch</strong> of the blockchain which she can later choose to broadcast opportunistically and collect the reward associated with the one (or more) blocks in her secret branch. </li>
</ul>

<p>The first strategy is the one <em>suggested</em> in Satoshi's paper. I'm calling this a <em>suggestion</em> because there is nothing forcing it in the software.</p>

<p>Surprisingly (perhaps) the second strategy can be shown to increase the chances of <strong>winning the next block</strong>, in some cases.</p>

<p>Certain types of <strong>double spend</strong> attacks as well as the selfish miner's strategy utilize this. For a more comprehensive analysis you can look at this paper <a href="http://arxiv.org/pdf/1402.4233v1.pdf" rel="nofollow">On the Phase Space of Block-Hiding Strategies in Bitcoin-like networks</a>.</p>

<p>The second strategy becomes beneficial only when the miner has a sizable hashing power (around 1/3) or is central enough to have many miners work on it's block in case of a tie with the rest of the network.</p>

<p>the TLDR is: <strong>centralization is bad</strong>. Once a miner becomes too big he can, in principle, abuse his power to get more than his relative share. </p>

CC BY-SA 3.0
2014-03-27T18:21:32.780Z
This does not resolve the issue presented by my thought experiment, however. If selfish mining is viable without those three factors, then either 1) a single miner with 1/3 of the hashrate will be able to mine more quickly if the other 2/3 of the miners dropped out, even without a difficulty change; or 2) the strategy of blocking everyone else from mining completely (which is equivalent to everyone else dropping out) is not at least as effective as any other possible strategy. Which is it?
Tony
CC BY-SA 3.0
2015-08-27T04:29:31.943Z
Hi Tony, I think I have an answer for you, but you are correct that neither of the two options you offered is the case.  It is not the rate at which the selfish miner gets solutions, but the portion of blocks he solves before the next difficulty change.  Before he has to release his replacement block, the time he spends mining increases his chances and also lowers the next difficulty (for him and everyone else).  Eventually, the difficulty will reflect his mining alone for a few seconds and everyone mining for the rest of the 10 minutes.  He'll continue solving more blocks than he deserves.
Dave Scotese
CC BY-SA 3.0
2014-03-27T06:57:07.377Z
2014-03-27T06:57:07.377Z
Assaf Shomer
<p>I think you have asked a good question, although it's value is only in getting people to think about these issues, and I don't like the wording.  The fact is that the three factors you identified for exclusion cannot be removed.  I discourage separating bad actions from their consequences in the mind.  It opens doors to bad places.</p>

<p>The first question in your paragraph has the seeds of a measurement problem.  You start out measuring the ratio of blocks solved by the selfish miner, but eventually you get to the rate at which he solves blocks.  Pick one.</p>

<p>He does solve a higher ratio of blocks, but since he is mining alone for some of that time, it takes longer, so on the ratio metric, he has the advantage.  On the metric of solution rate, he does not have an advantage, at least not until his "sadism" as you called it affects the difficulty, which you excluded.</p>

<p>Lastly, I would like to discourage a certain kind of thinking that your question demonstrates.  I doubt you did this on purpose (school tends to bend us towards it), but I will ask a question in the same way:</p>

<p>Does rape cause any problems in the absence of psychological effects, pregnancy, and injury?</p>

<p>Perhaps your goal was not to suggest that selfish mining can be acceptable behavior, but to zero in on the effects that make it unacceptable.  For the purpose of further illustration, I propose that you ask it this way next time: What effects of rape are problematic aside from psychological effects, pregnancy, and injury?  Or, for your question, "What advantages does selfish mining offer other than more transaction fees, a lower difficulty, and the increase in price from a choked supply?"</p>

<p>By the way, it was in answering my own more-recently asked question, "<a href="https://bitcoin.stackexchange.com/questions/39226/can-bitcoin-days-destroyed-be-a-better-resolution-mechanism-for-competing-blocks">Can Bitcoin Days Destroyed be a better resolution mechanism for competing blocks?</a>" that I came back to this one to offer my answer.</p>

CC BY-SA 3.0
2015-08-27T04:48:51.100Z
2015-08-27T04:48:51.100Z
2017-04-13T12:47:33.660Z
Dave Scotese
<p>I am reading the Cornell <a href="http://arxiv.org/pdf/1311.0243v1.pdf" rel="nofollow">selfish mining paper</a>. In it, their main argument is that a selfish miner can increase the ratio of the blocks he mines relative to the honest miners. I do not dispute this. However, to my understanding, merely denying others their blocks does not help you; just because everyone else is getting fewer blocks doesn't mean you're getting more. (That is, everyone mining normally would be expected to get a certain rate, but if you suppress some of those blocks, then the total rate goes down. So denying others their blocks is not zero-sum; just because everyone else's rate goes down does not imply that your rate goes up.)</p>

<p>Here's a simpler explanation of my confusion. Consider this thought experiment. Let's say 2/3 of the miners suddenly quit mining, leaving it all to a miner who has 1/3 of the hashrate. We can all agree that this miner is at least as well off as a miner conducting a selfish miner attack. (The reason for this is very simple: he could just replicate the exact same strategy used by the selfish miner, except that the honest miners now have no chance of finding a block in this thought experiment.) Nonetheless, they can only mine at a rate of 1 block per 30 minutes, at least until the next difficulty readjustment.</p>

<p>So unless you're a sadist who just wants to make everyone else worse off, it seems that selfish mining gives no advantage, unless we consider at least one of these three factors:</p>

<ol>
<li>Transaction fees. If you mine at the same rate and cause everyone else to mine at a lower rate (because a lot of their blocks get rejected), you are still finding blocks at the same time intervals on average, but since each block takes longer in general to find, it will include more transactions and thus more transaction fees.</li>
<li>Difficulty changes. If the difficulty readjustment occurs as you're performing selfish mining, then of course decreasing everyone else's share of the pie increases yours.</li>
<li>Economic effects. With fewer bitcoins being mined, all else being equal, a decrease in supply causes an increase in price. So the bitcoins you mine are more valuable.</li>
</ol>

<p>Am I correct in concluding that without these three effects, there is no selfish mining attack? If so, then selfish mining is not a problem in practice, at least for now. Transaction fees are minuscule compared to the block reward, difficulty retargets are infrequent, and the amount mined each day isn't really that significant compared to the total number of coins in circulation.</p>

CC BY-SA 3.0
2014-03-21T12:45:26.887Z
The key word is "for now": the paper concentrates on the long term effects of the attack, in which case points 2 and 3 certainly cannot be ignored.
Nate Eldredge
CC BY-SA 3.0
2014-03-21T20:54:02.847Z
I am aware. :) I just wanted to see if there was something more fundamental that I missed while reading the paper.
Tony
<academic-research><selfish-mining>
Does selfish mining actually give an advantage in the absence of transaction fees, difficulty changes, and economic effects?
Tony
# Does selfish mining actually give an advantage in the absence of transaction fees, difficulty changes, and economic effects?

(Asked by: username_0 on 2014-03-21)

I am reading the Cornell [selfish mining paper](http://arxiv.org/pdf/1311.0243v1.pdf). In it, their main argument is that a selfish miner can increase the ratio of the blocks he mines relative to the honest miners. I do not dispute this. However, to my understanding, merely denying others their blocks does not help you; just because everyone else is getting fewer blocks doesn't mean you're getting more. (That is, everyone mining normally would be expected to get a certain rate, but if you suppress some of those blocks, then the total rate goes down. So denying others their blocks is not zero-sum; just because everyone else's rate goes down does not imply that your rate goes up.)

Here's a simpler explanation of my confusion. Consider this thought experiment. Let's say 2/3 of the miners suddenly quit mining, leaving it all to a miner who has 1/3 of the hashrate. We can all agree that this miner is at least as well off as a miner conducting a selfish miner attack. (The reason for this is very simple: he could just replicate the exact same strategy used by the selfish miner, except that the honest miners now have no chance of finding a block in this thought experiment.) Nonetheless, they can only mine at a rate of 1 block per 30 minutes, at least until the next difficulty readjustment.

So unless you're a sadist who just wants to make everyone else worse off, it seems that selfish mining gives no advantage, unless we consider at least one of these three factors:

1. Transaction fees. If you mine at the same rate and cause everyone else to mine at a lower rate (because a lot of their blocks get rejected), you are still finding blocks at the same time intervals on average, but since each block takes longer in general to find, it will include more transactions and thus more transaction fees.
2. Difficulty changes. If the difficulty readjustment occurs as you're performing selfish mining, then of course decreasing everyone else's share of the pie increases yours.
3. Economic effects. With fewer bitcoins being mined, all else being equal, a decrease in supply causes an increase in price. So the bitcoins you mine are more valuable.

Am I correct in concluding that without these three effects, there is no selfish mining attack? If so, then selfish mining is not a problem in practice, at least for now. Transaction fees are minuscule compared to the block reward, difficulty retargets are infrequent, and the amount mined each day isn't really that significant compared to the total number of coins in circulation.

**Tags:** academic-research, selfish-mining

> **Comments:**
> **username_1**: The key word is "for now": the paper concentrates on the long term effects of the attack, in which case points 2 and 3 certainly cannot be ignored.  
> **username_0**: I am aware. :) I just wanted to see if there was something more fundamental that I missed while reading the paper.  

---

## 3 answers

### Answer by username_2 on 2014-03-21. Score: 7

You're missing the main point: when a selfish miner finds a new block, he keeps it **private**, does not broadcast it to the network, and starts mining on top of that privately.

The rest of the network is still mining on a block that was actually already found, but not broadcast.

When the rest of the network finally finds this block, the selfish miner broadcasts his version, in an attempt to replace it.

By invalidating blocks this way a selfish miner is effectively wasting other people's cycles, and has a head start for winning the next block, because he started mining on it before the others.

**Edit**

Keep in mind that this practice is only successful if you're a large pool with around 25% of hashing power. Major pools of this size are closely watched and scrutinized by the entire community. Finding consecutive blocks in a row, for many times, is a strong indicator that the pool is practicing selfish mining. The community can therefore decide whether to leave the pools who are practicing this behavior.

> **Comments:**
> **username_0**: I was initially convinced by that argument, the head start, as well. But after thinking about it for a long time, I realized that the head start doesn't really do any good, since the selfish miner *isn't mining any faster than before*. He is merely slowing down the overall hashrate. In any case, how do you refute my thought experiment?  
> **username_0**: Just to clarify: Given a network difficulty and your hashrate, these two pieces of information are completely sufficient to determine the rate at which you mine, regardless of what other (honest) miners are doing. And you can't decrease difficulty (in the short term) or increase your hashrate (in a way that wouldn't just also allow you to mine more if you were honest).  
> **username_2**: The math on the paper proves that overall selfish miners will win more blocks than honest ones. Fortunately however everybody can see who's mined what. So we can leave the pools who are practicing this behavior.  
> **username_0**: Ah, that's a good point, and what I was looking for. I was treating the selfish miner as a single entity, and neglecting the fact that a pool owner can get people to move to their pool this way. Please add this to your answer, because it is the thing that I actually missed. I'll wait a few more days to see if there's something even more fundamental that works even if the selfish miner acts alone; if not I'll accept your answer.  
> **username_3**: @username_2 How do miners see which pools are mining selfishly?  
> **username_0**: Wait a minute - I think I misread your comment, username_2. You're saying people will move away from selfish pools, but what I got out of your comment was that selfish pools will gain more miners because people are acting in their own self-interest.  
> **username_2**: The incentive for a miner is to join the pool that can provide a greater reward, and it's true that initially miners will be attracted to selfish pools because of this. But overall, to ensure the well-being of the Bitcoin ecosystem, miners will most likely be incentivized to actually leave these pools (even if they provide greater reward). In other words miners are more incentivized to have Bitcoin prosper, rather than it fall because of selfish-pools, because it's their main investment.  
> **username_0**: But going back to the original topic, if the effect of miners leaving really is greater than the effect of miners joining, then it seems this doesn't explain how selfish mining benefits the selfish pool then.  
> **username_2**: It doesn't benefit them. That's why no large pool is actually practicing this behavior.  
> **username_4**: Where do you get the 25% figure? The Cornell paper says that it's effective at any pool size.  

---

### Answer by username_5 on 2014-03-27. Score: 1

Selfish mining is not related to the three factors you mentioned.

The basic idea is that a miner can do one of two things:

* Shift her mining efforts on top of any new legitimate block she hears about and broadcast to the network any block she finds as soon as she finds it
* When she finds a block, instead of broadcasting it immediately, keep it to herself and attempt to mine on top of it and lengthen a **private branch** of the blockchain which she can later choose to broadcast opportunistically and collect the reward associated with the one (or more) blocks in her secret branch.

The first strategy is the one *suggested* in Satoshi's paper. I'm calling this a *suggestion* because there is nothing forcing it in the software.

Surprisingly (perhaps) the second strategy can be shown to increase the chances of **winning the next block**, in some cases.

Certain types of **double spend** attacks as well as the selfish miner's strategy utilize this. For a more comprehensive analysis you can look at this paper [On the Phase Space of Block-Hiding Strategies in Bitcoin-like networks](http://arxiv.org/pdf/1402.4233v1.pdf).

The second strategy becomes beneficial only when the miner has a sizable hashing power (around 1/3) or is central enough to have many miners work on it's block in case of a tie with the rest of the network.

the TLDR is: **centralization is bad**. Once a miner becomes too big he can, in principle, abuse his power to get more than his relative share.

> **Comments:**
> **username_0**: This does not resolve the issue presented by my thought experiment, however. If selfish mining is viable without those three factors, then either 1) a single miner with 1/3 of the hashrate will be able to mine more quickly if the other 2/3 of the miners dropped out, even without a difficulty change; or 2) the strategy of blocking everyone else from mining completely (which is equivalent to everyone else dropping out) is not at least as effective as any other possible strategy. Which is it?  
> **username_6**: Hi username_0, I think I have an answer for you, but you are correct that neither of the two options you offered is the case.  It is not the rate at which the selfish miner gets solutions, but the portion of blocks he solves before the next difficulty change.  Before he has to release his replacement block, the time he spends mining increases his chances and also lowers the next difficulty (for him and everyone else).  Eventually, the difficulty will reflect his mining alone for a few seconds and everyone mining for the rest of the 10 minutes.  He'll continue solving more blocks than he deserves.  

---

### Answer by username_6 on 2015-08-27. Score: 0

I think you have asked a good question, although it's value is only in getting people to think about these issues, and I don't like the wording. The fact is that the three factors you identified for exclusion cannot be removed. I discourage separating bad actions from their consequences in the mind. It opens doors to bad places.

The first question in your paragraph has the seeds of a measurement problem. You start out measuring the ratio of blocks solved by the selfish miner, but eventually you get to the rate at which he solves blocks. Pick one.

He does solve a higher ratio of blocks, but since he is mining alone for some of that time, it takes longer, so on the ratio metric, he has the advantage. On the metric of solution rate, he does not have an advantage, at least not until his "sadism" as you called it affects the difficulty, which you excluded.

Lastly, I would like to discourage a certain kind of thinking that your question demonstrates. I doubt you did this on purpose (school tends to bend us towards it), but I will ask a question in the same way:

Does rape cause any problems in the absence of psychological effects, pregnancy, and injury?

Perhaps your goal was not to suggest that selfish mining can be acceptable behavior, but to zero in on the effects that make it unacceptable. For the purpose of further illustration, I propose that you ask it this way next time: What effects of rape are problematic aside from psychological effects, pregnancy, and injury? Or, for your question, "What advantages does selfish mining offer other than more transaction fees, a lower difficulty, and the increase in price from a choked supply?"

By the way, it was in answering my own more-recently asked question, "[Can Bitcoin Days Destroyed be a better resolution mechanism for competing blocks?](https://bitcoin.stackexchange.com/questions/39226/can-bitcoin-days-destroyed-be-a-better-resolution-mechanism-for-competing-blocks)" that I came back to this one to offer my answer.


---

