title_body: How do nodes access the validator code? As far as I know, script address is the hash of the validator script. (Or has the hash of the validator script. I don't know which). So when a node wants to validate that address, It needs to run the validator script. So how does the node access the script?
upvoted_answer: A validator script is compiled into Plutus Core by the Plutus Tx compiler. (It's actually a bit more complicated: see https://iohk.io/en/blog/posts/2021/02/02/plutus-tx-compiling-haskell-into-plutus-core/)
  This compiled script is shipped within the transaction.
  Hashing the validation script ensures that funds potentially located at a script address can only be consumed by transactions that include the exact same script.