Authors:
Emanuel Onica
and
Cosmin-Ionuţ Schifirneţ
Affiliation:
Faculty of Computer Science, Alexandru Ioan Cuza University of Iaşi, Romania
Keyword(s):
Blockchain, Hashing Algorithms, Ethereum.
Abstract:
Ethereum is a popular public blockchain platform and currently the most significant featuring smart contract functionality. Smart contracts are small programs that are executed on the blockchain nodes, which can be used to implement complex transaction logic. Several high-level programming languages are available for writing Ethereum smart contracts, the most used being Solidity. The high-level code is further translated into a bytecode executed by a dedicated runtime environment, the Ethereum Virtual Machine (EVM). A few operations are, however, externalized as precompiled contracts, and run by the native implementation of the Ethereum node. These are typically computationally intensive operations such as cryptographic hash functions. Various smart contract patterns require hash computations. In such contexts, the current hash functions supported by Ethereum have a direct impact in both the performance and cost inflicted on the blockchain users. In this paper we investigate the avai
lable options for hashing in smart contracts, we discuss the implications regarding some patterns and we evaluate possible improvements. In particular we focus on the recent Blake family of cryptographic hash functions, which show promising performance results, but has yet limited support in the Ethereum platform.
(More)