Post
Topic
Board Development & Technical Discussion
Re: What does a non-mining node do for the network?
by
Quickseller
on 05/07/2018, 05:12:30 UTC
Hi Guys
Hoping some of the smarter people here can educate me. I see a lot of mentions of run your own node.  But what is the point of it? If my node never wins a block then what impact can it actually have on bitcoins security?

I see a reason for doing it if you are a merchant and want to see if transactions are sent to you immediately, or if you want to do it for LN. But why run one as a normal bitcoin dude?


A non-mining node allows you to see what consensus rules are in use. If every full node were owned by the miners, they could have changed the consensus rules (like printing more bitcoins, removing the supply cap, reversing transactions etc) without you knowing  it.

If they try to pull any crap like that now, non-mining nodes will reject their shit. Full non-mining nodes still need the hash power though, so blockchain can move forward.

Think it like this way:

Bitcoin = A massive full node network. If somebody tries to cheat this network, he will be ignored.
I would reject this logic.

A full node does nothing to confirm what the consensus rules are (other than the default rules the node software is "shipped" with that is input by the core devs), in fact I am not aware of any Bitcoin implementation that will tell others what specific rules it is following. Most Bitcoin nodes will broadcast the name of the implementation they are running, however this is far from what consensus rules they are following, and can be trivially changed.

What running a full node does do, is ensure you only accept transaction and blocks that follow the rules you choose. However the caveat is that if you are not following the same rules as the economic majority, your node will either accept transactions/blocks that are economically worthless, or will not receive blocks at all. If the major economic players got together and decided to accept transactions/blocks that meet a certain criteria that your node disagrees with, then your node will be doing exactly nothing.