When a contract is written in computer code, as opposed to traditional legal language, it is deemed a smart contract. This programmed contract is set up to execute and carry itself out automatically under specified conditions. When a smart contract is on the blockchain, both parties can check its programming before agreeing to it, and then let it do its thing, confident that it cannot be tampered with or changed. It lets two parties agree to complex terms without needing to trust each other, and without needing to involve any third parties. This functionality is the defining feature of the Ethereum blockchain.