Sunday, February 10, 2019

"All Smart Contracts Are Ambiguous"

Via the Social Science Research Network:
Penn Journal of Law and Innovation (Forthcoming)
23 Pages Posted: 25 Jan 2019
James GrimmelmannCornell Law School; Cornell Tech
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.
SSRN download page

Related:
Feb. 9 
"Crypto’s Founding Fallacy: How mistakes in the 'smart contract' genesis block weaken the whole chain"