All Smart Contracts Are Ambiguous
2 Journal of Law and Innovation 1 (2019)
22 Pages Posted: 28 May 2019 Last revised: 21 Oct 2019
Date Written: January 14, 2019
Abstract
Smart contracts are written in programming languages rather than in natural languages. This might seem to insulate them from ambiguity, because the meaning of a program is determined by technical facts rather than by social ones.
It does not. Smart contracts can be ambiguous, too, because technical facts depend on socially determined ones. To give meaning to a computer program, a community of programmers and users must agree on the semantics of the programming language in which it is written. This is a social process, and a review of some famous controversies involving blockchains and smart contracts shows that it regularly creates serious ambiguities. In the most famous case, The DAO hack, more than $150 million in virtual currency turned on the contested semantics of a blockchain-based smart-contract programming language.
Keywords: smart contracts, ambiguity, interpretation, blockchains, Bitcion, Ethereum
JEL Classification: K00
Suggested Citation: Suggested Citation