I understand why it's important that all nodes on the Ethereum mainnet must execute any smart contract function call which changes the internal state of the contract or the chain. (For example, transfers from one account to another ec.)
What I'm wondering is, if its true that every node must execute every function called on any smart contract, even if the function doesn't result in a state change.
For example, if an ERC721 smart contract has a function "getName()" which just returns the name of the artwork the NFT represents which is stored in the NFt. Let's say joe connects to the network, and wants executes getName() on a contract. Does that mean that all 9,000 nodes end up spinning cycles executing getName(), even though Joe only needs it to be executed once? Does the gas cost of running "getName()" compensate each of the nodes for the overhead of running "getName()"? If that is true (that every node gets paid) will gas get even more expensive as more nodes join the pool?
Is one of the reasons gas prices are high is because of the inefficiency of every node having to execute every function called on a smart contract, even those that have no effect on state?
If so it would seem to be a very (and perhaps unnecessarily) expensive proposition to execute a computationally intensive but "pure" (no side effects) function on Ethereum, right?
Thanks. apologies for the possibly naive question!