Smart Contracts: Terminology, Technical Limitations and Real World Complexity DR Eliza Mik
Smart Contracts: Terminology, Technical Limitations and Real World Complexity DR Eliza Mik
Complexity
Dr Eliza Mik*
ABSTRACT
If one is to believe the popular press and many “technical writings,”
blockchains create not only a perfect transactional environment but also
obviate the need for banks, lawyers and courts. The latter will soon be
replaced by smart contracts: unbiased and infallible computer programs that
form, perform and enforce agreements. Predictions of future revolutions
must, however, be distinguished from the harsh reality of the commercial
marketplace and the technical limitations of blockchain technologies. The
fact that a technological solution is innovative and elegant need not imply
that it is commercially useful or legally viable. Apart from attempting a
terminological “clean-up” surrounding the term smart contract, this paper
presents some technological and legal constraints on their use. It confronts
the commonly made claims concerning their ability to automate the
transacting process and to ensure perfect performance. It also examines the
possibility of reducing contractual relationships into code and the ability to
integrate smart contracts with the complexities of the real world. A closer
analysis reveals that smart contracts can hardly be regarded as a semi-
mythical technology liberating the contracting parties from the shackles of
traditional legal and financial institutions. While some of their technical
features seem prima facie attractive, especially to non-lawyers, a closer
analysis reveals their many shortcomings.
1. Introduction
Purportedly, smart contracts are contracts that are represented in code and executed
by computers. They are not only formed online but their very performance is enabled
and guaranteed by a network of decentralized, co-operating computer nodes, known
as blockchains. Originally, smart contracts were contemplated within a limited range
of transactions, predominantly financial instruments. Progressively, however, the
surrounding narrative has become broader, implying that all contracts can be made
smart or that many different obligations can be enforced by code. What started as a
niche phenomenon in such areas as financial derivatives and prediction markets, is
now poised to change the entire legal landscape and “revolutionize” commerce.
Allegedly, smart contracts can streamline the contracting process, reduce transaction
costs by eliminating intermediaries and, most importantly, simplify enforcement by
obviating the need to seek protection from traditional legal institutions, such as
courts. The theories underpinning smart-contracts and blockchains combine multiple,
interrelated threads all of which reflect an indiscriminate, if not irrational, fascination
with certain technical characteristics of blockchains. They also reflect a surprising
lack of trust in humans. As the latter are perceived as inherently biased and
unreliable, things should be left to computers. Humans, especially bankers and
judges, are fallible and not trustworthy.1 Computers, on the other hand, are objective,
infallible and trustworthy. 2 The very idea of smart contracts is thus inextricably tied
to the elimination of human judgement, the reduction of dependence on financial
intermediaries and, in many instances, a detachment from the legal system.3 In other,
more commercially-oriented contexts, smart contracts can simply be seen as part of
the broader trend to use technology to ensure a consistent application of legal rules
and agreements.
The legal analysis of smart contracts is rendered difficult by the fact that the
phenomenon originated in technical writings, which are characterized by an
inconsistent and incorrect use of legal terms. Given the complexity of the
technologies underlying smart contracts (distributed networks and asymmetric
cryptography, amongst others) it is also difficult to evaluate many claims concerning
their actual capabilities and real potential to change (speak: revolutionize) the
commercial and legal landscape. One is often left with a common-sense estimate of
what is (or can be) technologically viable and what is legally permissible or
necessary. To complicate matters, the smart contract narrative is often laden with
ideologically charged arguments that associate certain technological features of
blockchains (e.g. decentralized consensus) with broader social and economic issues,
such as the disenchantment with financial institutions or the (perceived) lack of trust
in the legal system. Many claims made in technical writings are tainted by the
assumption that certain technological features (decentralization, again…) are
absolute values and must be preserved at any cost. In the same vein, it is often
assumed that because a particular technology is innovative or revolutionary, it is also
commercially useful or capable of solving actual legal problems. This, however, is
often not the case. Arguably, the entire idea of smart contracts may be the result of a
series of terminological misunderstandings. At the same time, assuming that in some
instances smart contracts are or represent contracts in the legal sense, their practical
deployment may raise some interesting issues that transcend the simple question
whether it is technically and legally possible to automate the contracting process.
Roadmap
* I wish to thank Ernie Teo and Pralhad Deshpande (from IBM research), Jens Krebs, John O’Brien, the coding teams at Attores
and Otonomos, especially Gaurang Torvekar and Mano Thalanaban, Jason Teutsch (Truebit), as well as my SMU colleagues
Kelvin Low and Simon Schillebeeckx; all mistakes are mine.
1
For a humorous description see: Schumpeter, Not-so-clever contracts (2016) The Eonomist, at:
www.economist.com/news/business/21702758-time-being-least-human-judgment-still-better-bet-cold-hearted
2
See generally: Gavin Wood, Ethereum: A Secure Decentralised Generalised Transaction Ledger (2015), who proclaims the
impartiality of autonomous enforcement by code, 1.
3
Joshua A.T. Fairfield, Smart Contracts, Bitcoin Bots and Consumer Protection (2014) 71 Washington and Lee Law Review
Online 35, 37-38.
remain broad and generic, with few references to specific industries or specific
instantiations of smart contracts. Its contents and sequence are largely dictated by the
popular claims made in technical writings. The discussion commences with an
exploration of the very concept of smart contracts, their relationship with
blockchains and the core terms surrounding their use, such as “trustlessness,” “self-
enforcement” and “validation.” Consequently, the first part of the paper can be
regarded as a terminological “clean-up” followed by some technical explanations.
This part also inquires whether smart contracts are or can be legally enforceable. The
second part examines two problem areas, which can be reduced to the following
questions:
(a) What are the implications of the fact that smart contracts must be expressed
in code?
(b) Can the benefits of the blockchain be preserved if most smart contracts
necessitate a connection with the real world?
Finally, readers should be aware of the following caveats with regard to the scope
and depth of the paper. First, bypassing the regulatory aspects of blockchains, this
paper does not address the question whether bitcoins or any other crypto currencies
(“tokens”) constitute legal tender. It assumes, however, that the use of such tokens is
legal and both parties to the smart contract agree to accept such as part of the
exchange. After all, each blockchain-based smart contract involves the transfer of
crypto-tokens. Second, the term “technical writings” denotes various resources, such
as white papers or blogs, many of which would not withstand a peer-review process
but which are regarded as authoritative by the tech-community. Notably, there is no
single source about smart contracts or blockchains comparable to Requests for
Comments, which provide reliable descriptions of the core protocols and
technologies of the Internet. Consequently, all researchers in this area face the
challenges of finding reliable information and reconciling inconsistent terminology.
Third, some technical simplifications are necessary. One could, for example, indulge
in detailed explanations of the mining process, delve into comparisons between
different blockchains or endlessly dissect the concept of “validation.” While some
detail is unavoidable, this paper aims to convey broad ideas without going into
technological minutiae. It is acknowledged that there are different blockchains,
different smart contracts and different ways in which smart contracts relate to or
interact with their underlying blockchains. Some descriptions may fit one
configuration, but not another. 4The difficulties of making generalized statements are
particularly acute in light of the division into permissionless and permissioned
blockchains. Fourth, the paper does not address the problems of confidentiality,
privacy or identification.
There are multiple definitions of smart contracts. Some of them are purely technical
and associate smart contracts with pieces of autonomous code operating on a
blockchain5 or with “systems which automatically move digital assets according to
5
Wood (n 2), 15.
4
arbitrary pre-specified rules.”6 Other definitions associate smart contracts with the
formalized expression and automated execution of legal contracts, with the use of
code to perform contractual agreements, 7 with protocols that “facilitate, verify,
execute or embody the terms of a contract”8 or with the embedding of legal terms in
hardware and software to prevent breach or to control assets by digital means. 9
Another group of definitions commences with a technical description only to observe
that the given protocol will have serious legal implications. 10 In some instances the
term “contract” is used informally, with no claims being made as to its legal
significance; in others, technical writings take the “contract” terminology seriously
and theorize that smart contracts in general will obviate the need for lawyers and
judges by automating and guaranteeing contractual performance. Those making such
claims, however, often use the term “contract” so liberally that it loses any
resemblance to its original definition - that of a legally enforceable agreement. One
must wonder: once a linguistic clean-up is completed and once it becomes apparent
that many smart contracts are not contracts, will there be anything left worth
discussing from a legal perspective? After all, if “smart contracts” are nothing but
programs that run on a blockchain, there is no need for lengthy academic papers
debating their legal implications. The unfortunate terminology is attributable to a
paper by Szabo, which describes smart contracts as follows:
The paper elaborates that smart contracts “utilize protocols and user interfaces to
facilitate all steps of the contracting process,” including negotiation, performance,
and adjudication. 12 Some of the propositions made therein, such as the need to
develop new digital institutions, reflect the popular fascination with the “digital
revolution,” which characterizes all early cyberlaw scholarship. They exemplify
naïve notions of law, including the perceived inadequacy of “old” (i.e. pre-Internet)
systems, and the assumption that technological progress can remedy all problems –
including those inherent in the operation of the legal system. Given that the
“seminal” paper was written in the mid-90s, it does not surprise that it portrays courts
and legal principles as inconvenient legacies to be made redundant by suitable
technologies. Other propositions made therein, such as the use of technology to
secure contractual performance or to ensure adherence to the law, have evolved into
the theory that “code is law” and that technology has normative implications.13 Using
technology to enforce the law or private agreement is thus not a novel idea. What is
new in the smart contract narrative, however, is the combination of an indiscriminate
6
Vitalik Buterin Ethereum White Paper: A Next Generation Smart Contract & Decentralized Application Platform (2015).
7
Josh Stark, How Close Are Smart Contracts to Impacting Real-World Law? (2016) www.coindesk.com/blockchain-smarts-
contracts-real-world-law
8
T. Swanson. Great chain of numbers: A guide to smart contracts, smart property and trustless asset management, 2014.
(“Swanson”) 11, 16
9
Nick Szabo, Smart Contracts: Formalizing and Securing Relationships on Public Networks (1997) 2 (9) First Monday 2.
10
see e.g. Fan Zhang, et al., Town Crier: An Authenticated Data Feed for Smart Contracts (2016) 1, who define smart contracts
as programs that execute autonomously on the blockchain, only to imply that such programs execute the terms of a contract and
enforce payments that are due under such contract.
11
Szabo (n 9) 1.
12
Szabo(n 9) 2.
13
Lawrence Lessig, Code version 2.0 (Basic Books 1999); Roger Brownsword, Rights, Regulation, and the Technological
Revolution (Oxford University Press, 2013); Frank Pasquale, ‘Technology, Competition and Values’ (2007) 8 Minn. J.L. Sci. &
Tech. 607
5
Additional misunderstandings derive from the fact that nearly all technical writings
regard vending machines as early examples of smart contracts. The resulting theory
is that vending machines not only automate the transacting process but also
instantiate contractual terms in their hardware. This in turn renders the terms
immutable and guarantees that the contract is executed as coded. From a legal
perspective, however, a vending machine is not a contract but an offer made to the
world at large.15 The offer is made by the vendor, who uses the machine to display
his goods to the public. A contract is formed with whoever selects one of the
available options and inserts the required sum. Unquestionably, the vending machine
can automate both the formation and the performance of a contract, usually a sale of
goods. It ensures that transactions can occur in only one particular manner and,
vandalism or malfunction aside, guarantees that the goods are dispensed only to
those who provide payment. In this sense, it ensures perfect performance. The same
could be said of many e-commerce websites, such as Amazon.com or Spotify, which
automate contract formation and, whenever the contractual subject matter is digital
(e.g. music, eBooks) also the performance of the contract. Embedding business logic
in hardware or software does not, however, transform such hardware or software into
a contract - just like the automated release of goods by vending machines does not
constitute a reification of a contract of sale. Neither vending machines nor websites
are or enforce contracts. They can only dispense goods (or provide access to online
content) in response to payment. Moreover, vending machines are technically
incapable of embodying (and hence automating) all terms of the transaction, such as
exclusion clauses, warranties of fitness or suitability for purpose. All terms of the
transaction can be displayed on the machine – but very few can be instantiated by the
machine. In sum, the vending machine example taints most technical writings with
the incorrect assumption that the automation of a transaction (or certain stages
thereof) transforms the automaton into a smart contract or makes the transaction
itself smart.
3. Blockchains
Although the idea of smart contracts predates blockchains, the latter have sparked a
new interest in the area. Blockchains are commonly associated with crypto-
14
See: J. Stark. Making sense of blockchain smart contracts (2016) www.coindesk.com/making-sense-smart-contracts
15
Thornton v Shoe Lane Parking Ltd [1971] 2 QB 163
6
16
Trevor I. Kiviat, Beyond Bitcoin: Issues In Regulating Blockchain Transactions (2015) 65 Duke L.J. 569, 575; Jeanne L.
Schroeder, Bitcoin and the Uniform Commercial Code (2016) 24 U. Miami Bus. L. Rev. 1 at 65; Joshua A.T. Fairfield,
Bitproperty, 88 S. CAL. L. REV. 805 (2015).
17
Melanie Swan, Blockchain: Blueprint for a New Economy (2015) O’Reilly Media, Sebastopol, 9.
18
Distributed Ledger Technology: beyond block chain, UK Government, Office of Science (2016).
19 See generally: Tim Swanson, Consensus-as-a-service: a brief report on the emergence of permissioned, distributed ledger
systems (2015); for a comparison between the Bitcoin and Ethereum blockchains and a permissioned blockchain, see: Richard
Gendal Brown, et al., Corda: An Introduction (2016) 13, 14.
20
Don Tapscott, Alex Tapscott, Blockchain Revolution (2016, Penguin); William Mougayar, The Business Blockchain (2016,
John Wiley, Hoboken); WEF
21
Arguably, these very limitations gave raise to the creation of Ethereum and permissioned blockchains.
22
Kiviat (n 16) 578.
23
Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System (2008) 1.
24
Nakamoto (n 23) 2.
25
The Ethereum foundation website describes it as an open blockchain platform that lets anyone build and use decentralized
applications that run on blockchain technology. Unlike the Bitcoin protocol, Ethereum was designed to be adaptable and flexible.
a next-generation blockchain that had the ambitions to implement a general, fully trustless smart contract platform. Moreover:
“The Ethereum platform itself is featureless or value-agnostic. Similar to programming languages, it is up to entrepreneurs and
developers to decide what it should be used for. However, it is clear that certain application types benefit more than others from
Ethereum’s capabilities. Specifically, ethereum is suited for applications that automate direct interaction between peers or
facilitate coordinated group action across a network. For instance, applications for coordinating peer-to-peer marketplaces, or the
automation of complex financial contracts. Bitcoin allows for individuals to exchange cash without involving any middlemen
like financial institutions, banks, or governments. Ethereum’s impact may be more far-reaching. In theory, financial interactions
or exchanges of any complexity could be carried out automatically and reliably using code running on Ethereum. Beyond
7
Being “trustless”
The fascination with the blockchain derives from the fact that it establishes the truth
of an event without recourse to a trusted third party in an adversarial environment
where no-one can be trusted. 29 The truth of an event, i.e. the creation and/or transfer
of tokens, is established by means of “distributed consensus,” i.e. the confirmation
by a majority of nodes in a decentralized network that a given block has completed
the proof-of-work. Consequently, the blockchain itself is “trustless” because it
creates and confirms a certain state of affairs and replaces the need to trust third
parties with the ability to trust the technology itself. Trustlessness lies at the core of
all theories that associate blockchains with radical disintermediation. From its
inception, online commerce has been disadvantaged by the inherently insecure and
unreliable character of the Internet. 30 The latter was not designed as a transactional
financial applications, any environments where trust, security, and permanence are important – for instance, asset-registries,
voting, governance, and the internet of things – could be massively impacted by the Ethereum platform.”
http://ethdocs.org/en/latest/introduction/what-is-ethereum.html.
26
Miners are incentivized to add new blocks by obtaining bitcoins (when their block is added to the blockchain) and transaction
fees (when they include a particular transaction in their block); it must be noted that proof-of-work-based consensus is only
indispensable in permissionless ledgers where the parties cannot trust each other, for an overview of different types of consensus
see: Introduction to Hyperledger Business Blockchain Design Philosophy and Consensus (2016) Hyperledger Architecture,
Volume 1, 3-4.
27
: Andreas M. Antonopoulos, Mastering Bitcoin (O’Reilly, Sebastopol 2015) (“Antonopoulos”) 162
28
Böhme, Rainer, Nicolas Christin, Benjamin Edelman, and Tyler Moore, “Bitcoin: Economics, Technology, and Governance,”
Journal of Economic Perspectives (2015) 29, 213-238.
29
The problem is commonly referred to as the “Byzantine Generals Problem;” see: Leslie Lampert et al., The Byzantine Generals
Problem,(1982) 4 ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS at 382.
30
Marjory Blumenthal, David D Clark, ‘Rethinking The Design Of The Internet: The End-To-End Arguments Vs. The Brave
New World’ (2001) 1 ACM transactions on Internet technology 70, 80.
8
platform and its open nature is particularly unfavorable for transactions between
strangers who cannot trust each other because they have limited means to verify each
other’s identities or ensure payment. These shortcomings of the Internet have given
raise of a host of online intermediaries, such as eBay, paypal or Amazon, which
provide a secure but closed transacting environment controlled by a single entity. In
effect, online transactions are heavily mediated due to the need to compensate for the
technical deficiencies of the internet. In contrast, as the blockchain is inherently
incorruptible and secure, it is claimed that it has the potential to become a transacting
platform with no intermediaries. After all, if the platform itself is trustless, there is no
need for any third parties to absorb or reduce the transactional risks that are present
on an insecure platform. On a trustless platform, such risks are simply absent.
The above theories are, however, only partially correct. While it is true that the
Internet does not constitute a technologically perfect transacting environment, it is
incorrect to portray blockchains (especially permissionless ones) as such. The more
so, that once the blockchain is represented as a transacting platform, it is frequently
implied that everything that connects to, operates on or is embedded in the
blockchain becomes trustless, incorruptible and secure. Hence, “putting a smart
contract on the blockchain” eliminates the need for the parties to trust each other or
to rely on intermediaries. The very nature of the blockchain ensures that the smart
contract cannot be altered and, as that neither party can influence its execution, its
performance is guaranteed. It is generally overlooked, however, that the attributes of
the blockchain (especially trustlessness) are not inherited by the computational
processes or events that occur outside of its cryptographically secure domain. The
fact that “something” connects to the blockchain or writes data into a block does not
mean this “something” is or becomes trustless.
31
It is debateable whether stored procedures constitute computations or not.
32
At present, there are only five types of standard transactions, based on the limited number of scripts that can be processed by a
bitcoin reference client. Most transactions are Pay-to-Public-Key-Hash, Pay-to-public-key and multi-signature (Limited to 15
keys), Pay-to-script-Hash and OP-Return; see: Antonopoulos 128, 129, 137.
33
Antonopoulos 218; Such layered design embodies the principle of “separation of concerns,” which dictates that the individual
functions of a program (e.g. presentation, business logic, data) be independent from each other to ensure their optimized
performance, see: Ch. Reade (1989) Elements of Functional Programming. Boston, MA, USA: Addison-Wesley Longman; smart
contracts based on the original bitcoin blockchain combine the business logic with the data layers, such separation is more
prominent in the second generation blockchain, Ethereum, see: Buterin (n 7) 19.
9
may operate “in” or “on” the blockchain. The may be embedded within its code or
execute outside of it. The important point is that once more functionality is required,
the original benefits of the blockchain may be lost.
Validating transactions
“Self-enforcement”
34
Antonopoulos 175, 191
10
contracts are “self-enforcing” because they automatically transfer tokens upon the
occurrence of pre-defined events or automatically block access to cars or flats, in the
event of non-payment of a loan or rent.35 The underlying theory is that humans are
biased and generally unreliable. In contrast, code is unbiased and objective. It cannot
“change its mind,” refuse to perform or deny payment. Consequently, putting the
smart contract “on” the blockchain ensures that the contractual obligations are
executed without deviations because neither party can influence or interfere with its
operation. Legal and commercial certainty are achieved by the fact that performance
is technically guaranteed. Technical writings associate self-enforcement not only
with the automation of transactions and the elimination of human discretion on the
side of the contracting parties but also, more broadly, with the elimination of the
need to seek judicial assistance. The reasoning is that the blockchain shields the
smart contract from the vagaries of human discretion and protects the parties from
breach. If, then, the likelihood of breach is non-existent (at least theoretically) and
performance is guaranteed, traditional enforcement mechanisms are no longer
required. The use of the term “enforcement” is, however, somewhat misleading.
Contracts are, by definition, enforceable agreements. 36 In a legal context,
enforcement is associated with the state-sanctioned protection of the parties’
economic interest in the performance of the contract. In a colloquial context, it can
be said that when parties enforce their rights they seek to obtain what was promised
to them, be it by recourse to third parties or by self-help. In a legal context,
“enforceability” is thus difficult to disassociate from jurisdiction-specific systems of
adjudication. Courts generally enforce contracts by awarding damages for loss
resulting from non- or defective performance, seeking to place the aggrieved party in
the same position she would have been in had the contract been performed. Courts
can also enforce contracts by legally ordering performance, predominantly in the
case of actions in debt, where one party claims the payment of a specified sum that
has become due. Other types of contractual performance are rarely the subject of
such orders. Smart contracts, however, equate enforceability with guaranteed
performance, effectively collapsing these two concepts. Questions of loss or
damages do not even arise, neither does the question whether a particular sum has in
fact become due (the simplistic assumption being that it has). This total reliance on
technology emphasizes the symbolic independence of smart contracts from the legal
system and raises interesting doctrinal questions concerning the very admissibility of
such independence, especially in the consumer context. These questions must,
however, be relegated to a separate paper.
35
Kwesi D. Atta-Krah, ‘Preventing A Boom from Turning Bust: Regulators Should Turn Their Attention to Starter Interrupt
Devices Before the Subprime Auto Lending Bubble Bursts’ (2016) 101 Iowa Law Review 1187.
36
For an overview of definitions, each of which encompasses the concept of enforceability, see E. Peel, Chitty on Contracts, 31 st
edn (2012) vol 1, para 1-016; see also: The American Law Institute’s Restatement of Contracts, 2 nd edn, para.1; Brian Coote, The
Essence of Contract [14-15]
37
Christopher D. Clack, et al., ‘Smart Contract Templates:
foundations, design landscape and research directions’ (2016) ArXiv
e-prints 4.
11
Second, it is necessary to ensure that that the smart contract self-enforces as intended
or as promised, i.e. that the code correctly reflects the parties’ agreement, that
implementation matches intention. There may, however, be discrepancies between
the original agreement and its implementation, as reflected in the code of smart
contract. If the parties used a smart contract created by a third party, there may also
be a discrepancy between what the parties were told the smart contract would do and
what it actually does. Whoever writes the smart contract may fail to correctly reflect
the parties’ original intent, be it due to a misunderstanding of the underlying
agreement or specification (see below) or as a result of his incompetence or even
malice. Whoever makes the smart contract available for use may incorrectly
represent its functionality. If the parties are not programmers themselves, they cannot
verify whether the code accurately reflects their intentions or whether it will do what
it was promised to do. The point is not that the parties may not be able to determine
the actual functionality of the smart contract (as they can hire a specialist to do so)
but that it may be difficult to establish what takes precedence in the event the code of
the smart contract does not match the agreement it purportedly embodies. The
problem is particularly acute given the increasing security concerns surrounding
smart contracts. 39 Again, the accompanyin problems must be relegated to future
research.
38
Scholarship increasingly recognizes the dangers of automating legal decisions, including dangers of over-reliance on
computers, see: Kenneth A. Bamberger, Technologies of Compliance: Risk and Regulation in a Digital Age (2010) 88 Texas
Law Rev 669.
39
See Serpent Compiler Audit, ver. 1.0.0 by Zeppelin Solutions (24 July, 2017), which revealed a multitude of security problems
relating to one of the smart contract programming languages in Ethereum, Serpent.
12
Third, a tamper-proof smart contract requires that all possible events that may occur
during its lifetime and affect its operation be anticipated. If a smart contract is to
operate over a period of time, no decisions about its performance can be left to
humans and every aspect of its operation must be encoded upfront. The benefits of
self-enforcement would, after all, be lost if it was possible or necessary to revise its
code to accommodate future events. It is, however, practically impossible to create
an exhaustive list of events that could affect the operation of a smart contract. A
tamper-proof self-enforcing smart contract would continue to operate irrespective of
any change in circumstances, which could lead to a situation where it became
commercially absurd or even illegal. On a broader level, technical writings fail to
appreciate that contractual relationships are usually flexible and dynamic - even in
those instances when they are based on fixed legal language recorded in formal
documents. In traditional contracts, it is common to amend certain provisions to
adapt to external circumstances, such changes in the regulatory or commercial
landscape. It is also common to tolerate certain deviations from the agreed
performance without formally amending the contract. It could thus be argued that
smart contracts are rigid and can become easily disconnected from the transactional
reality in which they operate because no such adjustments are technically possible.
Moreover, in traditional contracts, both parties retain the ability to decide whether to
fulfill their obligations and whether to exercise their rights. 40 Such decisions are
often made long after the contract has been formed as there may be a significant
time-lag between the creation and the performance of the contract. If, however,
deviations from performance are technically impossible and if all rights are exercised
automatically, the parties lose the ability to adjust to changed circumstances.41 To
elaborate: in traditional contracts, each party can decide not to perform her
obligations. Deliberate non-performance may be frowned upon but is not illegal or
prohibited. Quite the opposite. Legal and economic theory expressly recognize the
concept of efficient breach: a party is allowed to breach a contract and pay damages,
if doing so is more economically efficient than performance. 42 Choosing not to
deliver the goods because another buyer is willing to pay a higher price optimizes
resource allocation and is legally permissible – as long as the contract breaker
compensates the aggrieved party for her loss. Being deprived of the option not to
perform is thus less commercially attractive and legally “dangerous” than commonly
assumed. Self-enforcement may also have drawbacks for the aggrieved party. In the
event of breach, the latter can decide whether (and how) to exercise her rights. In
principle, she has the right to claim damages for the resulting loss (if any) and, on
occasion, the right to terminate the contract. Whether this right is exercised
constitutes a fact-specific commercial decision. If, however, the entire contractual
relationship is locked into immutable code, termination occurs automatically and the
aggrieved party is deprived of the option not to exercise her rights.43 It can also be
assumed that in practice contractual performance is rarely perfect and that some
breaches are deliberately ignored, be it due to their commercial insignificance or to
preserve an otherwise beneficial relationship. In tamper-proof self-enforcing
transactions, these possibilities disappear: imperfect performance leads to
40
Swanson 28
41
Swanson 29
42
Charles Goetz, Robert Scott, ‘Liquidated Damages, Penalties, and the Just Compensation Principle: A Theory of Efficient
Breach’ (1977) 77 Columbia Law Review 554; Melvin A. Eisenberg, ‘Actual and Virtual Specific Performance, the Theory of
Efficient Breach, and the Indifference Principle in Contract Law’ (2005) 93 California Law Review 975.
43
ISDA & Linklaters, Whitepaper: Smart Contracts and Distributed Ledger – A Legal Perspective (August 2017) (“ISDA”)
13
Technical writings (and some legal scholarship) occasionally claim that blockchains
create a parallel transactional universe, or even their own jurisdiction, where the
parties can transact outside of the legal system. As a result, blockchain-based smart
contracts would, as indicated, obviate the need for legal rules and institutions. These
theories may derive from a misapprehension of the practical implications of the
decentralized character of the blockchain, especially with regards to its consensus
mechanism of validating transactions. Decentralization has, after all, often been
associated with the abandonment of traditional legal institutions. Similar claims
proliferated in early cyberspace scholarship, which proclaimed the independence of
cyberspace from the legal system and advocated radical disintermediation, which
seemed to be a natural consequence of the distributed nature of the Internet. 45 With
the benefit of hindsight, it can be observed that the decentralization of Internet
infrastructure in the technical sense is unrelated to and need no result in the
decentralization of commerce or a detachment from traditional institutions. It can be
cynically observed that once the Internet evolved into a platform for commerce and
once parties started using it to exchange real-world goods and services for real-world
money, the spirit of cyber-independence subsided considerably. The Internet
economy has evolved into a capitalist economy. 46 After a brief period of theoretical
turmoil, it has become uncontroversial that contracts formed “in cyberspace” must be
treated like all other contracts and are subject to the same legal principles. Each
online transaction is governed by the laws of its real-world jurisdiction. Unless the
contractual subject matter is illegal, as was the case with most transactions on
Silkroad, it is also not immediately apparent why anyone would want to transact
outside of the legal system. 47 Once an exchange involves anything of value, the
transacting parties must retain the ability to ask the courts for assistance in the event
something goes wrong. Technical writings, which imply that smart contracts and
blockchains obviate the need for judicial protection, overlook the simple fact that the
lack of recourse to established legal institutions would not only incentivize fraudsters
and hackers, but also discourage the very use of blockchains and smart contracts in
financial transactions. For smart contracts to become a viable commercial tool, they
must be not only technically but also legally enforceable. After all, the trustless and
incorruptible character of the blockchain is of limited significance if the code of the
smart contract executes outside of the blockchain and if self-enforcement is
incapable of protecting the parties from the risk of computer errors or from the
possibility of changed circumstances. It becomes apparent that the parties to a smart
contract must retain the ability to rely on traditional legal protections. Such
protections are, however, only reserved to those relationships that carry the indicia of
a contract.48
44
It is also increasingly recognized that perfect enforcement may not be desirable, see: Lisa A. Shay et al., Confronting
Automated Law Enforcement, in: Ryan Calo, Michael Froomkin, Ian Kerr eds., Robot Law (Edward Elgar 2016) 258; for an
explanation of the dangers of perfect enforcement see: Christina M. Mulligan, ‘Perfect Enforcement of the Law: When to Limit
and When to Use Technology’ (2008) 14 Richmond Journal of Law & Technology 13.
45
David R Johnson and David Post, ‘Law and Borders – The Raise of Law in Cyberspace’ (1996) 48 Stanford Law Review 1367
46
Manuel Castells, The Rise of the Network Society (Wiley & Sons, 2 nd ed, 2010) 160.
47
For example, blockchain-based assassination contracts.
48
Jack Goldsmith and Tim Wu, Who Controls the Internet? Illusions of a borderless world (Oxford University Press, 2006) 138.
14
The fact that smart contracts automate the performance of contractual obligations is
legally uncontroversial.55 The debates surrounding automated contracting have been
largely resolved by the scholarship that evolved around so-called “electronic agents,”
49
Andrew Phang, ed. The Law of Contract in Singapore (Singapore: Academy Publishing, 2012) at p 418: “Unless otherwise
provided-for, generally by way of statute, the common law does not impose any requirements as to formalities or the manner of
execution of a contract for such agreement to be legally binding.”
50
Harvey v Johnston (1848) 6 CB 295; Brogden v Metropolitan Rly Co (1877) 2 App. Cas. 666, HL.
51
Currie v Misa (1875) LR 10 Ex 153
52
Chappel & Co. Ltd. v. Nestle Co. Ltd. [1960] A.C. 87 (H.L.).
53
I bypass the question whether bitcoin is legal tender, sale or barter?
54
B.A. Hepple, “Intention to Create Legal Relations” (1970) 28 Cambridge L. J. 122 at 127-128; The Aramis [1989] 1 Lloyd's
Rep 213 at 225 per Lord Bingham; Warren Swain, “Contract as Promise: on the Role of Promising in the Law of Contract. A
Historical Account.” (2013) 17 Edin. L.R. 1 at 20.
55
R Nimmer, Electronic Contracting: Legal Issues (1996) 14 J Marshall J Computer & Info L 211; +EDI
15
computer systems that assist and act on behalf of their human operators. 56 The
possibility of automating transactions or expressing contractual intention by means
of computer processes has also been expressly recognized in e-commerce
regulations, such as the United Nation Convention on the Use of Electronic
Communications in International Contracts 57 or the Uniform Electronic Transactions
Act. 58 To deny the possibility of “delegating” the formation and performance of
contracts to computers is to deny the legal viability of automated securities trading,
vending machines and practically all e-commerce websites. 59 In each of these
examples, the computer executes a prior human decision to engage in a transaction
within pre-set parameters with whoever complies with these parameters. The
intention to be legally bound is manifested by means of a computer. In this sense,
smart contracts represent the intentions of the transacting parties, who chose to
express their obligations in code and automate certain aspects of contractual
performance.
Lastly, putting a smart contract “on” the blockchain does not place it outside of the
legal system or otherwise insulate it from the laws of a given jurisdiction. Apart from
meeting the prerequisites of enforceability, smart contracts must also remain
compatible with their jurisdiction-specific legal framework. If a transaction is
prohibited on grounds of illegality, such as when the parties agree to sell illicit drugs
or infringe import restrictions, it will not be permitted just because it is “on” the
blockchain. Similarly, if a smart contract executes an agreement that was formed
under duress or as a result of an actionable misrepresentation, the smart contract will
self-enforce but the underlying agreement may be set aside. If a particular type of
exchange is prohibited or if a contractual provision is illegal or unenforceable under
the rules of a specific jurisdiction - it remains prohibited, illegal or unenforceable if
embodied in a smart contract. Blockchains do not create decentralized marketplaces
operating “free from the reach of regulation.” 60 Some blockchain enthusiasts may
have misinterpreted the statement “code is law” as implying that code can supersede
the law or that decentralized networks create their own legal regimes. Code may
guarantee contractual performance or facilitate the transacting process but the
instructions it executes must remain within the confines of the law.
The very viability of smart contracts hinges on the ability to express contractual
obligations in code. Logically, as natural language cannot be directly executed by a
computer, self-enforcement requires that the terms of the smart contract be
computer-readable. There are multiple options: the smart contract can be a
translation of an existing agreement, it can be created in code from the outset or,
56
T Allen, R Widdison, Can Computers Make Contracts? (1996) 9 Harv J Law & Tech 25; J H Sommer, Against Cyberlaw
(2000) 15 Berkeley Tech L J 1145.
57
see: Convention on the Use of Electronic Communications in International Contracting, Nov. 23, 2005, U.N. Doc. A/60/21,
Article 12: A contract formed by the interaction of an automated message system and a natural person, or by the interaction o f
automated message systems, shall not be denied validity or enforceability solely on the ground that no natural person reviewed or
intervened in each of the individual actions carried out by the automated message systems or the resulting contract.
58
See UETA comment 1 to Section 14, which confirms that contracts can be formed by machines functioning as electronic
agents for parties to a transaction. It negates any claim that lack of human intent, at the time of contract formation, prevents
contract formation. When machines are involved, the requisite intention flows from the programing and use of the machine.
59
interesting issues arise in situations where one or both parties believe that SC are not legally binding and engage in automated
transactions on this assumption, mistake of law or absence of legal intention?
60
Aaron Wright, Primavera Filippi, ‘Decentralized Blockchain Technology and the Rise of Lex Cryptographia’ (2015),
http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2580664, 104.
16
Contract Translation
Given that the coders who create the smart contract cannot (or should not) decide on
its commercial and legal aspects,63 it is reasonable to assume that there must be an
document describing the substance of the agreement. Consequently, many smart
contracts will originate as documents written in natural language that require
subsequent translation into code. The difficulty of this process is generally
underestimated. The reasons are twofold.
First, technical writings extol the consistent progress in the areas of machine learning
and natural language processing and assume that the translation of natural language
into code can be automated or at least significantly facilitated by technological
means. At the switch of a button, contracts could be converted into executable code
in the same manner source code is compiled into object code. Despite consistent
progress in the said areas, it is presently impossible to automate the conversion of
natural language into code – at least not without a significant compromise in the
quality of the output of such conversion. 64 Machine learning enthusiasts might have
been misled by the relative success of google translate or the sensationalistic reports
of AI-based systems beating their human opponents at complex games.
61
Kiviat (n 16) 607.
62
Karen E.C. Levy, ‘Book-Smart, Not Street-Smart:
Blockchain-Based Smart Contracts and The Social Workings of Law’
(2017) 3 Engaging Science, Technology, and Society 10, 11; see also: I. Grigg, ‘On the Intersection of Ricardian and Smart
Contracts’ (2015).
63
C. K. Frantz and M. Nowostawski, ‘From institutions to code: Towards automated generation of smart contracts’ (2016) iEEE
1st international workshops on foundations and applications of self-systems (fASW) 210.
64
Wright and Filippi (n 60) 104; for a non-technical explanation of machine learning see: Harry Surden, ‘Machine Learning and
Law’ (2014) 89 Washington Law Review 87, 91-95.
17
65
On the limits of Natural Language Processing see Robert Dale, Classical Approaches to Natural Language Processing, in
HANDBOOK OF NATURAL LANGUAGE PROCESSING 1 (Nitin Indurkhya & Frederick J. Damerau eds., 2d ed. 2010)
66
Daniel Martin Katz, ‘Quantitative Legal Prediction—or—How I Learned to Stop Worrying and Start Preparing for the Data-
Driven Future of the Legal Services Industry’ (2013) 62 Emory Law Journal 909, 936.
67
See e.g. Stephen Wolfram, Computational Law, Symbolic Discourse and the AI Constitution—Stephen Wolfram Blog (2016)
http://blog.stephenwolfram.com/2016/10/computational-law-symbolic-discourse-and-the-ai-constitution/#comments
68
Peel, 229 [6-009]
69
Rainy Sky SA v Kookmin Bank [2011] UKSC 50; Re Sigma Finance Corp [2009] UKSC 2.
18
have to ascertain the meaning that the contract “would convey to a reasonable person
having all the knowledge which would reasonably have been available to the parties
in this situation in which the where at the time of the contract.” 70 Moreover, it must
not be forgotten that the process of interpretation is not limited to situations when
words are ambiguous but may sometimes reveal the very presence of ambiguity. 71 It
may not be immediately apparent that a particular word or expression is capable of
multiple interpretations. In the context of smart contracts, the problem would not lie
in the parties disagreeing over the meaning of words but in the possibility of
incorrect interpretations by those who decide how to convert a particular obligation
into code. To further aggravate matters, most contracts contain gaps and require that
terms be implied to make the agreement workable in practice. Again, the implication
of terms is traditionally performed by courts, not by the contracting parties.
Logically, had they discovered the gap, they would have addressed it. Given that that
the implication of terms requires an understanding of the legal rules and the
commercial context of a particular transaction, coders may not be able to identify and
to fill contractual gaps themselves. Ultimately, while it could be argued that the
aforementioned problems of interpreting or supplementing contractual language may
be solved by lawyers and coders co-operating in the translation of legal documents
into executable code, it must be acknowledged that despite such co-operation neither
the parties, nor their lawyers are able to ascertain whether the code of the smart
contract correctly reflects the originating legal document. Assuming that the smart
contract should mirror this document in all its nuances, there is potential for
discrepancies between what was agreed and what was implemented. Such
discrepancies are particularly unsettling given that once the smart contract
commences self-enforcement, it cannot be stopped or amended.
Direct coding
70
Hombourg Houtimport BV v Agrosin Private Ltd (The Starsin) [2003] UKHL 12.
71
Napier Park European credit opportunities fund ltd v Harbourmaster Pro-Rata CLO BV [2014] EWCA Civ 984
72
Stephen Wolfram, Computational Law, Symbolic Discourse and the AI Constitution—Stephen Wolfram Blog (2016)
http://blog.stephenwolfram.com/2016/10/computational-law-symbolic-discourse-and-the-ai-constitution/#comments
73
Harry Surden, Computable Contracts (2012) 46 UC Davis Law Review 635, 674-675.
19
ability to trust the blockchain is unrelated to the ability to trust the smart contract. As
the latter must be transparent to stakeholders and correctly reflect the agreement on
which it is based, it must be created by lawyers and programmers together. 74 This in
turn requires that those two groups be able to communicate via a common language.
Smart contracts should thus be written by lawyers in a “controlled legal natural
language” that is logical, clear, unambiguous, and comprehensible to programmers.75
Lawyers would be using this language to write de facto specifications guiding the
actual coding of the smart contract. The above approaches, particularly the latter,
appear prima facie attractive as they could reduce or even eliminates ambiguity and
minimize the potential for disputes. They mistakenly assume, however, that (a) the
elimination of ambiguity from contractual language is not only possible but also
desirable and that (b) all contractual obligations can be described in a manner that
enables their expression in code. Each of these assumptions raises a multitude of
technical and legal problems the detailed description of which exceeds the scope of
this paper. Some general observations are, however, possible – if only to illustrate the
complexity of the issues involved.
Most programmers - or those who propound the idea that smart contracts constitute a
cure to bad legal drafting - assume that it is always possible to draft complete and
unambiguous agreements. For an developer, the failure to do so evinces the limited
skill or incompetence of the lawyer. By virtue of their training developers perceive
ambiguity as inherently bad. It is important to understand, however, that ambiguity
has both advantages and disadvantages. While it may increase the potential for
disputes over the exact scope of the parties’ obligations, it also creates flexibility as it
allows the parties to retain a measure of flexibility in performing their side of the
bargain and in evaluating each other’s performances. It also enables both parties to
adapt to changing circumstances without having to redraft the agreement. Developers
fail to recognize that in contract law, ambiguity is a feature not a bug. Apart from the
natural ambiguity accompanying all human languages and the ambiguity that results
from sloppy drafting, many contractual provisions are deliberately written in a broad,
slightly imprecise manner to ensure a certain degree of leeway. The ambiguity of
certain provisions may also reflect the stronger bargaining position of one party, who
drafts the contract in a manner enabling it to deliver the absolute minimum without
being accused of breach. Terms may also be left vague because of an unwillingness
to invest resources in extended negotiations or drafting, or due to the widespread
approach that the contract is only a formality while the “real” agreement is reflected
in the ongoing commercial relationship. 76 Although it is trite law that contracts must
be “certain and complete” to be considered binding and enforceable, it is not
necessary for all contractual obligations be described with algorithmic precision.
Traditional contracts generally work well in the context in which they were made
without providing for all eventualities or describing all obligations in detail.77 It has
74
. K. Frantz and M. Nowostawski (n X), Clack (n 37).
75
F. Al Khalil, et al., ‘A Solution for the Problems of Translation and Transparency in Smart Contracts’ (2017) 3, 8, 9, stated that
“more attention should be paid to bridging the gap between a smart contract’s legal semantics, business semantics and regulatory
semantics and its denotational semantics and ensuring provenance, while guaranteeing the empirical fidelity of the operational
semantics. Simply put, it is the lawyers and financial professionals and not computer programmers who should be creating smart
contracts.”
76
Levy (n 62) 7.
77
Peel (n 39) para 6-013.
20
been observed that gains in precision may result in rigid determinism that will not
necessarily breed certainty but destroy adaptability, especially in long-term
contractual relationships where the potential for a change in circumstances is
particularly high.78
Additional problems concern the assumption made by many technical writings that
all obligations can be expressed in code.82 To recall, smart contracts were initially
envisaged in a limited number of contexts, such as financial instruments. As the
smart contract narrative became more ambitious, other contractual obligations are
potential “candidates” for self-enforcement. Such claims must, of course, be viewed
with skepticism. It is reasonable to assume that only those contractual obligations can
78
Surden (n 73) 674-675; see also: R. W. Gordon, ‘Macaulay, Macneil, and the Discovery of Solidarity and Power in Contract
Law’ (1983) 3 Wisconsin Law Review 565, 569, who emphasizes that contracts are not set in stone at the moment of formation
but change as circumstances change.
79
Batya Friedman & Helen Nissenbaum, ‘Bias in Computer Systems’ (1996) 14 ACM Transactions On Information Systems 330,
333 (1996) as quoted by Bamberger (n 41) 708.
80
https://medium.com/@coriacetic/in-bits-we-trust-4e464b418f0b
81
Kevin Delmolino, et al., ‘Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency
Lab’ (2016) Financial cryptography and data security - FC 2016 international workshops, BITCOIN, VOTING, and WAHC,
Christ Church, 79.
82
Logically, this correlates with the question which obligations can be automated. It must be assumed that some obligations can
be automated, such as those involving payment, while others are inherently unsuitable for automation, such as those involving
personal performance or uniquely human skills.
21
A discrete set of technical challenges concerns the event(s) triggering the transfer of
tokens. For smart contracts to function, parties must not only formulate agreements
in a manner facilitating their expression in code and define objective criteria to
determine contractual performance but also provide the smart contract with data that
enables such determination. 84 The ability to encode contractual obligations must be
distinguished from the ability to automatically determine the fulfillment of such
obligations. The distinction can be explained as follows: the obligation to deliver a
box to a certain place by a certain time can be precisely described and expressed in
code. It is also unproblematic to encode the obligation to pay once the box is
delivered. The smart contract to pay upon delivery must, inevitably, contain
references to physical objects (box) and events in the real-world (delivery). If, then,
payment is conditioned on delivery and if the entire process is to be automated, as
implicit in the concept of self-enforcement, it must be possible to establish delivery
without human involvement. To recall: eliminating the latter guarantees objectivity
and prevents disputes. Moreover, the event triggering payment (i.e. contractual
performance) must be computationally verifiable. 85 As a result, the self-enforcement
of the payment obligation is premised on (a) the availability of relevant data
concerning such performance, (b) the ability to feed such data to the smart contract
and (c) the performance itself being of a type that can be objectively and
83
See ISDA 18-20, for list of examples.
84
Surden (n 73) 677.
85
Levy (n 62) 10, 11.
22
automatically established. 86 For the sake of simplicity, it is assumed that only the
payment obligation self-enforces and that the other obligation is not automated, i.e.
the box is delivered by a human not by a robot. 87 At the same time, while the
delivery itself is not automated - the determination of delivery is.
To establish that the payment condition has been fulfilled, smart contracts must
communicate with the physical world. The resulting problems are particularly
noticeable in blockchain-based smart contracts. The original blockchain was
designed as an insulated environment, which cannot accept input from the “real
world.” 88 In this context, technical writings distinguish between on-chain and off-
chain events. If a particular process, asset or event concerns or occurs in the
blockchain, it is referred to as “on-chain.” Only on-chain events are natively visible
to the blockchain. Such events are few: the passage of time, the addition of blocks
(which includes the generation of tokens and the validation of transactions) and the
transfer of tokens, which occurs in response to the presentation of private keys (see
below). All processes, objects or events in the physical world are “off-chain.” The
blockchain cannot “see” or accept direct input about or from off-chain events.
86
Surden (n 73) 664.
87
The movement of physical assets by means of smart contracts presents even more technical challenges, see: Swanson 48.
88
see generally: Antonopoulos 125, 132.
89
Antonopoulos, 23
90
Antonopoulos, 117.
91
Antonopoulos, 98, 99, 100.
92
Antonopoulos 123, 124.
23
that the off-chain event has taken place. Entities that furnish the technical
infrastructure to communicate information about off-chain events to smart contracts
are commonly referred to a “oracles.” Oracles do not feed such information into the
blockchain directly (as this would compromise its trustlessness) but “only” sign the
script unlocking the tokens with their private key when an off-chain event is
established as true. Needless to say, this approach leaves no room for a nuanced
evaluation of contractual performance, as the oracle can only sign or not sign the
script. Despite its apparent simplicity, this model is plagued by a cascade of technical
interdependencies.
First, it is necessary to find a trustworthy and reliable oracle. Oracles exist outside of
the blockchain and are neither trustless nor decentralized. Despite the naming
convention, they do not constitute infallible sources of truth and cannot guarantee
that an off-chain event actually occurred. Moreover, oracles do not create or compute
the required information about off-chain events themselves but obtain if from
external data sources, such as websites, commercial providers (e.g. Bloomberg),
prediction markets (e.g. Augur), answer engines (e.g. WolframAlpha) or other
blockchains. Apart from finding a trustworthy oracle it is equally important to find a
trustworthy source of information.93 As a result, the parties to a smart contract (or its
creators) must select an oracle and a data source to be used thereby. To prevent
disputes, they must also agree beforehand that they will accept the information
provided by their chosen oracle (and its data source) as true. Smart contract
evangelists rarely mention the practical inability of ensuring that both the oracle and
its data source are as trustless as the blockchain. 94 As both oracles and data sources
can be compromised, 95 it may be necessary to create a network of oracles, which
obtain the information from multiple independent data sources. In such instance, the
off-chain event triggering payment must be confirmed by multiple oracles, i.e. the
payment will be released once N-of-M oracles sign the unlocking script.96 In effect,
the benefits of the trustless and incorruptible nature of the blockchain are easily lost
once the smart contract requires information about off-chain events.
The second set of challenges concerns the very act of obtaining information about
off-chain events. The latter can be divided into those that are public and universally
visible, such as stock prices or weather conditions, and those that do not possess
those attributes. Most types of contractual performance, including the
aforementioned delivery of a box, fall into the latter category. Some off-chain events
generate public data that can be obtained from multiple authoritative sources. For
example, it is easily established that at a particular time the NASDAQ reached a
particular value. This value will be identical even if reported by multiple sources, e.g.
Bloomberg and Reuters. Difficulties arise when different sources provide divergent
information about the same event, e.g. the temperature at a particular location is
reported differently depending on the placement and sensitivity of sensors. In such
instance, it may be necessary for the parties to agree on one specific source to avoid
later disputes. The real complications start, however, when information about an off-
chain event is not publicly available or otherwise difficult to obtain. Returning to the
93
examples of oracles are: reality keys at https://www.realitykeys.com; oraclize at http://www.oraclize.it.
94
the majority of oracles must provide their signatures for the event to be established, it remains vital to ensure that the oracles
are not in collusion; see Fan Zhan (n 10) 1.
95
http://docs.oraclize.it/#overview-problem
96
https://blog.oraclize.it/understanding-oracles-99055c9c9f7b#.ulbbmk519; in Ethereum the oracle is not putting a signature
once some conditions are verified, but providing the data directly.
24
box example, its delivery may be publicly visible and verifiable, but information
about this event may be difficult to obtain – at least not in an automated fashion or
from a single, unbiased authoritative source. If, then, there are no readily available
sources of information about certain events, the parties must create such sources
themselves. This may require the establishment of an elaborate physical
infrastructure, such as equipping the gates of warehouses with sensors and
embedding all boxes or containers with QR codes, NFC tags etc. Alternatively, the
parties must rely on third party providers who already have such infrastructure in
place. In either instance, it becomes apparent that smart contracts conditioning
payment on off-chain events, require an environment filled with sensors, physical
objects embedded with tracking technologies and computers that continually monitor
their surroundings. 97 It is often argued that many off-chain events will become easier
to determine automatically with advances in the Internet-of-Things, which involves
the proliferation of Internet-connected sensors providing real-time information about
the state of different physical objects. Unfortunately, such claims underestimate the
relative infancy of Internet-of-things technologies, particularly with regards to their
insecurity and absence of standardization. As in the case of oracles and their data
sources, the original benefits of putting the smart contract on the blockchain are lost
as neither the infrastructure creating the data source nor its provider can be
guaranteed to be trustless or secure.
7. Concluding Observations
97
Shay (n 47) 237.
98
The determination whether a Louis Vuitton bag is authentic necessitates a detailed examination of its stitches.
99
Surden (n 73) 683, 685.
25
limited in its processing capabilities and permits only very simple transactions.
Effectively, smart contracts become synonymous with the automated execution of
simple payment instructions. More complex transactions require more advanced
blockchains or protocols running on top of them. Such blockchains or protocols may
not, however, be decentralized, secure or trustless. In effect, smart contracts must
simply be seen as programs operating in distributed computing environments and not
as a semi-mythical technology liberating the contracting parties from the shackles of
traditional legal and financial institutions. As a result, the revolutionary claims
concerning disintermediation and self-enforcement made in the context of the
original blockchain can no longer be made. Moreover, once smart contracts involve
the performance of obligations in the real world, their operation involves multiple
dependencies on external, centralized and (possibly) insecure entities. As smart
contracts can only be as trustless as the oracle and the data source that provide them
with information about off-chain events, the fact that the blockchain itself is trustless
and secure, becomes largely irrelevant. In other words, once smart contracts involve
more complex transactions, i.e. exchanges that go beyond the movement of tokens in
response to the presentation of one or more private keys, the benefits of putting them
on the blockchain seem easily lost.
Another set of problems, unrelated to blockchains per se, concerns the subject matter
of smart contracts. Apart from the theoretical question whether full automation (i.e.
self-enforcement) of certain obligations is advisable, it must be acknowledged that
from a practical perspective, only some contractual obligations can be expressed in
code and only some obligations can be regarded as computationally ascertainable.
Consequently, smart contracts may be suitable for a rather narrow range of
transactions. They are difficult to envisage for contracts involving obligations relying
on such concepts as “reasonableness,” “best efforts” or for obligations the fulfillment
of which requires an overall evaluation of contractual performance. Given their
inability to fully reflect and allow for the complexities of the real world, the practical
use of smart contract may thus be limited. At the same time, on a theoretical level,
the provide fertile ground for research in the area of computational law and force
practitioners to be more aware of ongoing developments in programming languages.
In light of the frequent suggestions concerning the development of a language that
could serve as a common ground for lawyers and developers or even permit the
direct coding of contractual obligations, it is also necessary to inquire about the
desirability of reducing (or even eliminating) ambiguity in contracts and to
investigate the trade-offs between precision and certainty on one hand and ambiguity
and flexibility on the other. The reduction of ambiguity, praised by technical writings
as one of the main benefits of smart contracts, may be less attractive than originally
assumed. Self-enforcing smart contracts are rigid, deterministic and insulated from
their commercial context. The elimination of human judgment and the automation of
choice can easily evolve into a situation where the contracting parties effectively lose
the ability to choose whether and how to exercise their rights. Furthermore, it must
not be forgotten that smart contracts can ensure perfect performance and lower
transaction costs resulting from the elimination of intermediaries and traditional
enforcement mechanisms only on the assumption that their code is perfect: it
correctly reflects the parties’ commercial agreement, it contains no coding errors and
no security loopholes. Needless to say, such assumption cannot be made.
Interestingly, the technical shortcomings of smart contracts seem to increase the need
for prior agreement and/or complex regimes allocating liability for coding errors
26
and/or irregularities in the functioning of oracles and data sources. Smart contracts
may eliminate human bias and the risk of non-performance, but they introduce the
risks of programming errors, security breaches and discrepancies between original
intent and actual implementation. Given that the aforesaid events may give raise to
complex disputes, it is unlikely that smart contracts will reduce the need for lawyers
and courts or otherwise diminish the significance of the legal profession. For the time
being, the opposite may be expected.