No, everyone validates all blocks. (Or at least they theoretically should.) Otherwise you could get miners lying about whether they've validated a block. Changing the Bitcoin protocol is essentially creating an altcoin - the only difference is that the money distribution is "pre-seeded" with everything that's happened on the Bitcoin network so far. If all users move along, the altcoin succeeds and the "original" Bitcoin fails.
If everyone except the current miners decided to follow new rules, the miners would be forced to follow - there's not much point mining a currency which nobody will accept in exchange for goods, services or other currency.
We already have a term exactly for what you're talking about: a hard-fork (or just a fork if you like).
On either side of the fork is bitcoin, not the "original" bitcoin and an "altcoin".
You're also incorrect in other ways. In the case of most forks, you fork via voting by "x% of the last 1000 blocks were mined by this implementation". Because of that, if everyone except the current miners use the alternate implementation, the new "fork" will never activate.
That's because forks are not altcoins, but typically run on the same exact chain, behave compatibly with each other (prior to activation), and wait for consensus in mined blocks (to activate).
That method of voting does mean that only miners get a vote. It's not because they validate all blocks, but rather because mining a block is the same as voting in basically all fork-consensus-algorithms so far.
The point is that on one side you have the original protocol in use, and on the other side you have a different protocol in use. Both of them are called Bitcoin and use the same database up to the point of the fork, but they're not the same protocol in much the same way that Dogecoin is not the same protocol as Bitcoin - someone who attempts to use the pre-fork protocol will not be able to achieve consensus with someone attempting to use the post-fork protocol.
> In the case of most forks, you fork via voting by "x% of the last 1000 blocks were mined by this implementation".
That is not the only way to implement a fork. As I say, you can fork the chain simply by convincing enough users to use your fork - there's no hard requirement for any miner-level voting to be done at all.
> but they're not the same protocol in much the same way that Dogecoin is not the same protocol as Bitcoin
What you're arguing is essentially that "EMCA6 is not javascript because it supports features the previous javascript didn't, much the same as ruby does".
Bitcoin is a cryptocurrency. They're the same cryptocurrency both before and after the fork. Dogecoin is not. Can you see how that term is not a good term when we have a better one?
Also "achieve consensus" there is absolutely incorrect. The correct term is "will have to update their software, else they will be incompatible". Software updates are normal, and we don't demand that each program rename itself every time it updates.
> That is not the only way to implement a fork
That's the only way anyone's trying to fork though. Yes, gavin said he'd just do a hard-cut over, but he didn't and it'd be a bad idea.
Forking the chain is only useful if the economic majority and miners come along, else your chain will be less secure and less useful (also, double spending problems etc).
Or, rather, ECMAScript 6 is not ECMAScript 5 because you can write code in the former that doesn't work in the latter, and probably vice versa on edge cases. They are separate languages. If you continue writing in ECMAScript 5, you're missing out on all the nice ECMAScript 6 libraries.
But with Bitcoin it's even worse - if you continue using pre-fork Bitcoin, you cannot reach consensus and thus transact with people using post-fork Bitcoin. They're not precisely the same protocol, by definition - they bare the same name but they're not the same protocol, they are different protocols and for the fork to win, the first protocol dies. The name is irrelevant to this.
Similarly, HTTP 2.0 isn't the same as HTTP 1.1, and claiming one is equivalent to the other is nonsense, even if they bare the same name.
I'd also argue that if the amount of hash power put into the network can be derived from the value of the network (trivially provable), the result of the economic majority choosing to adhere to different rules is that either the miners will follow or new miners will pop up quickly as there's a demand for them.
I'm not saying pre-fork and post-fork bitcoin are equivalent, or the same protocol version. That's a strawman. the term "Bitcoin" is obviously different from "ECMAScript 5/6" and "HTTP 1.1/2.0" in that it's not a version of a protocol/standard. Bitcoin is a term for the overarching thing, just like "Javascript" and "HTTP" are overarching terms for those, encompassing multiple standards etc.
Again, "altcoin" already has a term unrelated to protocol. "altcoin" means a cryptocurrency that is not closely related to bitcoin.
You're talking strictly about protocols and versions there (which, btw, bitcoin should just version its protocols), but that's not what "Bitcoin" means to the common man.
You're making my argument for me by comparing "HTTP 2.0 isn't HTTP 1.1", but they're both HTTP, not gopher or ftp.
Voting also applies in hard-forks. Case-in-point, XT/classic both had activation thresholds and voting.
Splitting the chain is not really useful unless you have a large majority with you for both technical and non-technical reasons, and so you vote.
Soft-forks and hard-forks aren't so different in the happy-case. They both extend the same original chain, they both have concerns about two competing chains existing and wish to avoid that, they both change the validation layer in some way (though to lesser and greater extents).
With the 70% you can do more interesting stuff, like using a 35% to mine in the fork/altcoin you like and use the other 35% to block the other fork/altcoin so no one can make transactions in it.
With the 90% you can play games, like mining during the day as usual, and do fancy stuff at night. From 0am to 4am, keep a 10% as protection against attacks, and use the other 80% to mine empty blocks in the other chain, starting from the last block you mined last night. So in 4 hours with a 8x hashing power is enough to catch up with the other chain and then when they get up in the morning they will see all their transactions reverted.
A fork with little hash power is very insecure.
The "core developers" and the Bitcoin Foundation don't matter, although they sometimes act like they do.