  Ethereum's Gas mechanism attempts to set transaction fees in accordance with
the computational cost of transaction execution: a cost borne by default by
every node on the network to ensure correct smart contract execution. Gas
encourages users to author transactions that are efficient to execute and in so
doing encourages node diversity, allowing modestly resourced nodes to join and
contribute to the security of the network.
  However, the effectiveness of this scheme relies on Gas costs being correctly
aligned with observed computational costs in reality. In this work, we
performed the first large scale empirical study to understand to what degree
this alignment exists in practice, by collecting and analyzing Tera-bytes worth
of nanosecond-precision transaction execution traces. Besides confirming
potential denial-of-service vectors, our results also shed light on the role of
I/O in transaction costs which remains poorly captured by the current Gas cost
model. Finally, our results suggest that under the current Gas cost model,
nodes with modest computational resources are disadvantaged compared to their
better resourced peers, which we identify as an ongoing threat to node
diversity and network decentralization.
