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
A template is an electronic representation of a legal document as issued by a standards body — for example, by the International Swaps and Derivatives Association (ISDA). As illustrated in Figure 2, a template contains both legal prose and parameters, where each parameter has an identity (a unique name), a type, and may (but need not) have a value.
An agreement is a fully-instantiated template (including any customised legal prose and parameters). The customisation of legal prose and parameters at this stage is commonplace and results from negotiation between the counterparties. The legal prose of an agreement will be derived from that of the template, but need not be identical, and similarly the parameters of the agreement will be derived from the template but need not be identical. It is also common for agreements to comprise multiple documents such as framework agreements (e.g. a Master Agreement) with various annexes (e.g. a Schedule) and credit support documentation (e.g. a Credit Support Annex).
Deriving the set of code parameters may be complicated by three factors:
It is common for parameters to be embedded in the legal prose — such parameters would initially be identified visually, aided by a graphical user interface.
Some of the values identified as “parameters” in the agreement (or template) may not have an operational impact and therefore would not be passed to the smart contract code.
It is possible for a parameter to be defined (given a name) in one document, given a value in a second document, and used (e.g. in business logic) in a third document.
Although parameters need not have values in a template, they must have values in a signed agreement. All of an agreement’s parameter values are a critical part of the contract as they directly reflect the business relationship between parties and those that are code parameters influence the automated operation of the contract.
This paper is available on arxiv under CC BY 4.0 DEED license.