[1910.11143] The Economics of Smart Contracts
The hardware platform used for our experiments (see Table ??) contained a total number of 44 cores to ensure that cores were not over-subscribed.
Abstract: Ethereum is a distributed blockchain that can execute smart contracts, which
inter-communicate and perform transactions automatically. The execution of
smart contracts is paid in the form of gas, which is a monetary unit used in
the Ethereum blockchain. The Ethereum Virtual Machine (EVM) provides the
metering capability for smart contract execution. Instruction costs vary
depending on the instruction type and the approximate computational resources
required to execute the instruction on the network. The cost of gas is adjusted
using transaction fees to ensure adequate payment of the network. In this work,
we highlight the "real" economics of smart contracts. We show that the actual
costs of executing smart contracts are disproportionate to the computational
costs and that this gap is continuously widening. We show that the gas
cost-model of the underlying EVM instruction-set is wrongly modeled.
Specifically, the computational cost for the SLOAD instruction increases with
the length of the blockchain. Our proposed performance model estimates gas
usage and execution time of a smart contract at a given block-height. The new
gas-cost model incorporates the block-height to eliminate irregularities in the
Ethereum gas calculations. Our findings are based on extensive experiments over
the entire history of the EVM blockchain.
‹Figure 1: Time & gas per block. (Database Caches)Figure 2: Verification time versus number of transactions. (Database Caches)Figure 3: Block import vs. verification. (Database Caches)Figure 4: Block import split. (Database Caches)Figure 5: Overall execution time in percent. (Network Service)Figure 6: Relative difference between macroscopic and microscopic measurements. (Correspondence Between Macroscopic and Microscopic Instrumentation)Figure 7: Execution time ratio of BH-dependent instructions and BH-independent instructions. Data beyond the block-height of 8 M is interpolated, as indicated by the dashed line. (Effects of Block-Height-Dependent Instructions)Figure 8: Comparison between current and proposed gas model. (New Gas Model for Constant Time-Per-Gas)Figure 9: Time-per-gas of current and proposed gas model. (New Gas Model for Constant Time-Per-Gas)›
[1909.07220] Broken Metre: Attacking Resource Metering in EVM[1909.07220] Broken Metre: Attacking Resource Metering in EVM[1703.04057] BLOCKBENCH: A Framework for Analyzing Private Blockchains