A smart contract is an agreement between two parties that is evaluated and executed by code, thus making it trustless. The trustless execution is the unique aspect of the contract. It allows two parties to agree on the conditions of a contract without a 3rd party who are generally lawyers, to intermediate, validate and execute the contract when its conditions are met.
In reality, a smart contract is actually pretty dumb. It does not have any artificial intelligence and does not do well under changing conditions or dynamic environments. Additionally, once the smart contract is created and live, it cannot be changed. This means that software developers need a hardware-type coding mentality that I talked about in this blog. This ensures that the smart contract will be functional in every type of environment that it might face. However, as the smart contract grows increasingly complex, it becomes increasingly hard for its authors to ensure its security and validity. This means that smart contract writers need to know what they’re doing when writing these laws.
Bitcoin first implemented smart contracts utilizing a programming language called Script in 2009. Ethereum implemented the first Turing-complete smart contract language called Solidity in 2015. Turing-complete means that the “computer language can approximately simulate the computational aspects of any other real-world general-purpose computer or computer language” (Wikipedia Turing-completeness). The difference between these two languages is the ability of Ethereum to determine the existence of bugs in the language.
Another point worth nothing about smart contracts is there has to be a connection between the digitalized version and physical version of the good that is being exchanged between the two parties. This is referred to as the “Oracle Problem”.
To conclude, smart contracts theoretically should solve a lot of intermediary inefficiencies that plague certain industries. However, as of right now these contracts are relatively primitive in their connection to the physical world. I am excited to see their reach and further real-world use cases as the industry grows.