  Smart contract platforms facilitate the development of important and diverse
distributed applications in a simple manner. This simplicity stems from the
inherent utility of employing the state of smart contracts to store, query and
verify the validity of application data. In Ethereum, data storage incurs an
underpriced, non-recurring, predefined fee. Furthermore, as there is no
incentive for freeing or minimizing the state of smart contracts, Ethereum is
faced with a tragedy of the commons problem with regards to its monotonically
increasing state. This issue, if left unchecked, may lead to centralization and
directly impact Ethereum's security and longevity. In this work, we introduce
an alternative paradigm for developing smart contracts in which their state is
of constant size and facilitates the verification of application data that are
stored to and queried from an external, potentially unreliable, storage
network. This approach is relevant for a wide range of applications, such as
any key-value store. We evaluate our approach by adapting the most widely
deployed standard for fungible tokens, i.e., the ERC20 token standard. We show
that Ethereum's current cost model penalizes our approach, even though it
minimizes the overhead to Ethereum's state and aligns well with Ethereum's
future. We address Ethereum's monotonically increasing state in a two-fold
manner. First, we introduce recurring fees that are proportional to the state
of smart contracts and adjustable by the miners that maintain the network.
Second, we propose a scheme where the cost of storage-related operations
reflects the effort that miners have to expend to execute them. Lastly, we show
that under such a pricing scheme that encourages economy in the state consumed
by smart contracts, our ERC20 token adaptation reduces the incurred transaction
fees by up to an order of magnitude.
