But this effectively still requires a rethinking of the Bitcoin protocol, namely if the defense against a Goldfinger attack is to always soft-fork back to the original chain. And then one in theory has to determine exactly what reorgs constitute an attack, and what reorgs are just normal activity on the blockchain. Otherwise the community might disagree on a particular decision, which could thus cause a hard fork.
Not really, as it's pretty straightforward to determine: Does the chain include an adversarial double-spend? Reorg. No adversarial double-spend? No reorg.
Obviously actually pulling the hashing power to trigger a reorg would be no small feat in itself, but determining whether the chain is "honest" or run by the attacker is rather trivial.
Hm, maybe you are right..! It actually does sound quite simple when you put it like that.
It sort of brings into question why we bother so much with consensus mechanisms at all, then, but still...
... Yeah, so maybe a mitigation strategy could simply be to add to the protocol: 'If a chain is the result of a reorg that has allowed double spending, then it should be regarded as invalid.' Could that work?
Ideally you should then also roll out an update where miners can vote to declare any new contentious chain invalid.
... Well, but then in theory, we still have the problem that 51% of the miners might be compromised, if voting is distributed according to PoW. So the voting power still has to distributed some other way, doesn't it..?