Smart contracts can be definitive if they are both signed by a valid digital signature and are deterministic.
The presence of a digital signature provides a mechanism to all nodes to allow them to determine whether the contract code has been manipulated.
If the smart contract code is deterministic, all nodes that execute the code will arrive at the same final state.
each state in a transaction is associated with a given contract. This contract is uniquely identified using a [contract name, hash of the JAR file containing the contract] pair.
If the contract is modified, this will modify the hash of the JAR containing the contract, and thus the contract JAR will no longer be considered valid.