Hacker News new | ask | show | jobs
by elif 1986 days ago
non-mining nodes have zero bearing on chain consensus
2 comments

That's not really true. If the vast majority of user- and exchange-operated nodes decided a miner's well-formed block is invalid, then other miners would be dissuaded from building on it, and would instead orphan it.
if a non mining node decides a block is invalid it will fork onto its own chain. If no mining nodes start mining on this forked chain then the original node is left on a chain where no transactions can be processed.

Non-mining nodes have no power or influence over the networks state. It is the mining nodes who decide which chain lives and which chain dies.

Non-mining nodes are still responsible for storing and relaying blocks. If no one stores and relays your block, was it ever mined?
Remove the non-mining nodes from the network and the node count goes down, but the network security stays the same. Non mining nodes do nothing for the security of the bitcoin network.

Having more non mining nodes to store and relay blocks is beneficial to decentralization, but they have no influence over which chain becomes the longest chain.

I'm sorry, but this is simply not true. Bitcoin's security is ultimately underpinned by each node being able to independently validate the chainstate. If nodes couldn't be guaranteed to receive all blocks on the best fork -- a task fulfilled not by miners, but by the continued availability of non-mining nodes that store and relay blocks -- then not only would miners be unable to build a high-quality chain (since they would have a hard time receiving each other's blocks), but also it would be much easier to eclipse nodes and/or feed them a valid but lower-quality chain that they would be unable to determine is the globally-best chain.

Also, block validity includes more than just proof-of-work. Each node ultimately decides which block it accepts or rejects. The protocol defines the minimum criteria for a block to be valid, but each node may independently apply additional criteria that must be met. If all nodes decide to reject a protocol-valid block that a miner produces, then the block will be orphaned -- it won't matter how many descendant blocks get built on it, because the rest of the network will ignore them all. In fact, this is the mechanism by which a user-activated soft fork works [1].

[1] https://en.bitcoin.it/wiki/Softfork

When bitcoin launched there were no non-mining nodes, every node was a mining node. "Node" in the whitepaper refers to what we know today as mining nodes. You are suggesting that the task of relaying blocks falls solely on non-mining nodes, when this isnt true. Mining nodes carry out the same roles as non mining nodes when it comes to relaying/propagation. Every node within the network, whether it be mining or non-mining, pass blocks they receive to their peers.
Nodes aren't "responsible" for anything, they can only help if they want. Miners broadcast their blocks to other miners to signal they found a valid block.

Miners can broadcast to anyone they want and nodes can't find or manipulate blocks, so they take the role of passive helpers.

Yes id agree with you there, many dont though.