<p>May I add the following:</p>

<p><strong>An additional full-node does not automatically equal more Security</strong></p>

<p>Full-nodes may validate, but if they are not validating transactions received by the node operator, they do not offer any security, in fact, they decrease it by adding latency to the network.</p>

<p><strong>Only a full-node validating transactions received by a person who is offering economic value (Goods/Services etc.) in return for the received Bitcoin is securing the system</strong>, as he/she is part of the "economic majority" who is <em>actively</em> deciding which definition of Bitcoin is "worth" trading value for. This person has the power to reject trade (Bitcoin for Value) with his/her full-node, and therefore is protecting/enforcing the validation rules agreed upon by the economic majority (the group of people who are in agreement (consensus) what "Bitcoin definition" to trade for economic value.</p>

<p>So it is important to note that simply adding nodes to the network, without actively using them to validate incoming transactions, (for which you paid for with goods, services) is not a system-securing act and therefore meaningless.</p>

CC BY-SA 4.0
2018-11-29T20:05:36.453Z
2018-11-29T22:14:33.677Z
2018-11-29T22:14:33.677Z
James C.
<p>When Bitcoin was released, nodes and miners were the same thing, a computer which:</p>

<ul>
<li>validates and relays transactions</li>
<li>validates, mines, and relays blocks. 
See <a href="https://bitcoin.org/bitcoin.pdf" rel="nofollow noreferrer">Bitcoin Whitepaper</a>.</li>
</ul>

<p>When mining started being done on GPUs and eventually ASICs, it was run on separate hardware than the nodes. This is because the mining hardware was designed to be good at only 1 of the things listed above, mining. They perform trillions of hashes per second until a solution is found.</p>

<p>Nodes perform all of the transaction and block validation as well as relaying that information to other nodes on the network. Generally speaking, miners receive the information necessary to mine from a node, and then submits its work back to the node to be validated.</p>

<blockquote>
  <p>Can non mining full nodes prevent 51% attack? Does it actually
  strengthen the network? I am confused of its real purpose</p>
</blockquote>

<p>Not without a miner, because the 51% attack refers to the hashpower or the amount of work the miners are able to do. Nodes just validate, store, and relay the blocks, but they cannot create new blocks without a miner to generate the proof of work.</p>

CC BY-SA 4.0
2018-11-28T15:21:56.230Z
2018-11-28T15:21:56.230Z
JBaczuk
<blockquote>
  <p>So what is the role of non-mining full nodes then?</p>
</blockquote>

<p>Relaying valid transactions. Keeping blockchain for others. Serving light clients. Nothing more.</p>

CC BY-SA 4.0
2018-11-28T22:26:19.193Z
... relaying valid blocks, allowing users to validate the network state independently, allowing users to interact with higher level layers (eg LN) trustlessly...
chytrik
CC BY-SA 4.0
2018-11-28T15:14:48.077Z
2018-11-28T15:14:48.077Z
amaclin
<p>Non-mining full nodes cannot prevent a 51% attack, but they are essential in preventing other attacks.</p>

<p>In particular, full nodes verify that the chain produced by miners is <em>valid</em>. This means that  no coins are transferred without proper authorization from their owner, that no new coins are being created out of thin air (except for those permitted by the inflation schedule), and a few other things.</p>

<p><strong>Full nodes are what keeps miners honest.</strong> To anyone who verifies incoming transactions themselves using a full node ("economically relevant full node"), it guarantees that the chain is valid. Miners have no way to cheat those (apart from a 51% attack, see further), and as a result, they have no incentive to produce blocks that violate the rules, as such blocks will be dropped on the floor and ignored by full nodes. To anyone not running a node themselves, the knowledge that a sufficient number of other independent parties are running full nodes helps, because hopefully those parties are important enough that miners wouldn't want to waste their money creating an invalid block they would detect.</p>

<p>Bitcoin's security is based on auditability, not trust. You know the chain, in its entirety, is valid, because you're able to independently verify that it is.</p>

<p>Unfortunately, there is no way to verify which of two conflicting (but otherwise valid) transactions is the "real" one without a central clearinghouse that blesses one of the two. This is called the double spending problem, and it is the reason why we need miners: a decentralized clearinghouse that anyone with the right hardware, even anonymously, can join. Producing blocks costs money for them, and they're only paid if the network of full nodes accept their blocks. This is why they're incentivized (but not forced) to produce blocks that satisfy the rules, and build on top of each other's blocks.</p>

<p>But it is important to see that the 51% attack is the exception here. For almost every rule in Bitcoin, full nodes verify everything, and there is <em>no</em> way they can be fooled. The only thing that cannot be verified independently is double spends, which leads to a 51% attack if exploited (but the theory is that this would be expensive for miners so not economical; furthermore, if miners aren't doing their job well, others are incentivized to become a miner themselves).</p>

CC BY-SA 4.0
2018-11-29T02:16:36.103Z
Thanks for this detailed answer. Most answers I found simply says "miners keep the network secure but full nodes enforce the rules..." that statement alone confuses the hell out of me...
Rosdi Kasim
CC BY-SA 4.0
2018-11-28T18:03:02.340Z
2018-11-29T02:41:06.937Z
2018-11-29T02:41:06.937Z
Pieter Wuille
<p>From what I understand, miners secure the bitcoin network by making it very-very expensive to do a 51% attack or double spend bitcoins through the sheer amount of hash power needed to overwhelm the network.</p>

<p>That implies, if the hash power happens to be very low (for whatever reason), an entity could theoretically mount this attack and thus reverse transactions or double spend the coins.</p>

<p>So what is the role of non-mining full nodes then? Does not seems to serve any real purpose to me?</p>

CC BY-SA 4.0
2018-11-28T14:19:24.737Z
Possible duplicate of [What is the difference between a miner and a full node?](https://bitcoin.stackexchange.com/questions/59220/what-is-the-difference-between-a-miner-and-a-full-node)
JBaczuk
CC BY-SA 4.0
2018-11-28T15:10:37.543Z
@JBaczuk None of the answers there answers my question. Title edited to avoid being labelled 'duplicate'
Rosdi Kasim
<full-node>
Can non mining full nodes prevent 51% attack? Does it actually strengthen the network? I am confused of its real purpose
Rosdi Kasim
# Can non mining full nodes prevent 51% attack? Does it actually strengthen the network? I am confused of its real purpose

(Asked by: username_0 on 2018-11-28)

From what I understand, miners secure the bitcoin network by making it very-very expensive to do a 51% attack or double spend bitcoins through the sheer amount of hash power needed to overwhelm the network.

That implies, if the hash power happens to be very low (for whatever reason), an entity could theoretically mount this attack and thus reverse transactions or double spend the coins.

So what is the role of non-mining full nodes then? Does not seems to serve any real purpose to me?

**Tags:** full-node

> **Comments:**
> **username_1**: Possible duplicate of [What is the difference between a miner and a full node?](https://bitcoin.stackexchange.com/questions/59220/what-is-the-difference-between-a-miner-and-a-full-node)  
> **username_0**: @username_1 None of the answers there answers my question. Title edited to avoid being labelled 'duplicate'  

---

## 4 answers

### Answer by username_5 on 2018-11-28. Score: 7 | Accepted answer

Non-mining full nodes cannot prevent a 51% attack, but they are essential in preventing other attacks.

In particular, full nodes verify that the chain produced by miners is *valid*. This means that no coins are transferred without proper authorization from their owner, that no new coins are being created out of thin air (except for those permitted by the inflation schedule), and a few other things.

**Full nodes are what keeps miners honest.** To anyone who verifies incoming transactions themselves using a full node ("economically relevant full node"), it guarantees that the chain is valid. Miners have no way to cheat those (apart from a 51% attack, see further), and as a result, they have no incentive to produce blocks that violate the rules, as such blocks will be dropped on the floor and ignored by full nodes. To anyone not running a node themselves, the knowledge that a sufficient number of other independent parties are running full nodes helps, because hopefully those parties are important enough that miners wouldn't want to waste their money creating an invalid block they would detect.

Bitcoin's security is based on auditability, not trust. You know the chain, in its entirety, is valid, because you're able to independently verify that it is.

Unfortunately, there is no way to verify which of two conflicting (but otherwise valid) transactions is the "real" one without a central clearinghouse that blesses one of the two. This is called the double spending problem, and it is the reason why we need miners: a decentralized clearinghouse that anyone with the right hardware, even anonymously, can join. Producing blocks costs money for them, and they're only paid if the network of full nodes accept their blocks. This is why they're incentivized (but not forced) to produce blocks that satisfy the rules, and build on top of each other's blocks.

But it is important to see that the 51% attack is the exception here. For almost every rule in Bitcoin, full nodes verify everything, and there is *no* way they can be fooled. The only thing that cannot be verified independently is double spends, which leads to a 51% attack if exploited (but the theory is that this would be expensive for miners so not economical; furthermore, if miners aren't doing their job well, others are incentivized to become a miner themselves).

> **Comments:**
> **username_0**: Thanks for this detailed answer. Most answers I found simply says "miners keep the network secure but full nodes enforce the rules..." that statement alone confuses the hell out of me...  

---

### Answer by username_2 on 2018-11-29. Score: 3

May I add the following:

**An additional full-node does not automatically equal more Security**

Full-nodes may validate, but if they are not validating transactions received by the node operator, they do not offer any security, in fact, they decrease it by adding latency to the network.

**Only a full-node validating transactions received by a person who is offering economic value (Goods/Services etc.) in return for the received Bitcoin is securing the system**, as he/she is part of the "economic majority" who is *actively* deciding which definition of Bitcoin is "worth" trading value for. This person has the power to reject trade (Bitcoin for Value) with his/her full-node, and therefore is protecting/enforcing the validation rules agreed upon by the economic majority (the group of people who are in agreement (consensus) what "Bitcoin definition" to trade for economic value.

So it is important to note that simply adding nodes to the network, without actively using them to validate incoming transactions, (for which you paid for with goods, services) is not a system-securing act and therefore meaningless.


---

### Answer by username_1 on 2018-11-28. Score: 0

When Bitcoin was released, nodes and miners were the same thing, a computer which:

* validates and relays transactions
* validates, mines, and relays blocks.
  See [Bitcoin Whitepaper](https://bitcoin.org/bitcoin.pdf).

When mining started being done on GPUs and eventually ASICs, it was run on separate hardware than the nodes. This is because the mining hardware was designed to be good at only 1 of the things listed above, mining. They perform trillions of hashes per second until a solution is found.

Nodes perform all of the transaction and block validation as well as relaying that information to other nodes on the network. Generally speaking, miners receive the information necessary to mine from a node, and then submits its work back to the node to be validated.

> Can non mining full nodes prevent 51% attack? Does it actually
> strengthen the network? I am confused of its real purpose

Not without a miner, because the 51% attack refers to the hashpower or the amount of work the miners are able to do. Nodes just validate, store, and relay the blocks, but they cannot create new blocks without a miner to generate the proof of work.


---

### Answer by username_3 on 2018-11-28. Score: 0

> So what is the role of non-mining full nodes then?

Relaying valid transactions. Keeping blockchain for others. Serving light clients. Nothing more.

> **Comments:**
> **username_4**: ... relaying valid blocks, allowing users to validate the network state independently, allowing users to interact with higher level layers (eg LN) trustlessly...  

---

