A contract written in natural language describes the parties’ rights and obligations. It cannot, however, ‘do’ anything. It produces legal not physical effects. Traditional contracts do not instruct computers to perform any operations. Contracts expressed in code could. The question arises: can we convert contractual documents from being passive embodiments evidencing agreements into active files containing computer instructions? While there are no doctrinal objections to the expression of contracts in code, there is myriad of complexities accompanying such expression. The ability to guarantee that contracts are performed as agreed, an idea underlying blockchain-based ‘smart contracts’, is predicated on the ability to express obligations in code or, more specifically, on the ability of code to express obligations exactly as agreed. The previous statement forms the core of an overdue debate. Not every obligation can be encoded, be it due to its very nature or to the limited expressiveness of programming languages. Highlighting the interplay between form and substance, this paper presents a high-level overview of the complexities involved in expressing contracts in code. Before contemplating the more technical (and exciting!) aspects of ‘smart contracts’ we must confront some preliminary (speak: prosaic!) questions: what exactly are we trying to encode – and for what purpose? Can the entire contract be expressed in code? Should we focus on translating legal prose into code or on encoding specific tasks that serve to discharge obligations? Set in the present, not in the distant future of robo-lawyers powered by quantum computers, this paper provides the groundwork for more ambitious projects in this area.
Mik, Eliza, Contracts in Code? (August 30, 2021). (2021) Law, Innovation and Technology 13.2.