Ethereum smart contracts: Analysis and statistics of their source code and opcodes
【Author】 Bistarelli, Stefano; Mazzante, Gianmarco; Micheletti, Matteo; Mostarda, Leonardo; Sestili, Davide; Tiezzi, Francesco
【Source】INTERNET OF THINGS
【影响因子】5.711
【Abstract】Smart contracts are programs that are used for verifying and enforcing the terms of an agreement. Ethereum is an extensively used platform that can be used to execute smart contracts. These can be defined by using high-level languages such as Solidity, Vyper and Bamboo that are compiled into low-level machine instructions, i.e., bytecode. These instructions define a Turing complete language and are often represented by using a readable format that is referred to as opcodes. Here, we present a novel, more comprehensive, study that aims at gaining a precise understanding on how programmers use the linguistic instructions supported by Ethereum. More precisely, the contracts' source code has been also analysed, in order to understand the high-level control structures and core instructions that are used for smart contract definitions, and how they are reflected on the opcode level. We have gathered ten of thousands of verified Ethereum smart contracts that have been written by using the Solidity language. This study can lay the groundwork for defining new formalisms and new domain specific languages (DSL). These can support the users in the development of decentralised applications (DAPPs). (C) 2020 Published by Elsevier B.V.
【Keywords】Ethereum; Smart contracts; Opcodes statistics; Analysis of smart contracts
【发表时间】2020 SEP
【收录时间】2022-01-02
【文献类型】
【主题类别】
--
评论