<p>Here is an additional answer about what you can do if you control <strong>all</strong> fully validating nodes (but not necessarily all nodes that don't validate):</p>

<p><em>Anything</em></p>

<p>Bitcoin's security rests on auditing by full nodes. It is directly what prevents them from accepting fraudulent payments, and indirectly what makes it uneconomical for miners to produce invalid blocks (which in turn could be used to defraud non-validating clients).</p>

<p>If you have control over all fully validating nodes, you can effectively set the protocol rules at will. Including but not limited to theft and printing money out of thin air (beyond what the subsidy schedule currently permits).</p>

CC BY-SA 3.0
2017-10-26T19:27:28.780Z
how does the "printing money out of thin air" work? (Assuming the attacker gets to control all full nodes for 5 yrs.)
Pacerier
CC BY-SA 3.0
2017-11-13T06:14:08.817Z
By creating a transaction that prints money out of thin air, and modifying all his nodes to accept it. As full nodes are the only ones that can validate, nobody else would even notice.
Pieter Wuille
CC BY-SA 3.0
2017-10-26T09:43:06.557Z
2017-10-26T09:43:06.557Z
Pieter Wuille
<p>During the moment of control, they can do at least the following:</p>

<ol>
<li><p>relay transactions selectively.
this means they can choose to not relay transactions which are valid and therefor censor users of the network.</p></li>
<li><p>relay blocks selectively.
this means they can choose not to relay valid blocks by miners, as well as choose to relay invalid blocks, or blocks containing invalid transactions. it allows them to deny new nodes the current blockchain and the history it carries, and could even supply new nodes with an entirely different chain.</p></li>
</ol>

<p>if 100% of all full nodes and all non-node storage of the current chain is lost, then they effectively control the current chains history.</p>

<p>however, since bitcoin is open to participation and holds decentralization as one of its core values, it is practically impossible to gain control of 100% of the nodes without new participants entering the network.</p>

<p>if less than 100% of the full nodes or all non-node storage of the current chain is compromised, the netwok can revert back to its last non-compromised state as new participants set up new, uncompromised, nodes.</p>

<p>attacking the network by controlling the nodes and taking actions that hurt users would also lower the utility of the network and that would lower the value of the tokens on the network, so it might not be economically feasable to do in the first place.</p>

CC BY-SA 3.0
2017-10-26T19:25:59.497Z
Re "without new participants", but there aren't many full nodes in the world. The cost is prohibitive, and will get even more so as time passes.
Pacerier
CC BY-SA 3.0
2017-10-26T19:30:22.123Z
there is thousands of full nodes online right now, and as far as I know, computer hardware has so far gotten cheaper faster than cost of a full node has gone up.
Jonathan Silverblood
CC BY-SA 3.0
2017-10-26T18:58:24.457Z
2017-10-26T18:58:24.457Z
Jonathan Silverblood
<p>Assuming that you have majority control of full nodes and no control of mining. Here are few attacks that can be done:</p>

<ul>
<li><p>Double spend even after confirmation: Don't relay the blocks that build upon the block (in which you spent coins). Instead relay any other forks on the blockchain to make them the longest chain</p></li>
<li><p>Fool <a href="https://en.bitcoin.it/wiki/Scalability#Simplified_payment_verification" rel="nofollow noreferrer">SPV clients</a>: SPV clients like electrum, multibit connect to full node for information. You can send them fraudulent transactions/chain by building headers on very less difficultly level</p></li>
<li><p>Force miners/users to pay you: Relay only those blocks/transactions that send your address some bitcoins. Non paying blocks/tx will be delayed through the network or will be orphaned. People wanting fast transactions will be forced pay you a <em>bribe</em> </p></li>
</ul>

CC BY-SA 3.0
2017-10-26T09:30:54.287Z
2017-10-26T09:30:54.287Z
dark knight
<blockquote>
  <p>What can an attacker who controls majority or all of the full nodes
  do?</p>
</blockquote>

<p>TL;DR Nothing dangerous.</p>

CC BY-SA 3.0
2017-10-25T15:12:29.193Z
1) Eclipse attack
MCCCS
CC BY-SA 3.0
2017-10-25T17:25:39.803Z
Can you please share more info eclipse attack? @MCCCS
sanket1729
CC BY-SA 3.0
2017-10-25T14:38:27.527Z
2017-10-25T14:38:27.527Z
amaclin
<p>What happens when a strong attacker has control of majority or <strong>all</strong> of the full nodes?  </p>

<p>What damage can he do and would they be reversible?</p>

CC BY-SA 3.0
2017-10-25T15:31:18.487Z
***"Completely Vulnerable"*** is a pretty bold statement.  Do you think full nodes could re-write old transactions? forge transactions?  replay previous transactions? Create new money?  You should clarify your idea of *completely vulnerable*
abelenky
CC BY-SA 3.0
2017-10-25T16:14:00.010Z
@abelenky, Right.. I've replaced "completely vulnerable" to "vulnerable".
Pacerier
CC BY-SA 3.0
2017-10-25T17:10:47.023Z
Just full nodes, no mining power?
sr_gi
<security><attack><future-proof>
What can an attacker who controls majority or all of the full nodes do?
Pacerier
# What can an attacker who controls majority or all of the full nodes do?

(Asked by: username_0 on 2017-10-25)

What happens when a strong attacker has control of majority or **all** of the full nodes?

What damage can he do and would they be reversible?

**Tags:** security, attack, future-proof

> **Comments:**
> **username_1**: ***"Completely Vulnerable"*** is a pretty bold statement.  Do you think full nodes could re-write old transactions? forge transactions?  replay previous transactions? Create new money?  You should clarify your idea of *completely vulnerable*  
> **username_0**: @username_1, Right.. I've replaced "completely vulnerable" to "vulnerable".  
> **username_2**: Just full nodes, no mining power?  

---

## 4 answers

### Answer by username_3 on 2017-10-26. Score: 2

Here is an additional answer about what you can do if you control **all** fully validating nodes (but not necessarily all nodes that don't validate):

*Anything*

Bitcoin's security rests on auditing by full nodes. It is directly what prevents them from accepting fraudulent payments, and indirectly what makes it uneconomical for miners to produce invalid blocks (which in turn could be used to defraud non-validating clients).

If you have control over all fully validating nodes, you can effectively set the protocol rules at will. Including but not limited to theft and printing money out of thin air (beyond what the subsidy schedule currently permits).

> **Comments:**
> **username_0**: how does the "printing money out of thin air" work? (Assuming the attacker gets to control all full nodes for 5 yrs.)  
> **username_3**: By creating a transaction that prints money out of thin air, and modifying all his nodes to accept it. As full nodes are the only ones that can validate, nobody else would even notice.  

---

### Answer by username_4 on 2017-10-26. Score: 1

During the moment of control, they can do at least the following:

1. relay transactions selectively.
   this means they can choose to not relay transactions which are valid and therefor censor users of the network.
2. relay blocks selectively.
   this means they can choose not to relay valid blocks by miners, as well as choose to relay invalid blocks, or blocks containing invalid transactions. it allows them to deny new nodes the current blockchain and the history it carries, and could even supply new nodes with an entirely different chain.

if 100% of all full nodes and all non-node storage of the current chain is lost, then they effectively control the current chains history.

however, since bitcoin is open to participation and holds decentralization as one of its core values, it is practically impossible to gain control of 100% of the nodes without new participants entering the network.

if less than 100% of the full nodes or all non-node storage of the current chain is compromised, the netwok can revert back to its last non-compromised state as new participants set up new, uncompromised, nodes.

attacking the network by controlling the nodes and taking actions that hurt users would also lower the utility of the network and that would lower the value of the tokens on the network, so it might not be economically feasable to do in the first place.

> **Comments:**
> **username_0**: Re "without new participants", but there aren't many full nodes in the world. The cost is prohibitive, and will get even more so as time passes.  
> **username_4**: there is thousands of full nodes online right now, and as far as I know, computer hardware has so far gotten cheaper faster than cost of a full node has gone up.  

---

### Answer by username_5 on 2017-10-26. Score: 1

Assuming that you have majority control of full nodes and no control of mining. Here are few attacks that can be done:

* Double spend even after confirmation: Don't relay the blocks that build upon the block (in which you spent coins). Instead relay any other forks on the blockchain to make them the longest chain
* Fool [SPV clients](https://en.bitcoin.it/wiki/Scalability#Simplified_payment_verification): SPV clients like electrum, multibit connect to full node for information. You can send them fraudulent transactions/chain by building headers on very less difficultly level
* Force miners/users to pay you: Relay only those blocks/transactions that send your address some bitcoins. Non paying blocks/tx will be delayed through the network or will be orphaned. People wanting fast transactions will be forced pay you a *bribe*


---

### Answer by username_6 on 2017-10-25. Score: -2

> What can an attacker who controls majority or all of the full nodes
> do?

TL;DR Nothing dangerous.

> **Comments:**
> **username_7**: 1) Eclipse attack  
> **username_8**: Can you please share more info eclipse attack? @username_7  

---

