Do Smart Contract Languages Need to Be Turing Complete?

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.