Contracts are created between parties to enforce an agreement and to ensure that the participants cannot deny the agreement later. A smart contract is a protocol that allows contracts to be verified and enforced in a self-executing manner. In simple terms, it executes a contract agreed between parties whenever the conditions of the contract are met, without anyone's intervention. The term, smart contract, was coined by Nick Szabo, a cryptographer, in 1994. Although the smart contract was conceptualized in the early 1990s to automate the execution of traditional contracts, it wasn't implemented in a public network until the adoption of Bitcoin's underlying blockchain technology.
It was the Byzantine fault-tolerant consensus algorithms that made the execution of smart contracts possible in a decentralized public network. A number of existing blockchain...