I am aware of the threat of a 51% attack on the mining side, but since Bitcoin nodes are what check to ensure transactions are valid according to the rules, what keeps Bitcoin nodes in check? By comparison its cheap to run a node, so what would stop someone from owning a majority of nodes and changing consensus rules?
I know it isn't possible, but I don't know how to articulate why.
Thanks.
My node protects me. It does not protect the network. It does not protect you.
Your node protects you.
Proof-of-work is what determines what my node will determine to be true. PoW is what eliminates a conflicting signal such that my node (and all nodes) can independently verify which transactions remain unspent (at least, those with a certain number of confirmations -- e.g., 6 confirmations).
reply
Yes, there seems to be a misconception that nodes vote on the rules. Fortunately, Bitcoin does not have governance.
reply
Well, by changing the consensus among non-mining nodes, you'd accept blocks with different rules, but without miners, your chain wouldn't progress.
So you'd have to start mining too and you'd be generating forked blocks/coins that no one else values given they aren't participating in your network.
reply
I believe I understand. So even in the event that a hard fork happens because of the majority of nodes, what you're saying is this is a new network that the majority of miners would also have to switch to. So in a alternate universe where changing the block size was decided to be a good thing for Bitcoin, what this would actually mean is a hard fork (or new network) is spun up, and the old network is abandoned. In another words, both nodes and miners would have to agree to migrate. Would that be correct?
Miners have one job and one job only -- to determine the ordering of transactions.
If the ordering they provide is valid per the protocol my node follows, then my node determines that ordering to be the truth.
Nobody can change the protocol that my node follows, except for me (and that could only happen by me changing software that my node runs).
reply
Nothing really keeps nodes in check, i.e. they are near-free to operate.
What defines the rules of validity of bitcoin is ultimately the decisions of the people who accept bitcoin as money in exchange. This consensus is very sticky because stepping out of line with the crowd is usually an expensive mistake.
What defines which of the valid transactions actually happen, is the ordering and aggregation mechanism provided by proof of work mining.
100k extra nodes would not change either of these (in particular, the first).
The corollary is that things get interesting if a new actor comes online willing to exchange a lot more external value (e.g. goods and services) for an altered consensus ruleset of bitcoin.
Probably the subtlety there is: if it's someone saying "I'll accept Xcoin" where Xcoin is dramatically different in character to Bitcoin, then it being transacted on the same network layer is irrelevant; it's just a different currency. In some ways that's still true if you start with the same utxo set (see e.g. "Bitcoin Gold"). But it's much murkier when people debate small differences in Bitcoin's structural dynamics (blocksize war e.g.).
reply