  In recent years, prominent blockchain systems such as Bitcoin and Ethereum
have experienced explosive growth in transaction volume, leading to frequent
surges in demand for limited block space and causing transaction fees to
fluctuate by orders of magnitude. Existing systems sell space using first-price
auctions; however, users find it difficult to estimate how much they need to
bid in order to get their transactions accepted onto the chain. If they bid too
low, their transactions can have long confirmation times. If they bid too high,
they pay larger fees than necessary.
  In light of these issues, new transaction fee mechanisms have been proposed,
most notably EIP-1559, aiming to provide better usability. EIP-1559 is a
history-dependent mechanism that relies on block utilization to adjust a base
fee. We propose an alternative design -- a {\em dynamic posted-price mechanism}
-- which uses not only block utilization but also observable bids from past
blocks to compute a posted price for subsequent blocks. We show its potential
to reduce price volatility by providing examples for which the prices of
EIP-1559 are unstable while the prices of the proposed mechanism are stable.
More generally, whenever the demand for the blockchain stabilizes, we ask if
our mechanism is able to converge to a stable state. Our main result provides
sufficient conditions in a probabilistic setting for which the proposed
mechanism is approximately welfare optimal and the prices are stable. Our main
technical contribution towards establishing stability is an iterative algorithm
that, given oracle access to a Lipschitz continuous and strictly concave
function $f$, converges to a fixed point of $f$.
