Overview of the Languages for Safe Smart Contract Programming
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 attac...
Main Authors: | , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
Ivannikov Institute for System Programming of the Russian Academy of Sciences
2019-09-01
|
Series: | Труды Института системного программирования РАН |
Subjects: | |
Online Access: | https://ispranproceedings.elpub.ru/jour/article/view/1185 |
_version_ | 1819025431436722176 |
---|---|
author | Alexey Valerievitch Tyurin Ivan Vladimirovitch Tyulyandin Vladimir S. Maltsev Jacob Alexandrovitch Kirilenko Daniil Andreevitch Berezun |
author_facet | Alexey Valerievitch Tyurin Ivan Vladimirovitch Tyulyandin Vladimir S. Maltsev Jacob Alexandrovitch Kirilenko Daniil Andreevitch Berezun |
author_sort | Alexey Valerievitch Tyurin |
collection | DOAJ |
description | 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. |
first_indexed | 2024-12-21T05:10:34Z |
format | Article |
id | doaj.art-1703302e3e6a4662838a0bea957b0192 |
institution | Directory Open Access Journal |
issn | 2079-8156 2220-6426 |
language | English |
last_indexed | 2024-12-21T05:10:34Z |
publishDate | 2019-09-01 |
publisher | Ivannikov Institute for System Programming of the Russian Academy of Sciences |
record_format | Article |
series | Труды Института системного программирования РАН |
spelling | doaj.art-1703302e3e6a4662838a0bea957b01922022-12-21T19:15:04ZengIvannikov Institute for System Programming of the Russian Academy of SciencesТруды Института системного программирования РАН2079-81562220-64262019-09-0131315717610.15514/ISPRAS-2019-31(3)-131173Overview of the Languages for Safe Smart Contract ProgrammingAlexey Valerievitch Tyurin0Ivan Vladimirovitch Tyulyandin1Vladimir S. Maltsev2Jacob Alexandrovitch Kirilenko3Daniil Andreevitch Berezun4Санкт-Петербургский государственный университетСанкт-Петербургский государственный университетСанкт-Петербургский государственный университетСанкт-Петербургский государственный университетНациональный исследовательский университет «Высшая школа экономики»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.https://ispranproceedings.elpub.ru/jour/article/view/1185блокчейнбезопасность смарт-контрактовязыки программирования |
spellingShingle | Alexey Valerievitch Tyurin Ivan Vladimirovitch Tyulyandin Vladimir S. Maltsev Jacob Alexandrovitch Kirilenko Daniil Andreevitch Berezun Overview of the Languages for Safe Smart Contract Programming Труды Института системного программирования РАН блокчейн безопасность смарт-контрактов языки программирования |
title | Overview of the Languages for Safe Smart Contract Programming |
title_full | Overview of the Languages for Safe Smart Contract Programming |
title_fullStr | Overview of the Languages for Safe Smart Contract Programming |
title_full_unstemmed | Overview of the Languages for Safe Smart Contract Programming |
title_short | Overview of the Languages for Safe Smart Contract Programming |
title_sort | overview of the languages for safe smart contract programming |
topic | блокчейн безопасность смарт-контрактов языки программирования |
url | https://ispranproceedings.elpub.ru/jour/article/view/1185 |
work_keys_str_mv | AT alexeyvalerievitchtyurin overviewofthelanguagesforsafesmartcontractprogramming AT ivanvladimirovitchtyulyandin overviewofthelanguagesforsafesmartcontractprogramming AT vladimirsmaltsev overviewofthelanguagesforsafesmartcontractprogramming AT jacobalexandrovitchkirilenko overviewofthelanguagesforsafesmartcontractprogramming AT daniilandreevitchberezun overviewofthelanguagesforsafesmartcontractprogramming |