All of the arguments that "nodes do matter" have the logical fallacy of taking the "intended way the network SHOULD work" as the "actually technically resulting technical operation".
This is the fallacy that is similar to:
- you've build a rocket to go to the moon with propellers, but propellers don't work in space !
- Of course propellers work in space !
- No, they don't. They need air to function and in space, there is no air.
-
But propellers obviously work in space, because we designed a rocket to go to the moon, and it has propellers ! Hence, propellers work in space, Q.E.D.The argument here is that "because nodes SHOULD (that is: "we desire that", like we desire that our rocket flies to the moon) keep the miners in check, well, nodes ARE keeping the miners in check".
They don't. I'll show you:
ok here is me being unbiased
NODES DO MATTER:
bitcoin is a symbiotic relationship.
=> my desire
pools collate the tx data in a certain format.
the node network judge which block of data is a valid format of collated data and keeps that block if everything is valid/approved.
other nodes then see that a node has a new 'height' and requests that new accepted block. and as a snowball effect if the majority of the nodes have the same consensus rules, that block gets shared to the majority and that block gets set in stone.
That block doesn't get set in stone because a majority of nodes copy it. It will get set in stone if the following miner pools DECIDE TO MINE on top of it. And they don't need the network to get their block ; they get it from the miner pool that mined it. Directly. Because they are in a hurry. They don't WAIT for the P2P network to "approve it", because they would be wasting their time and hash rate in the mean time.
by nodes holding a block and then pools building ontop of the most approved/valid previous block a single chain of good, valid accepted data becomes locked in and immutable.
==> the only way a block becomes accepted, locked and immutable is because other miners mine their blocks on top of it. Whether remote nodes download it or not, doesn't matter in this case.
if pools build upon blocks that are not majority accepted, they can find their newest attempt rejected because of the orphaning effect.
==> what "orphaning effect" ? Orphaning occurs when OTHER MINERS decide to mine upon ANOTHER block than the orphaned block. If miners decided to mine upon block A, with blocks B, C, D and E, there simply isn't any other set of blocks around that a P2P node could "prefer". Suppose that a majority of P2P nodes decides to "orphan" block B. But the miners have been building blocks C, D and E on top of B. What happens ?
Well, these nodes stop. They stop at block A. And they can't find any other block that pleases them. B wasn't according to their taste. But there's NO OTHER BLOCK around that is built upon A. Nobody has ever made a block on top of A with a higher PoW than the chain B,C,D,E. In fact, nobody ever made a block on top of A.
So what is the difference between our full node "not accepting" block B, and our full node just being switched off ?
What's the "orphan effect" of switching off your full node ?
anyone shouting non-mining nodes do not matter, are only saying so because they dont want 'the opposition' gaining majority.
No. They are people that don't confuse "desires" with logical consequences. If miners don't make another block than block B, you can chose between accepting block B, whatever miners did with it, or stop your node. What else can you do, with your full node that doesn't like block B ?
Let us take a very simple example. Let us assume that the miners, collectively, decide to make bigger blocks. From block B onward, they make blocks of 1.2 MB. All miners agree (to show you that it are the MINERS that decide). They build a chain in which block B is 1.2 MB. Nobody builds a chain with an alternative B block of only 1 MB.
99% of nodes refuse. They don't accept a block of 1 MB. But miners happily continue building blocks. What now ?
the problem with this is if both sides of the 'opposition' were to turn off their non mining nodes, then the only nodes of majority left are the miners nodes which then makes the mining nodes have more control because they become the majority.
But there is no "majority rule" of nodes. The reason why Satoshi introduced vote per hashrate, was exactly to nullify every effect of "majority of nodes". As miner pools are directly connected between themselves (for reasons of not wasting hash rate), they don't need the P2P network to get a block from another miner.
So all non-mining nodes can do, is copy the one and unique chain that miners make. If they like it, they keep it ; if they don't like it, they stop.