This chapter started by introducing a history of smart contracts and was followed by a detailed discussion on the definition of a smart contract. As there is no agreement on the standard definition of a smart contract, we attempted to introduce a definition that encompasses the crux of smart contracts.
An introduction to Ricardian contracts was also provided, and the difference between Ricardian contracts and smart contracts was explained, highlighting the fact that Ricardian contracts are concerned with the definition of the contract whereas smart contracts are geared towards the actual execution of the contract.
The concept of smart contract templates was discussed, on the subject of which high-quality active research is currently being conducted in academia and industry. Some ideas about the possibility of creating high-level domain-specific languages were also discussed...