Smart Contracts
Ethereum smart contracts are computer programs or scripts that run on the blockchain. The term contract has no legal meaning.
An important property of Ethereum smart contracts is their immutability. Once it is deployed, it cannot be changed (this is not completely right, though). The behavior and thus the outcome is deterministic. It doesn’t matter who runs the smart contract. Every time you can expect the same result.
In contrast to common applications, smart contracts have a very limited execution context. They cannot access data from outside the blockchain, they cannot manipulate hardware and they can only access their own storage.