![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
Authors:
(1) Christopher D. Clack, Centre for Blockchain Technologies, Department of Computer Science, University College London;
(2) Vikram A. Bakshi, Investment Bank CTO Office, Barclays;
(3) Lee Braine, Investment Bank CTO Office, Barclays.
2 Foundations and 2.1 Terminology — “smart contracts”
2.4 The semantics of contracts
3.2 The design landscape for Smart Contract Templates
4 Summary and Further Work and References
To lay the foundation for subsequent discussion, we elaborate four key topics of terminology, automation, enforceability, and semantics.
In [16], Stark gives an overview of the two different ways that the term “smart contract” is commonly used:
The first is operational, involving software agents, typically but not necessarily on a shared ledger. The word “contract” in this sense indicates that these software agents are fulfilling certain obligations and exercising certain rights, and may take control of certain assets within a shared ledger. There is no consensus on the definition of this use of the term “smart contract” — each definition is different in subtle ways [17, 18, 19]. Stark renames these agents as smart contract code.
The second focuses on how legal contracts can be expressed and implemented in software. This therefore encompasses operational aspects, issues relating to how legal contracts are written and how the legal prose should be interpreted. There are several ideas and projects which focus on these aspects such as CommonAccord [4], Legalese [13], Monax’s dual integration [12], and the Ricardian Contract [7]. Stark renames these as smart legal contracts.
Given that there is no clear consensus on the terminology being used, it is important that we should be clear in this paper. We prefer that the term “smart contract” should cover both versions, so we adopt a higher-level definition based on the two topics of automation and enforceability (that are explored in depth in sections 2.2 and 2.3):
A smart contract is an automatable and enforceable agreement. Automatable by computer, although some parts may require human input and control. Enforceable either by legal enforcement of rights and obligations or via tamper-proof execution of computer code.
This definition is sufficiently abstract to cover both “smart legal contracts” (where the agreement is a legal agreement, at least some of which is capable of being implemented in software) and “smart contract code” (which is automated software that may not necessarily be linked to a formal legal agreement). It simply states a requirement that the contract must be enforceable without specifying what is the aspect being enforced; for smart legal contracts these might be complex rights and obligations, whereas for smart contract code what is being enforced may simply be the actions of the code.
We focus on smart legal contracts, with the expectation that they will be performed using smart contract code. Throughout the rest of this paper we also, for clarity, adopt Stark’s terms smart contract code and smart legal contract.
This paper is available on arxiv under CC BY 4.0 DEED license.