Abstract— With the rapid development of cryptocurrency
and its underlying blockchain technologies, platforms such as
Ethereum and Hyperledger began to support various types of
smart contracts. Smart contracts are computer protocols
intended to digitally facilitate, verify, or enforce the negotiation
or performance of a contract. Smart contracts have broad range
of applications, such as financial services, prediction markets
and Internet of Things (IoT), etc. However, there are still many
challenges such as security issues and privacy disclosure that
await future research. In this paper, we present a
comprehensive overview on blockchain powered smart
contracts. First, we give a systematic introduction for smart
contracts, including the basic framework, operating
mechanisms, platforms and programming languages. Second,
application scenarios and existing challenges are discussed.
Finally, we describe the recent advances of smart contract and
present its future development trends, e.g., parallel blockchain.
This paper is aimed at providing helpful guidance and reference
for future research efforts.
Keywords—smart contract; Ethereum; ACP approach;
parallel blockchain
I. INTRODUCTION
In recent years, the development of blockchain technology
has enabled customizable programming logic to be stored in a
decentralized way. This has revived the notion and facilitated
the creation of smart contracts (also called blockchain
contracts, digital contracts, or self-executing contracts) that
were first proposed by Nick Szabo in 1994 [1]. Smart
contracts are self-executing contracts with the terms of the
agreement between interested parties. The contracts are
written in the form of program codes that exist across a
distributed, decentralized blockchain network. Smart contracts
allow transactions to be conducted between anonymous or
untrusted parties without the need for a central authority [2].
Blockchain technology represented by Bitcoin and other
cryptocurrencies is called blockchain 1.0, which has the
typical features of decentralization, tamper-resistant,
anonymity and auditability. However, writing contracts with
complex logic is not possible due to the limitations of Bitcoin
scripting language (Bitcoin scripting language has only 256
instructions, in which, 15 are currently disabled, and 75 are
reserved). Due to limited functionality, Bitcoin can only be
considered as the prototype of smart contracts. Newly
emerging blockchain platforms such as Ethereum [3] embrace
the idea of running user-defined programs on the blockchain,
thus creating an expressive customized smart contracts with
the help of Turing-complete programming language. The
codes of Ethereum smart contract are written in a stack-based
bytecode language and executed in Ethereum Virtual Machine
(EVM). Several high-level languages such as Solidity
and
Serpent
can be used to write Ethereum smart contracts. The
code of those languages can then be compiled into EVM
bytecodes to be run. Ethereum is currently the most popular
platform for developing smart contracts, hence it is called
Blockchain 2.0 [4]. In addition to Ethereum, there are some
other platforms which can be utilized to develop smart
contracts, such as Hyperledger Fabric [5], Corda [6] and
BigchainDB [7], etc.
The correct implementation of smart contracts is enforced
by the consensus protocols [8]. The contracts can encode any
pre-defined rules and execute the corresponding operations
when trigger conditions are satisfied. Thus, smart contracts
can be applied in many fields, including intelligent assets (e.g.,
Slock.it
is a German company that utilizes Ethereum-based
smart contracts for renting, selling or sharing anything without
the involvement of intermediaries) and self-enforcing or
autonomous governance applications (e.g., digital property
management such as ujomusic
, e-voting, and supply chain)
[4].
Despite the expressiveness of smart contracts, they are
facing many technical challenges. A well-known example is
that in June 2016, the “Recursive calls attack” exploited the
DAO (DAO
is an abbreviation for decentralized autonomous
organization which is used as an investor-directed venture
capital fund) to siphon off one third of the DAO s funds to a
subsidiary account (the affected Ether had a value of about
$50M [9]). The Ethereum community had to implement the
hard fork (which is a radical change to the protocol that makes
previously invalid blocks/transactions valid, or vice-versa) for
Solidity. https://solidity.readthedocs.io
Serpent. https://github.com/ethereum/wiki/wiki/Serpent
Slock.it. https://slock.it/
Ujomusic. https://ujomusic.com/
DAO. https://www.ethereum.org/dao
An Overview of Smart Contract: Architecture, Applications, and
Future Trends
Shuai Wang
1,2
, Yong Yuan*
1,3
(Corresponding author, Senior Member, IEEE), Xiao Wang
1,3
, Juanjuan Li
1,3
,
Rui Qin
1,3
, Fei-Yue Wang
1,3,4
(Fellow, IEEE)
1
The State Key Laboratory for Management and Control of Complex Systems, Institute of Automation,
Chinese Academy of Sciences, Beijing 100190, China
2
University of Chinese Academy of Sciences, Beijing 100049, China
3
Qingdao Academy of Intelligent Industries, Qingdao 266109, China
4
Research Center of Military Computational Experiments and Parallel Systems,
National University of Defense Technology, Changsha 410073, China
{wangshuai2015, yong.yuan, x.wang, juanjuan.li, rui.qin, feiyue.wang}@ia.ac.cn
2018 IEEE Intelligent Vehicles Symposium (IV)
Changshu, Suzhou, China, June 26-30, 2018
978-1-5386-4452-2/18/$31.00 ©2018 IEEE 108