Vitalik Buterin posted a set of slides from a recent talk he apparently gave on “Transaction Cost Economics.” I didn’t see the talk but inferred some interesting take-a-ways from the slides that were worth noting.
When a transaction is recorded on a blockchain, someone needs to ‘process’ it. That is done in a decentralised fashion so transaction fees are paid by users to those providing the processing. This seems like a fairly straightforward thing with the processor incurring costs and the user paying for those because they benefit from having the transaction processed.
But Buterin notices an issue: each transaction imposes a social cost because each one is not something done in isolation. If you add an entry into the distributed ledger, then not only is it processed today, it is also part of the chain of blocks and so there are future costs as well. If no transactions were recorded, the blockchain itself is less costly to ‘manage.’
Buterin then asks the traditional economics question: how should these externalities be internalised? He wonders whether the price — or transaction fee — should be set to take into account those social costs or whether the quantity — number of transactions (or block size) — should be regulated to ensure that social costs are directly managed.
As it turns out, an economist answered these questions four or so decades ago. Martin Weitzman wrote a very simple paper called “Prices vs Quantities.” As Buterin notes, you use price regulation when social costs do not rise rapidly with scale and quantity regulation otherwise. The following figure from Buterin illustrates the basic logic.
But Buterin doesn’t stop at theory but actually tries to estimate the private benefits and social costs of block size. He finds that the marginal social cost as a U-Shaped form.
I couldn’t tell where Buterin thought we currently were but I think it was still on the flat portion of the curve suggesting that, at the moment, price regulation would be superior to quantity regulation — except that it is the latter that most blockchains do. In other words, they set quantity and use a first-price auction to allocate transactions to blocks.
Buterin has some thoughts about moving to a more efficient auction design but notes these are vulnerable to manipulation as providers of processing can also secretly act as bidders. Such ‘shill bidding’ was an issue in Melbourne house price auctions.
Such mechanisms might work for processing but there is still an issue with storage which is underpriced in blockchains. In particular, suppose you write a smart contract on a blockchain but then the block disappears because no one wants to pay for its storage. Then there is a problem. What you need to do is think of ways to get contract parties to pay for storage at the time the contract is written. Buterin speculates that some form of ‘hibernation’ might alleviate storage costs but it isn’t obvious how to do that without making the whole point of a smart contract — its commitment — vulnerable to other issues.
These are all open issues but certainly an opportunity for an enterprising economics PhD student to make progress on.
One Reply to “Buterin on blockchain transaction fee economics”