Cryptocurrency transactions require fees. Without them, blockchains would be subject to flooding-based denial-of-service attacks, rendering networks functionally unusable.
Transaction fees also serve a second purpose — subsidizing miner income. While fees are currently just a small percentage of income for most networks, this revenue stream will become increasingly relevant over time as protocols with disinflationary monetary policies phase out block rewards.
The question therefore arises as to what the optimal fee market structure should look like. How can we ensure that users are not over or underpaying for the utility afforded by blockchains while simultaneously adequately compensating miners for their services?
At present, protocols employ an informal first-price auction — miners will include transactions in blocks based on their associated fees, ordering them from highest to lowest.
This is an informal auction structure because the protocol has no way to enforce that miners behave in this way. If predisposed, miners can choose to censor high-fee transactions, or simply not include any transactions. Of course, in theory, including transactions on a high-to-low basis should be the most economically rational strategy, but the occasional instances of ‘spy mining’, where miners publish empty blocks in order to increase their chances of claiming block rewards, as well as pressure from authorities may occasionally lead them to divert course.
Problems of first-price:
Although the first-price auction has been functional for Bitcoin’s life to date, it has not been without its problems.
1. Cognitive load
As a first-price auction, users do not have an accurate sense of how to price their transaction fees – there is no ‘dominant strategy’.
One might reasonably assert that users should bid their ‘fair value’, i.e. the value that they are willing to pay for the utility afforded from having their transaction processed.
However, it could well be that a user’s fair value is higher than competing bids, and so that user will be over-paying for their transaction. Imagine a block has the capacity for 10 transactions and User A bids $10 while the remaining 9 users bid $1. User A will have their transaction included but will be overpaying by $9. This phenomenon is known as the ‘winner’s curse’.
Thus, a better strategy in a first-price auction is to bid below one’s ‘fair value’. However, this has problems of its own, as a user may either continue to overpay or, conversely, not have their transaction included.
In order to successfully have their transaction processed, a user must constantly account for mempool activity and competing bids. Taking these parameters into account leads to high cognitive load and a disorderly user experience, hardly a desirable property for an emerging currency.
An alternative for users is some kind of fee estimator, which calculates an optimal fee based on the average successful fee from historical transactions. However, this approach has flaws of its own as fees remain high after periods of congestion have ended, causing users to overpay as if the network was still clogged.
2. Volatile fees
First-price auctions also lead to volatile fee cycles.
During periods of high network traffic, users must compete with each other to get their transactions processed, driving fees to prohibitively exorbitant prices. This fee inflation is then followed by many participants quitting the ‘game’, which causes a precipitous drop in fees, only for the cycle to restart all over again. One need only look at Bitcoin’s average transaction fee over 2017-2018 to see this cycle play out.
This fee market volatility has consequences for both users and miners. Users will leave the network as fees soar, switching to lower-cost alternatives or exiting the crypto sphere entirely.
Miners, meanwhile, will have difficulty estimating their annual operating budgets, uncertain of expected revenue as fee income continues to contract and expand.
When block rewards fall to negligible levels, miners will be encouraged to turn off their equipment until the mempool contains enough high fee transactions and fork competing blocks to capture the highest transaction fees, leading to slower block times and an unsustainable user experience. This phenomenon has been termed the ‘Gap Game‘.
So what are the alternatives?
Cornell researchers recently proposed a novel transaction fee market based on a second-price multi-unit auction, otherwise known as a Vickrey Auction.
The mechanics of the auction are as follows — for the sake of this example we will imagine that a block can fit up to 5 transactions:
1. Users submit a transaction fee bid — Bid A: $10 Bid B: $7 Bid C: $5 Bid D: $1 Bid E: $0.50
2. Miners then add transactions into a block on a high-to-low basis – A, B, C, D, E
3. Each user pays a uniform fee set by the lowest bidder — the lowest bid was Bid E at $0.50
4. If a miner fails to fill a block they cannot charge any fees
5. The miner is rewarded the average fee collected from the last B blocks
6. Twenty percent of each block is exempt from this mechanism, allowing miners to include transactions of high personal importance
Fair and stable:
Unlike first-price auctions, second-price auctions do have ‘dominant strategies’ — each participant should bid their ‘fair value’. If a user’s ‘fair value’ is above that of everyone else, they will have their transaction included and pay less than their ‘fair value’. If a user’s ‘fair value’ is lower than competing bidders but high enough to be included in the block, they will have their transaction included at their ‘fair value’. If a user’s bid is not high enough to be included in a block, they are not required to pay above their ‘fair value’.
This auction structure is not only equitable and fair – indeed, the Vickrey Auction is designed to maximize social welfare – but it alleviates the heavy cognitive load associated with first-price auctions. Cornell’s researchers estimate that a second-price auction would have saved users $272 million in transaction fees in December 2017.
Second-price auctions are also beneficial to miners, with daily fee variance falling an average of 86.5%. This drastic reduction in revenue volatility should aid miners in projecting annual revenues, helping them budget appropriately. Moreover, the strategy that results in the ‘Gap Game’ should be less optimal as variance among transaction fee revenue from two nearby blocks decreases.
While it may seem that maximizing for social welfare comes with the trade-off of minimizing transaction fee revenue, Soumya Basu, one of the proposal’s authors, expects net revenue to increase over time as a stable fee structure encourages more participation in the long run and, consequently, prices to go up as demand for block space increases. Put another way, the second-price auction gives up short term revenue maximization for long-term, stable income. Indeed, the proposal’s authors partly attribute Google’s success over Overture, the first company to use keyword-based advertising, to their embrace of the superior second-price auction structure.
The Cornell researchers discuss two alternative fee market proposals.
The first is from Lavi, Sattath, and Zohar (LSZ), which similarly employs a second-price auction but omits the penalty for failing to fill up blocks. As such, under the LSZ model, miners are incentivized to leave out transactions offering positive fees even if there is remaining space in the block as the inclusion of a lower fee will reduce the uniform price they can charge.
If Bid A: $10 Bid B: $7.00 Bid C: $5.00 Bid D: $1.00 Bid E: $0.50, a miner will only include bids A, B, and C, thus earning $15.00 ($5.00 * 3). If all bids were included, the miner would only earn $2.50 ($0.50 * 5).
While the LSZ model maximizes miner revenue, it fails to maximize social welfare: the blockchain is not being leveraged to its full capacity and, as a result, transaction throughput suffers. Moreover, the selective inclusion of transactions discourages users from participation, meaning that over the long-term, transaction fee revenue may suffer as users turn to alternative payment methods.
The second model is from Vitalik Buterin’s ‘Blockchain Resource Pricing’ paper, which proposes that miners estimate, and dynamically adjust, a minimum fee that is charged uniformly to all transactions within a block, coupled with dynamically varying the block size to accommodate current demand.
Let’s say miners determine current demand warrants a $1.00 minimum fee for a transaction to be included in the next block. If a user wants to have their transaction processed immediately, they will bid slightly above the minimum fee – e.g. $1.50. Users that are unwilling to pay the minimum fee can underbid and specify a future block in which to include their transactions.
Vitalik favours this mechanism as it minimizes miners’ ability to manipulate transaction fees: second-price auctions are vulnerable to ‘shill bidding’, whereby block producers include their own transactions in a block, increasing the uniform price, and thus their revenue.
Imagine, again, that Bid A: $10.00 Bid B: $7.00 Bid C: $5.00 Bid D: $1.00 Bid E: $0.50. In this scenario, a second-price auction would return $2.50. If, however, a miner included their own transaction fees of $6.00 and $5.50, they would stand to gain an extra $12.50 ([$5.00 * 5] – [$5.00 *2] – $2.50).
Fortunately, the researchers address this ‘shill bidding’ strategy by requiring miners to be rewarded the average fee collected from the last B blocks, with B estimated to be optimized at somewhere between 10-20 blocks. Thus, any attempt to fill blocks with their own synthetic transactions will be rendered useless, having zero impact on the revenue they stand to receive.
Vitalik’s approach may be difficult to implement in practice as it requires miners to continuously, accurately assess the transaction fee demand curve. Considering the dynamic nature of user interaction and the adversarial environment of public permissionless blockchains, this is rather difficult to do. As a result, the minimum fee is likely to be set above the price that would clear all pending transactions, leading to non-full blocks and causing throughput to suffer. Moreover, the dynamic adjustment of block sizes may negatively impact network security as full nodes are increasingly burdened with costs relating to higher storage requirement.
The future of fees:
With the majority of existing cryptocurrencies employing a disinflationary monetary policy, it is vital that vibrant, sustainable fee markets emerge. The second-price auction, coupled with mechanisms to disincentivize manipulation, may be the most sensible solution, engendering both positive long-term user experiences and stable miner revenue.
However, whether existing protocols will be willing to transition away from the first-price auction structure remains questionable. As such, it may be left for ‘next generation’ blockchains to implement. If successful, we may eventually witness the same Google-Overture succession play out all over again.
The post Saving fee markets with second-price auctions appeared first on The Block.
Saving fee markets with second-price auctions written by Matteo Leibowitz @ https://www.theblockcrypto.com/2019/02/06/a-new-fee-market-model/ February 6, 2019 Matteo Leibowitz