RUS  ENG
Full version
JOURNALS // Proceedings of the Institute for System Programming of the RAS // Archive

Proceedings of ISP RAS, 2019 Volume 31, Issue 3, Pages 157–176 (Mi tisp430)

This article is cited in 2 papers

Overview of the languages for safe smart contract programming

A. V. Tyurina, I. V. Tyulyandina, V. S. Maltseva, I. A. Kirilenkoa, D. A. Berezunb

a Saint Petersburg State University
b Higher School of Economics National Research University

Abstract: Blockchain technologies are gradually being found an application in many areas, especially in FinTech. As a result, a lot of blockchain platforms have emerged with the support of smart contracts that are intended to automate party interactions. However, it has been shown that they are prone to attacks and errors which lead to money loss. To date, there has been a wide range of approaches for making smart contracts safer that included analysis tools, reasoning models, and safer and more rigorous programming languages. In this paper, we provide an overview of smart contract programming languages design principles, related vulnerabilities, and future research areas. The provided overview is meant to outline the to date state of languages and to become a possible basis for future proceedings, and show approaches, used by the community, to reach safe and usable language for smart contracts. We have split all found vulnerabilities by source of their arising. Various languages’ characteristics such as abstraction level, paradigm, Turing completeness and main features are summarized in the table. Additional information about languages is provided, e.g. model of execution and tools for static analysis.

Keywords: blockchain, smart contracts safety, programming languages.

Language: English

DOI: 10.15514/ISPRAS-2019-31(3)-13



Bibliographic databases:


© Steklov Math. Inst. of RAS, 2024