Nodes enforce the ruleset that miners must abide by, and can invalidate new blocks that miners generate. You can see examples of this in history e.g. bitcoin.com mining a block with a greater block size than consensus allowed, which caused the block to be invalidated and the cost of energy wasted.
I'm not just talking about denial of service or 51% attacks, I'm talking about refusal of service.
You can't just push some change that 99% of miners will refuse to mine blocks for. The remaining 1% would not be able to mine blocks for a long time with their puny hashrate. You'd have to reset difficulty and the system would be left in a highly vulnerable state. It would be a huge disruption. For that reason, nodes wouldn't attempt to enforce a change without significant miner support.
You can have reasonably clean fork only if enough miners agree on something, but that implies that the interest of miners is given a lot of consideration.
I think the refusal of service is less problematic than the attack where they keep mining empty blocks without including any transactions. The refusal of service will only extend the block time which will be resolved in the next difficulty re-adjustment. It also requires significant percentage of the miners to agree to co-operate.
With the empty blocks attack, they prevent difficulty re-adjustment and also get rewarded with new btc unlike the refusal of service where they'll just be wasting their electricity without any rewards and the small miners will be able to produce blocks albeit in a much longer time than ~10 minutes.
> The refusal of service will only extend the block time which will be resolved in the next difficulty re-adjustment. It also requires significant percentage of the miners to agree to co-operate.
That's the premise: If you want to do something that strongly goes against the interest of all miners, that cooperation will form naturally. If 99% of miners agree on something, the block time would be several hours. Difficulty adjustment would have to be patched in.
In the meantime, the miners on the "rogue chain" are mining blocks and clearing transactions. Who says that this chain is not Bitcoin? Why should all the stakeholders consider a broken chain with 1% of the hash power as the "one true Bitcoin", as opposed to a failed fork?
> Nodes enforce the ruleset that miners must abide by, and can invalidate new blocks that miners generate.
In practice, this means “nodes run by centralized exchanges”. Your narrative is fraught with risk.
Basically “Bitcoin” is defined as the chain with the highest cumulative hashing power¹.
¹: which investors expect will maximize returns under the banner of “Bitcoin”
Much of Satoshi’s genius was selecting values for constants, e.g. 21M max supply, conducive to the establishment of a global currency of fixed supply and generally aligning incentives of disparate entities such that the most likely outcome would be the upholding of community expectation. But none of that is technically guaranteed, rather its continuity is assured with exceedingly high likelihood due to historical choices made.
> You can see examples of this in history e.g. bitcoin.com mining a block with a greater block size than consensus allowed, which caused the block to be invalidated and the cost of energy wasted.
IIRC they weren’t a majority miner at the time. Had they been a majority miner, and had they been able to assure the community of global Bitcoin investors of the superior soundness of their choices, all bets would be off. Ultimately the block size debate was resolved with hashing power.