Smart contract

A smart contract is a computer program or a transaction protocol which is intended to automatically execute, control or document legally relevant events and actions according to the terms of a contract or an agreement.[1][2][3][4] The objectives of smart contracts are the reduction of need in trusted intermediators, arbitrations and enforcement costs, fraud losses, as well as the reduction of malicious and accidental exceptions.[5][2]

Vending machine is mentioned as the oldest piece of technology equivalent to smart contract implementation.[3] 2014's white paper about cryptocurrency Ethereum mentions Bitcoin protocol to be a weak version of the concept of smart contracts as defined by Nick Szabo.[6] Since Ethereum, various cryptocurrencies support scripting languages for more advanced smart contracts between untrusted parties.[7] In the cryptocurrency space, smart contracts are digitally signed in the same way a cryptocurrency transaction is signed. The signing keys are held in a cryptocurrency wallet.

History

Smart contracts were first proposed in the early 1990s by computer scientist, lawyer and cryptographer Nick Szabo, who coined the term.[8][9] In 1998, the term was utilized to describe objects in rights management service layer of the system The Stanford Infobus, which was a part of Stanford Digital Library Project.[1]

With the 2015's implementation of Ethereum, based on blockchains,[10][11][12] "smart contract" is mostly used more specifically in the sense of general purpose computation that takes place on a blockchain or distributed ledger. Indeed the US National Institute of Standards and Technology describes a ‘smart contract’ as a ‘collection of code and data (sometimes referred to as functions and state) that is deployed using cryptographically signed transactions on the blockchain network’.[13] In this interpretation, used for example by the Ethereum Foundation[6] or IBM,[14] a smart contract is not necessarily related to the classical concept of a contract, but can be any kind of computer program. A smart contract also can be regarded as a secured stored procedure as its execution and codified effects like the transfer of some value between parties are strictly enforced and can not be manipulated, after a transaction with specific contract details is stored into a blockchain or distributed ledger. That's because the actual execution of contracts is controlled and audited by the platform, not by any arbitrary server-side programs connecting to the platform.[15][16]

In 2017, by implementing the Decree on Development of Digital Economy, Belarus has become the first-ever country to legalize smart contracts. Belarusian lawyer Denis Aleinikov is considered to be the author of a smart contract legal concept introduced by the decree.[17][18][19]

In 2018, a US Senate report said: "While smart contracts might sound new, the concept is rooted in basic contract law. Usually, the judicial system adjudicates contractual disputes and enforces terms, but it is also common to have another arbitration method, especially for international transactions. With smart contracts, a program enforces the contract built into the code."[20] A number of states in the US have passed legislation on the use of smart contracts, such as Arizona,[21] Nevada,[22] Tennessee,[23] and Wyoming.[24]

However a smart contract does not necessarily constitute a valid binding agreement law. Some legal academics claim that smart contracts are not legal agreements, but rather means of performing obligations deriving from other agreements[25] such as technological means for the automation of payment obligations[26] or obligations consisting in the transfer of tokens or cryptocurrencies. Smart contracts should therefore be distinguished from smart legal contracts. The latter refers to a traditional natural language legally-binding agreement which has certain terms expressed and implemented in machine readable code.

Implementations

Byzantine fault-tolerant algorithms allowed digital security through decentralization to form smart contracts. Additionally, the programming languages with various degrees of Turing-completeness as a built-in feature of some blockchains make the creation of custom sophisticated logic possible.[6][27]

Notable examples of implementation of smart contracts include the following:

  • Bitcoin provides a Turing-incomplete script language that allows the creation of custom smart contracts on top of Bitcoin like multisignature accounts, payment channels, escrows, time locks, atomic cross-chain trading, oracles, or multi-party lottery with no operator.[28]
  • Ethereum implements a Turing-complete language on its blockchain, a prominent smart contract framework.[29]
  • Ripple (Codius), smart contract development halted in 2015
  • DAML is a smart contract language implementation based on GHC.
  • Solidity is a object-oriented smart contract language.
  • Blockchain domains are another emerging technology powered by smart contracts. They are built from a collection of complex smart contracts.[30][31]

Replicated titles and contract execution

In 1998, Szabo proposed that smart contract infrastructure can be implemented by replicated asset registries and contract execution using cryptographic hash chains and Byzantine fault-tolerant replication.[32] Askemos implemented this approach in 2002[33][34] using Scheme (later adding SQLite[35][36]) as contract script language.[37]

One proposal for using bitcoin for replicated asset registration and contract execution is called "colored coins".[38] Replicated titles for potentially arbitrary forms of property, along with replicated contract execution, are implemented in different projects.

As of 2015, UBS was experimenting with "smart bonds" that use the bitcoin blockchain[39] in which payment streams could hypothetically be fully automated, creating a self-paying instrument.[40]

Security issues

A blockchain-based smart contract is visible to all users of said blockchain. However, this leads to a situation where bugs, including security holes, are visible to all yet may not be quickly fixed.[41] Such an attack, difficult to fix quickly, was successfully executed on The DAO in June 2016, draining US$50 million in Ether while developers attempted to come to a solution that would gain consensus.[42] The DAO program had a time delay in place before the hacker could remove the funds; a hard fork of the Ethereum software was done to claw back the funds from the attacker before the time limit expired.[43]

Issues in Ethereum smart contracts, in particular, include ambiguities and easy-but-insecure constructs in its contract language Solidity, compiler bugs, Ethereum Virtual Machine bugs, attacks on the blockchain network, the immutability of bugs and that there is no central source documenting known vulnerabilities, attacks and problematic constructs.[29]

See also

References

  1. Röscheisen, Martin; Baldonado, Michelle; Chang, Kevin; Gravano, Luis; Ketchpel, Steven; Paepcke, Andreas (1998). "The Stanford InfoBus and its service layers: Augmenting the internet with higher-level information management protocols". Digital Libraries in Computer Science: The MeDoc Approach. Springer: 213–230. doi:10.1007/bfb0052526.
  2. Fries, Martin; P. Paal, Boris. Smart Contracts (in German). Mohr Siebeck. ISBN 978-3-16-156911-1. Retrieved 24 May 2020.
  3. Savelyev, Alexander (14 December 2016). "Contract Law 2.0: «Smart» Contracts As the Beginning of the End of Classic Contract Law". Social Science Research Network. Cite journal requires |journal= (help)
  4. Tapscott, Don; Tapscott, Alex (May 2016). The Blockchain Revolution: How the Technology Behind Bitcoin is Changing Money, Business, and the World. pp. 72, 83, 101, 127. ISBN 978-0670069972.
  5. Szabo, Nick (1997). "View of Formalizing and Securing Relationships on Public Networks | First Monday". firstmonday.org.
  6. "White Paper· ethereum/wiki Wiki · GitHub". Archived from the original on 11 January 2014.
  7. Alharby, Maher; van Moorsel, Aad (26 August 2017). "Blockchain-based Smart Contracts: A Systematic Mapping Study". Computer Science & Information Technology (CS & IT): 125–140. doi:10.5121/csit.2017.71011.
  8. Morris, David Z. (21 January 2014). "Bitcoin is not just digital currency. It's Napster for finance". Fortune. Retrieved 7 November 2018.
  9. Schulpen, Ruben R.W.H.G. (1 August 2018). "Smart contracts in the Netherlands - University of Tilburg". uvt.nl. Twente University. Retrieved 26 October 2019.
  10. Stafford, Philip; Murphy, Hannah. "Has the blockchain hype finally peaked?". ft.com. Financial Times. Retrieved 1 June 2017.
  11. Foundation, Ethereum (30 July 2015). "Ethereum Launches". blog.ethereum.org. Retrieved 9 January 2020.
  12. "Ether Supply Growth Chart". etherscan.io. Retrieved 9 January 2020.
  13. D J Yaga et al, Blockchain Technology Overview, National Institute of Standards and Technology Internal/Interagency Report 8202, 2018, p 54, cited in Mik, Eliza, Smart Contracts: A Requiem (December 7, 2019). Journal of Contract Law (2019) Volume 36 Part 1 at p 71
  14. Cachin, Christian. "Architecture of the Hyperledger Blockchain Fabric" (PDF). ibm.com.
  15. Vo, Hoang Tam; Kundu, Ashish; Mohania, Mukesh (2018). "Research Directions in Blockchain Data Management and Analytics" (PDF). Advances in Database Technology - Extending Database Technology (EDBT). OpenProceedings. 21: 446. Some distributed ledger technologies support an additional capability called a smart contract, which is similar to the concept of stored procedure in classical relational databases to some extent. Smart contracts allow the shared business processes within a business network to be standardised, automated and enforced via computer programs to increase the integrity of the ledger.
  16. Huckle, Steve; Bhattacharya, Rituparna; White, Martin; Beloff, Natalia (2016). "Internet of Things, Blockchain and Shared Economy Applications". Procedia Computer Science. Elsevier B.V. 98: 463. doi:10.1016/j.procs.2016.09.074. Firstly, that total quantity of BTC in a transaction's inputs must cover the total number of BTC in the outputs. That rule behaves similarly to a database stored procedure, except that it is impossible to circumvent. Secondly, BTC transactions use public-private key cryptography. That makes BTC act like a database with a publicly auditable per-row permission scheme.
  17. Makhovsky, Andrei (December 22, 2017). "Belarus adopts crypto-currency law to woo foreign investors". Reuters.
  18. "Belarus Enacts Unique Legal Framework for Crypto Economy Stakeholders" (PDF). Deloitte. December 27, 2017.
  19. Patricolo, Claudia (December 26, 2017). "ICT Given Huge Boost in Belarus". Emerging Europe.
  20. Chapter 9: Building a Secure Future, One blockchain at a time, US Senate Joint Economic Committee, March 2018.
  21. De, Nikhilesh (5 April 2018) Arizona’s Governor Signs Latest Blockchain Bill Into Law
  22. Hyman Gayle M, Digesti, Matthew P New Nevada legislation recognizes blockchain and smart contract terminologies August 2017, Nevada Lawyer
  23. De, Nikhilesh Smart Contracts Now Recognized Under Tennessee Law (23 March 2018)
  24. Tinianow, Andrea (7 March 2019) A Split Emerges In Blockchain Law: Wyoming's Approach Versus The Supplemental Act
  25. Mik, Eliza, Smart Contracts: A Requiem (December 7, 2019). Journal of Contract Law (2019) Volume 36 Part 1 at p 72
  26. J Cieplak, S Leefatt, ‘Smart Contracts: A Smart Way To Automate Performance’ (2017) 1 Georgia L & Tech Rev 417
  27. Governatori, Guido; Idelberger, Florian; Milosevic, Zoran; Riveret, Regis; Sartor, Giovanni; Xu, Xiwei (2018). "On legal contracts, imperative and declarative smart contracts, and blockchain systems". Artificial Intelligence and Law. 26 (4): 33. doi:10.1007/s10506-018-9223-3.
  28. Atzei, Nicola; Bartoletti, Massimo; Cimoli, Tiziana; Lande, Stefano; Zunino, Roberto (2018), "SoK: unraveling Bitcoin smart contracts" (PDF), 7th International Conference on Principles of Security and Trust (POST), European Joint Conferences on Theory and Practice of Software
  29. Atzei, Nicola; Bartoletti, Massimo; Cimoli, Tiziana (2017), "A survey of attacks on Ethereum smart contracts" (PDF), 6th International Conference on Principles of Security and Trust (POST), European Joint Conferences on Theory and Practice of Software
  30. "Blockchain Domains: What Are They and How Are They Implemented? | Hacker Noon". hackernoon.com. Retrieved 2020-04-25.
  31. Jamali, Mahommad; Bahrami, Bahareh; Heidari, Arash; Allahverdizadeh, Parisa; Norouzi, Farhad (2019). Towards the Internet of Things: Architectures, Security, and Applications. Springer. ISBN 9783030184681.
  32. Nick Szabo (1998). "Secure Property Titles with Owner Authority". Archived from the original on January 15, 2014. Retrieved January 12, 2014.
  33. Jörg F. Wittenberger (2002). "Askemos a distributed settlement".
  34. "Proceedings of International Conference on Advances in Infrastructure for e-Business, e-Education, e-Science, and e-Medicine on the Internet" (PDF).
  35. Martin Möbius (2009). "Erstellung eines Archivierungskonzepts für die Speicherung rückverfolgbarer Datenbestände im Askemos-System". Cite journal requires |journal= (help)
  36. Tom-Steve Watzke (2010). "Entwicklung einer Datenbankschnittstelle als Grundlage für Shop-Systeme unter dem Betriebssystem Askemos". Cite journal requires |journal= (help)
  37. RA Markus Heinker (2007). "Beweiswürdigung elektronischer Dokumente im Zivilprozess unter vergleichender Betrachtung von qualifizierten elektronischen Signaturen nach dem Signaturgesetz und dem Askemos-Verfahren".
  38. Hal Hodson (20 November 2013). "Bitcoin moves beyond mere money". New Scientist. Retrieved 12 January 2014.
  39. Ross, Rory (2015-09-12). "Smart Money: Blockchains Are the Future of the Internet". Newsweek. Retrieved 2016-05-27.
  40. Wigan, David (2015-06-11). "Bitcoin technology will disrupt derivatives, says banker". IFR Asia. Retrieved 2016-05-27.
  41. Peck, M. (28 May 2016). "Ethereum's $150-Million Blockchain-Powered Fund Opens Just as Researchers Call For a Halt". IEEE Spectrum. Institute of Electrical and Electronics Engineers.
  42. DuPont, Quinn (2017). "Experiments in Algorithmic Governance: A history and ethnography of "The DAO", a failed Decentralized Autonomous Organization" (PDF). Archived from the original (PDF) on 2017-07-30. Retrieved 29 July 2017.
  43. Coy, Peter; Kharif, Olga (25 August 2016). "This Is Your Company on Blockchain". Bloomberg Businessweek. Retrieved 2016-12-05.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.