Have read a number of articles on what hard fork and soft fork actually are. But couldn't really get the essence of it. My understanding is Hard Fork brings a change in the core Blockchain code (Accounts, Transactions, Blocks). So the consensus actually breaks cuz the nodes those upgraded and not upgraded have two separate versions of Blockchain.
Whereas in case of Soft Fork, the core Blockchain code remains the same but may be the mining client has some restrictions applied on it. Basically if I want to soft fork say Block Gas Limit from 1.5 mil to 1 mil, instead of changing the core Blockchain code itself, the mining clients and full nodes just apply an external filter to accept only till 1 mil Gas Limit. So no matter if all the nodes upgrade or not, they are governed by the same Blockchain code. Hence any splits shall occur on the same chain and be resolved through GHOST protocol.
Am I clear with my understanding? Someone pls clarify