All Smart Contracts Are Ambiguous

2 Journal of Law and Innovation 1 (2019)

Cornell Legal Studies Research Paper No. 19-20

22 Pages Posted: 28 May 2019 Last revised: 21 Oct 2019

Date Written: January 14, 2019


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

Grimmelmann, James and Grimmelmann, James, All Smart Contracts Are Ambiguous (January 14, 2019). 2 Journal of Law and Innovation 1 (2019), Cornell Legal Studies Research Paper No. 19-20, Available at SSRN:

James Grimmelmann (Contact Author)

Cornell Tech ( email )

2 West Loop Road
New York, NY 10044
United States

Cornell Law School ( email )

Myron Taylor Hall
Cornell University
Ithaca, NY 14853-4901
United States

Do you have negative results from your research you’d like to share?

Paper statistics

Abstract Views
PlumX Metrics