What is a Smart Contract?
Whenever you hear about blockchain, it is increasingly common to hear about smart contracts. This concept however can take on different meanings, given its implementation in blockchains that greatly differ from one another. This article aims to provide an overview of the technology so to give readers the means to better understand its many facets.
Originally proposed by Nick Szabo, an American computer scientist who also coined the term, smart contracts are in their essence computer protocols apt at verifying, facilitating, and/or executing a contract. The idea behind them is to replicate various kinds of contractual clauses (collateral, bonding, delineation of property rights, etc.) within the software and hardware we use daily, so to make non-compliance with their terms prohibitively expensive. Szabo takes as example the case of a vending machine, which he considers a sort of primitive ancestor of smart contracts. This is because, with a limited potential loss (the value of the goods and money stored in the machine should not exceed the cost, in this case not only monetary, of breaching the mechanism), the machine handles transactions automatically according to a pre-established logic (price, payment method, etc.).
Although it may seem like a relatively new concept, smart contracts are nothing more than the digital implementation of the various rules that have always governed traditional contracts. Instead of judicial bodies or arbitrators who resolve disputes, smart contracts delegate resolution to a pre-established logic written in their code. The immutability of the data stored in a blockchain means that the network itself acts as an impartial arbitrator (and notary) and can therefore guarantee an effective implementation of smart contracts. Combined with its transactional nature, this has made blockchain the main technological platform where smart contracts are deployed.
Making use of the possibility offered by many blockchains of writing executable code within them, smart contracts are distributed in each of the nodes of the network, ready to spring into action as soon as their logic is triggered. In practice, the logic’s sophistication is often such that the more complex smart contracts can be considered as real software, with functionalities that go beyond what is commonly understood as a contract. However, this is an abstraction that makes them an extremely versatile and innovative instrument, able to easily adapt to different use cases without compromising effectiveness.
[1,2,3] Szabo, N. (1997). Formalizing and Securing Relationships on Public Networks. Retrieved on 01/08/2019 from https://firstmonday.org/ojs/index.php/fm/article/view/548.
[4,5] Building a Secure Future, One blockchain at a time (2018). US Senate Joint Economic Committee. Retrieved on 01/08/2019 from https://www.jec.senate.gov/public/_cache/files/aaac3a69-e9fb-45b6-be9f-b1fd96dd738b/chapter-9-building-a-secure-future-one-blockchain-at-a-time.pdf