This question might be dumb, I'm sorry in advance. I only had that much time for gaining expertize.
Say there is a huge working blockchain full of smart contracts and transactions on those smart contracts.
As far as I understand, all the nodes must execute all those smart contracts and all the transactions that change state of those contracts.
Then there is a new node joining this old blockchain. In order to have a correct state of all the contracts it should download the entire blockchain and then execute all the transactions related to smart contracts?
Is this vision correct, where do I miss something? Thanks!