Smart contracts are bits of computer code that perform a set of instructions. Dapps are decentralised apps that bundle together smart contracts into packages that people can interact with.

Inside a smart contract

Like regular contracts, smart contracts are designed to enforce the terms of an agreement—whether this is an exchange of cryptocurrencies, tokenized rights, proof of identity, or practically anything else.

Smart contracts will automatically execute when pre-defined conditions are met. The operation of a smart contract can be briefly described with three main terms:

  • 🤝 Interconnectivity: Each smart contract usually has a restricted set of functions. Several smart contracts can be set up to connect with one another and can form more complex arrangements known as decentralized applications (dapps).
  • 💡 Objects: These are the signatories that interact with the smart contract and the subject/s which is/are modified by the smart contract based on predefined or newly-submitted terms.
  • 🌍 Environment: Smart contracts are dependent on an underlying cryptographic environment. This ensures they can operate securely, and that the data they act on is immutable and generally transparent.

For most blockchains, the code underlying the smart contracts is immutable, though several blockchains also support updateable smart contracts.

Who created smart contracts?

Like the blockchain technology used to power most cryptocurrencies, smart contracts were derived from earlier technologies that weren’t quite complete. In the case of smart contracts, they are derived from earlier electronic instruction execution programs that used if/else statements other conditional logic to automatically produce an outcome based on the information it is presented with. 

The term “smart contract” itself was coined in the 1990s in an academic paper created by Nick Szabo, a prominent computer scientist and cryptographer that was also responsible for developing one of the earliest precursors to Bitcoin, known as Bit Gold. Szabo initially described smart contracts for a variety of basic purposes like fraud reduction and enforcing contractual arrangements, but later elaborated on the potential use-cases of the technology to digital cash, smart property, and more in a 1996 paper. 

Ethereum implemented a Turing-complete language on its blockchain, allowing for complex and sophisticated logic in its smart contracts.

Read more: https://decrypt.co/resources/smart-contracts