Efficient Blockspace Allocation Mechanisms

The gas cost of different operations is fixed in the code of the clients

The relative marginal costs of operations are unlikely to be unchanging, given changes in technology and client implementations. The discrepancies between relative gas prices and measures of execution time as the cost has already been noted to be a order of magnitude Broken Metre: Attacking Resource Metering in EVM

What would a efficient mechanism look like? Interactions between ops in a transaction, in terms of both the value they provide to a user and the costs they impose on the block producers, make preferences not aditively separable over the ops. A linear price per op can’t be efficient. So we would like to price the entire transaction. Users could submit their maximum potential payment fee for the transaction, and the block producers are then incentivized to fit as many as they can.

How can block sizes be limited in this world? Could add contraint that a block be executable by a given spec machine in a given time. Are there more flexible ways to tradeoff centralizing pressure and performance?

A naive measure of utility of the network could be the value of the fees being paid. This seems ineficient from a welfare perspective since it would encourage monopolistic pricing of the resources. How can we track something closer to the total surplus? Using randomization to estimate elasticities?

Started on April 19, 2022