can someone explain how all the other nodes, except the one that found the block, are incentivised to verify if the block miner(creator) has done the smart contract code execution correctly ? Only the miner gets the reward, so it is possible that other nodes lose motivation to recalculate that( in ethereum docs it's written that the smart contract execution is done by every node in the network ) ? They may lose it in case for example when they don't want to lose internet bandwidth or additional CPU cycles for that. They may think : "oh, everyone is doing that so maybe I would be better off when I just don't do it ? I can save 100$ a month in terms of CPU cycles." I am sure there is some misunderstanding from my side, can someone explain ? Thanks
Miners want to win future blocks. If they don't independently verify that the chain they are following is the right one, they may end up spending future money doing proof of work on an incorrect chain.
As soon as they see the winning block hash from some other miner, they confirm it, add the new block to their own chain, and hurriedly start trying to win the next block.
There is nothing stopping them from trying to shave off some cost by simply not verifying the winning hash and adding the block directly, but they are taking a risk if they do so.
Not to mention that the verification step is trivial (mining hardware is built specifically to do this hashing step very quickly), they probably figure why not do it since it's safer and has near-zero cost.