Question: how do miners and nodes interact? What happen during a 51% attack?
Hi, just want to understand the importance of nodes vs miners.
In Jeff Booth article [https://bitcoinmagazine.com/culture/bitcoin-signal-in-this-noisy-world](https://bitcoinmagazine.com/culture/bitcoin-signal-in-this-noisy-world) he says:
” while miners compete as economic actors to secure the network, they are held in check by nodes (open to anyone to easily set up and run) who confirm the transactions ”
how does having ALOT of ppl running these nodes help keep the miners in check? I understand it confirm the transaction but does that do anything? In an even of a 51% attack, how does these nodes help?
Andreas Antonopoulos gives an amazing answer to this question.
Take a look.
Miner can create a block paying themselves 1000 BTC for example. Nodes will download it and check it out. And since it won’t pass muster nodes will all independently and collectively dump it. Miner just wasted a lot of hashes to get nothing.
Seems to me that if a miner, or group of colluding miners, have 51% or more then they determine the longest chain and what’s in it too. There’s nothing non-miner nodes can do about it. They are merely observers.
 chain with the greatest total pow.
Nodes will hold miners accountable and stop rule breaking, but in the case of a 51% attack the miners aren’t breaking any rules, so the nodes can’t do anything to stop them. However miners can only double spend their own coins, they can’t alter previous transactions.
If this happened the rest of the nodes would see this attack and create a hard fork changing the hashing algorithm. Then all the ASICs machines would become worthless for Bitcoin mining.
Congrats to whoever tried the attack, now that bad actor just spent billions of dollars to attack the network, get one double spend in before that entire chain went to 0.
Meanwhile continue about our business and they realise they could have made a killing mining Bitcoin legitimately but instead threw billions for a fruitless attack that gained them nothing.
Miners build blocks and order the blockchain.
Nodes store the blockchain and verify everything.
Nodes will not prevent a 51% attack because it is technically not breaking the rules. What prevents a 51% attack is mining because it is expensive to keep up the attack and leads to limited rewards (i.e. a double spend) to the point where you are much better off just mining bitcoin the correct way.
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).
It is explained here: