I tried answering a question about a majority-attacker's power to change the blockchain yesterday.
There is one thing I haven't been able to get a clear picture on, yet:
When a previously unknown chain fork of at least 7 blocks length is published, how does Bitcoin Core react?
main.h: CheckForkWarningConditions appears to emit a warning stating "Chain state database corruption likely".
Would Bitcoin Core accept the chain fork if it had the most work? How prominent is the warning to the user? Does Bitcoin Core need manual intervention to decide which fork to accept?