Performance Benchmarking for Ethereum Opcodes

Ethereum is a public (permissionless) blockchain with a Turing complete execution machine for smart contracts. Miners that execute a smart contract receive a fee determined by the gas associated with the operation codes (opcodes) in the smart contract. It is important that the gas award is proportional to the computation resources required, to assure that incentives are aligned and denial of service attacks are avoided. Currently, the amount of gas awarded is set statically for each opcode, but it is unknown if these values are correct for various computer architectures. Therefore, we propose in this paper a benchmark approach to assess the computational resources required per opcode. We apply the benchmark approach to PC and MAC as a first illustration of the approach.