Blockchain based systems become more and more prominent. While starting by developing (crypto)currency payment schemes, a lot of the latest development goes in the direction of executing source code directly in the peer-to-peer network blockchains are usually built on. These so called smart contracts have become popular in order to reduce the amount of necessary middle-mans involved in different processes. Despite the large amount of research already invested in the design of languages which support smart contracts, there are still a lot of problems in the existing approaches, regularly resulting in security flaws. One of these problems is the complexity of the used languages. Therefore, this paper provides an evaluation of currently deployed smart contracts with respect of the requirements of those contracts concerning computability. The finding is that most of the currently deployed smart contracts do not need Turing complete languages, but could also be implemented based on a simpler design of the underlaying language.
[1]
Antoaneta Serguieva,et al.
Sustainable blockchain-enabled services: Smart contracts
,
2017,
2017 IEEE International Conference on Big Data (Big Data).
[2]
Jan Goyvaerts,et al.
Regular Expressions Cookbook
,
2009
.
[3]
Craig S Wright.
Turing Complete Bitcoin Script White Paper
,
2016
.
[4]
Bayu Adhi Tama,et al.
A critical review of blockchain and its current applications
,
2017,
2017 International Conference on Electrical Engineering and Computer Science (ICECOS).
[5]
Nikhil Swamy,et al.
Formal Verification of Smart Contracts: Short Paper
,
2016,
PLAS@CCS.
[6]
A. Church.
An Unsolvable Problem of Elementary Number Theory
,
1936
.
[7]
Massimo Bartoletti,et al.
A Survey of Attacks on Ethereum Smart Contracts (SoK)
,
2017,
POST.
[8]
Henry M. Kim,et al.
Understanding a Revolutionary and Flawed Grand Experiment in Blockchain: The DAO Attack
,
2017,
J. Cases Inf. Technol..