A report titled ‘Smart Contract Templates: foundations, design landscape and research directions’ was published recently, examining some areas of focus and interest for the future of smart contracts. Christopher D. Clack Centre, Blockchain Technologies Department of Computer Science at University College London; Vikram A. Bakshi and Lee Braine from Investment Bank CTO Oﬃce at Barclays, covered a framework for smart contracts with both operational and non-operational aspects.
In the document, the authors describe templates and agreements for legally-enforceable smart contracts, based on legal documents. Integral to this, the authors conclude, is a common language in both code and law to prevent the need for a new template to be drawn up each time a new contract is created, more efficient methods are ones that will attract and retain interest which is crucial for mass adoption.
Smart contracts were defined as being either legal contracts being represented and executed in code or software executing code. To cover both definitions, the report provided an alternative: ‘A smart contract is an agreement whose execution is both automatable and enforceable. Automatable by computer, although some parts may require human input and control. Enforceable by either legal enforcement of rights and obligations or tamper-proof execution’
Also covered was how the enforcing of such contracts might take place, either through traditional dispute resolution, courts of law or non-traditional methods through the network. Preference for legal was stated as non-traditional methods would be very unforgiving to mistakes in coding or intent, or changes in circumstance. In addition, it was shown how template and parameters, including more complex ‘higher-order’ parameters may be set out.
Most emphasised was the statement that a smart contract template common language and code is needed. The design of that language has already begun by the authors, who have named it “CLACK” — a Common Language for Augmented Contract Knowledge.
In the long term, challenges that may be faced, alongside language, were described as agreeing on the meaning of a contract, how to work out if all execution parameters have been identified, and putting all parameters into code to have it execute as expected were highlighted. It is expected that the formal common language would assist in solving these problems and thus the development of this is one of the key features identified for further work, alongside exploring the potential of smart contracts to provide straight-through-processing of financial contracts and possibility of utilising smart contracts within existing infrastructure.