Smart Contract Languages: A Multivocal Mapping Study

Blockchain is a disruptive technology that has attracted the attention of the scientific community and companies, as proven by the exponential growth of publications on this topic in recent years. This growing interest is mainly due to the promise that the use of blockchain enables it to be verified, without including any trusted intermediaries, that the information received from the network is authentic and up-to-date. In this respect, blockchain is a distributed database that can be seen as a ledger that records all transactions that have ever been executed. In this context, smart contracts are pieces of software used to facilitate, verify, and enforce the negotiation of a transaction on a blockchain platform. These pieces of software are implemented by using programming languages, which are sometimes provided by the blockchain platforms themselves. This study aims to (1) identify and categorise the state-of-the-art related to smart contract languages, in terms of the existing languages and their main features; and, (2) identify new research opportunities. The review has been conducted as a multivocal mapping study that follows the guidelines proposed by Garousi et al. for conducting multivocal literature reviews, as well as the guidelines proposed by Kitchenham and Charters for conducting mapping studies. As a result of the implementation of the review protocol, 4119 papers were gathered, and 109 of them were selected for extraction. The contributions of the paper are twofold: (1) 101 different smart contract languages have been identified and classified according to a variety of criteria; (2) a discussion on the findings and their implications for future research have been outlined. As a conclusion, it could be stated that a rigorous and replicable overview of the state-of-the-art of smart contract languages has been provided that can benefit not only researchers, but also practitioners in the field, thanks to its multivocal nature.

The publication can be referenced as follows:

  • Ángel Jesús Varela-Vaca and Antonia M. Reina Quintero. 2021. Smart Contract Languages: A Multivocal Mapping Study. ACM Comput. Surv. 54, 1, Article 3 (January 2021), 38 pages. DOI:https://doi.org/10.1145/3423166

NOTES:

  • The publicacion can be accessed here. Publication DOI: https://doi.org/10.1145/3423166
  • The datasets used to conduct this multivocal mapping study can be accessed via Mendeley Datasets here. Dataset DOI: doi:10.17632/b34b55nb3w.1
  • The Appendixes with the list of selected primary studies from both, white and grey literature, as well as other detailed tables can be accessed in pdf format here.
  • The auxiliary datasets and the graphics generated and included in the paper can be accessed in notebook format here.
  • The Python code that is behind the graphics generation can be accessed in GitHub here.