Nick Szabo, who first coined the term, defines a smart contract as ‘a set of promises, specified in digital form, including protocols, within which the parties perform on these promises.’ To put it simply, they are agreements written in code that can incorporate algorithms which are automatically executed in a blockchain environment.
Let’s break this down:
1) A set of promises
Just like a traditional contract, a smart contract is a bundle of promises. These promises can be contractual and/or non-contractual. Just like a traditional contract, a smart contract incorporates contractual terms that act as clear obligations between the parties. However, in order for the smart contract to operate correctly, it must also include rule-based operations. Conditional parameters have to be coded into the smart contract so that it will perform when the conditions are met. For example, you may code into the contract that ‘the goods have to arrive at a certain location and by a certain time before payment is transferred.’ The parties would want the relevant contractual terms (i.e. conditions in a legal sense) written into the contract to specify the obligations of the parties. But these obligations must also be reflected in the ‘logic’ – in the code – of the contract so that the payment is automatically transferred when the goods arrive.
In this way we can see how the contract details the legal obligations of the parties as a traditional contract does, but can also recognise when these obligations have been fulfilled and automatically self-execute.
2) Specified in digital form
Smart contracts consist of lines of code as well as software. The inherent software prescribes the conditions and outcomes of the contract, allowing smart contracts to operate electronically. Typically, smart contracts are published on a blockchain. This means that when the contract has been agreed and written into code it is uploaded onto a blockchain. This would be an example of a bilateral smart contract where, with the agreement having been made (implying offer, acceptance, parties being ad idem in their intention to create legal relations, and consideration) the contract is published.
One could also think of a smart contract as an evolved vending machine. The terms of the vending machine are generally found at the coin slot (e.g. the words ‘insert 50p’ alongside a diagram of a can of coke being distributed). And, as Lord Denning made clear in Thornton v Shoe Lane Parking Limited  2 QB 163, ‘the offer is made when the proprietor of the machine holds it out as being ready to receive the money. The acceptance takes place when the customer puts his money into the slot.’ Like using a vending machine, a smart contract can be posted (offered) on the blockchain for any users to accept if they so wish. This would be an example of a unilateral smart contract.
3) Including protocols
Smart contracts need to include computer protocols such as algorithms – an algorithm being a process, a finite sequence of implementable rules which, in the context of smart contracts, enable actions to be performed and affect the operation and outcome of the contract.
In other words, the incorporation of algorithms into a smart contract allows the contract to operate automatically. The smart contract will recognise certain conditions and then automatically follow a process like a decision tree. It can recognise “if this is the case” and respond: “then that should happen” and self-execute with finality. For example, “if the goods arrive on time” then “payment should be released” or “if the goods never arrive” then “payment should be withheld.”
4) Within which the parties perform
Smart contracts are irrevocable and once initiated cannot be stopped. While this sounds draconian (and certainly less flexible than traditional contracts) many commentators see this as the greatest advantage of smart contracts.
Contract law allows parties to formalise relationships, apportion risk and call on the coercive power of the state to enforce their obligations. Traditional contracts always have the state as a third party, observing the contract from afar, if not actively involving itself by implying terms into the contract by statute – for example ensuring that the coke in the vending machine actually contains coke.
Since smart contracts are automatically executed, they remove the need to rely on a court for enforcement. This is a particularly useful feature when it comes to no-trust environments. If a jurisdiction is perceived as being prone to corruption or otherwise does not have an advanced legal system, then parties may not trust that the jurisdiction’s legal system will be able to enforce their contract. If the contract is executed automatically and irrevocably it opens up the potential to do business and facilitate trade in jurisdictions that may be perceived as riskier than others.
 Nick Szabo, ‘Smart Contracts: Building Blocks for Digital Markets’ (Extropy, 1996)<https://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_2.html> accessed 28 March 2021
 Thornton v Shoe Lane Parking Ltd  2 QB 163 
 Carlill v Carbolic Smoke Ball Co  1 QB 256 (CA)