I have a few questions about how the system/EVM works. These are probably basic questions, but after reading the information around I can't seem to wrap my head around exactly what's going on. If there's a reference for where I can read the answers, please let me know!
1) Where is each contracts' assembly/bytecode physically stored? Looking at the blocksizes, it looks like they're currently about 780 bytes, so I assume that's not storing the contracts code directly.
2) Where is the EVM memory physically stored? Is every node running the EVM and holding the entire memory?
3) When a node sends a transaction to the network and has the receiver as a contract, does every node execute the contract bytecode with the inputs to confirm the hash? Or does the first node receiving the transaction execute and create the transaction hash that's then distributed and is what's used for consensus. Basically, is the contract code executed once or many times for each transaction? I assume the it's the former if every node is running the EVM.
4) Where is the data for the state transition function actually stored?
Fundamentally, I'd like to understand where the pieces of the EVM, EVM memory, state transition function, and contracts are stored and actually executed. What storage medium is housing them, and what processor is executing the instructions?
Any help from knowledgeable folks would be most appreciated.