<p>This will generally not work, because as you said, if an honest node receives the block, it will propagate it to all of its peers, who will do the same, and so on. </p>

<p>Even if the attacker controls a large number of nodes on the network, he/she will have to ban every honest node to have a guarantee of them not receiving the block. If that is done, the attack is basically operating on their own fork of the chain.</p>

<p>The fork may very well be valid, and if broadcasted to the rest of the network later on with more work, it will become the canonical chain. Such attacks of withholding and then broadcasting have been used in the past, usually as part of a double spend attack (like on the Bitcoin Gold chain recently).</p>

<p>If you want to prevent broadcast to a subset of honest nodes, but still broadcast to some honest nodes, you would likely have to use techniques such as <a href="https://btc-hijack.ethz.ch/" rel="nofollow noreferrer">BGP rerouting</a>. In short, an attacker reroutes BGP such that two different real world networks cannot communicate. This results in all nodes in each network failing to talk to all nodes in the other one, regardless of if they are honest or not. This will then result in a chain split, since each section of the network will continue functioning as if it is the only version of the network.</p>

CC BY-SA 4.0
2018-07-26T21:11:59.883Z
Thank you, just i think your sentence: "`on their own fork of the`" is not complete. Thanks
Questioner
CC BY-SA 4.0
2018-07-26T21:54:37.420Z
Thank you, And do you mean even using `BGP rerouting` attacker is not able to withhold the block only for a subset of network? Thanks
Questioner
CC BY-SA 4.0
2018-07-26T22:19:58.197Z
You could theoretically perform a BGP routing attack that can cut off specific nodes from the network, in which case you would effectively withhold the block, at least until BGP is fixed.
Raghav Sood
CC BY-SA 4.0
2018-07-26T22:22:42.817Z
Thank you, exactly my question is that "why theoretically" ? and why not "in practice" ? Thanks
Questioner
CC BY-SA 4.0
2018-07-26T22:56:37.780Z
BGP rerouting at that scale for any significant amount of time is not practical, you will be detected and shut down.
Raghav Sood
CC BY-SA 4.0
2018-07-26T20:36:51.033Z
2018-07-26T21:25:45.383Z
2018-07-26T21:25:45.383Z
Raghav Sood
<p>Consider in a <a href="https://arxiv.org/abs/1311.0243" rel="nofollow noreferrer">block-withholding attack (aka selfish mining attack)</a>, attacker after creating a new block decides to broadcast this new block only to a fraction of network, such that eventually only a part of nodes will receive this new block and the rest of network will not receive it. </p>

<p>In my opinion, it will not be possible, because when attacker sends new block to one or some of host nodes, they eventually broadcast this block to whole of network, meaning that eventually all honest nodes will receive this new block. Am I right? or this attacker is able to prevent a fraction of honest nodes from receiving this new block?</p>

<bitcoin-core><security><attack><selfish-mining><spread>
Possibility of broadcasting new block to only a fraction of honest nodes?
Questioner
# Possibility of broadcasting new block to only a fraction of honest nodes?

(Asked by: username_0 on 2018-07-26)

Consider in a [block-withholding attack (aka selfish mining attack)](https://arxiv.org/abs/1311.0243), attacker after creating a new block decides to broadcast this new block only to a fraction of network, such that eventually only a part of nodes will receive this new block and the rest of network will not receive it.

In my opinion, it will not be possible, because when attacker sends new block to one or some of host nodes, they eventually broadcast this block to whole of network, meaning that eventually all honest nodes will receive this new block. Am I right? or this attacker is able to prevent a fraction of honest nodes from receiving this new block?

**Tags:** bitcoin-core, security, attack, selfish-mining, spread


---

## 1 answers

### Answer by username_1 on 2018-07-26. Score: 1 | Accepted answer

This will generally not work, because as you said, if an honest node receives the block, it will propagate it to all of its peers, who will do the same, and so on.

Even if the attacker controls a large number of nodes on the network, he/she will have to ban every honest node to have a guarantee of them not receiving the block. If that is done, the attack is basically operating on their own fork of the chain.

The fork may very well be valid, and if broadcasted to the rest of the network later on with more work, it will become the canonical chain. Such attacks of withholding and then broadcasting have been used in the past, usually as part of a double spend attack (like on the Bitcoin Gold chain recently).

If you want to prevent broadcast to a subset of honest nodes, but still broadcast to some honest nodes, you would likely have to use techniques such as [BGP rerouting](https://btc-hijack.ethz.ch/). In short, an attacker reroutes BGP such that two different real world networks cannot communicate. This results in all nodes in each network failing to talk to all nodes in the other one, regardless of if they are honest or not. This will then result in a chain split, since each section of the network will continue functioning as if it is the only version of the network.

> **Comments:**
> **username_0**: Thank you, just i think your sentence: "`on their own fork of the`" is not complete. Thanks  
> **username_0**: Thank you, And do you mean even using `BGP rerouting` attacker is not able to withhold the block only for a subset of network? Thanks  
> **username_1**: You could theoretically perform a BGP routing attack that can cut off specific nodes from the network, in which case you would effectively withhold the block, at least until BGP is fixed.  
> **username_0**: Thank you, exactly my question is that "why theoretically" ? and why not "in practice" ? Thanks  
> **username_1**: BGP rerouting at that scale for any significant amount of time is not practical, you will be detected and shut down.  

---

