Analysis of transaction fees has long been overlooked in the blockchain area, with the first papers in the academic literature being published from 2014 (Houy) onwards.
It has still not been a research priority considering that only a few papers have been dedicated to this field. But transaction fees should not be neglected for at least two reasons. The first one relates to their importance in maintaining security incentives in a Proof-of-Work context. The second reason pertains to the very nature of the economic relationship between users, miners, and the protocol itself, as we will see below.
As of today, the Bitcoin block reward is sufficient to keep miners’ incentives aligned: they earn enough money to maintain the network secure. However, the way transaction fees are designed is critical when the block reward tends toward zero, or, as we will see, when the network has a large throughput. We provide in this article a brief literature review, and we also describe our view of a possible design for an efficient transaction market.
Competing for block space and the risk of free-riding
In Bitcoin, transaction fees are set by users. Any user can theoretically set the fee at zero, knowing that her transaction will probably be delayed if others choose a positive value for their fees. Indeed, being rational agents, miners will always prioritize the transactions with the highest fees. Transactions that are verified but not yet processed in the coming block (i.e. confirmed) are put together in a ‘waiting room’ called the mempool. Since each block has a limited size, users thus compete for space (Huberman et al., 2017; Dimitri, 2019) in each block, so that the fees reach an equilibrium price for each time-interval. Transactions that are not processed are left in the mempool, waiting for the next blocks to be validated by miners.
However, Bitcoin-like blockchains do not come without flaws when viewed from a transaction fee perspective. Firstly, there is no priority given to the transaction (Aune et al., 2017) like in any normal queuing system based on standard “first-come, first-served” service delivery. Priority is advertised by users with by proposing a higher than average transaction fee. Miners usually just pick the transactions that advertise the highest fee. Secondly, fees may be too low to cover the losses incurred by mining pools, particularly when the block reward tends to zero (Carlsten et al., 2016; Huberman et al., 2017). Following the same logic, fees might become too high for a day-to-day user of the network to compensate fully for his or her loss of the block reward (Easley et al., 2019). Therefore, the small block size imposes a high risk of congestion in the system, when transactions are flowing into the mempool more rapidly than they are validated by miners. Waiting time leads to congestion in the network, thus to higher fees.
On the one hand, congestion of the network increases the incentives for miners to allocate their computing power to particular users on that blockchain, and therefore undermine consistent security. On the other hand, it creates delays in transaction processing which may deter some users from using the network at all. In the long run, Bitcoin might need high transaction fees in order to function both properly and securely (Lavi et al., 2017), an outcome which may tend to defeat the purpose of a global payment system.
In this context, studying the incentives behind PoW networks’ transaction fees might be important for optimizing future designs. Letting users choose their own transaction fees might not be an optimal solution. Is there an equilibrium price for which these fees are sufficient to ensure the security of the network, regardless of how much miners are at that time earning from minting new coins? In current PoW blockchains, the answer is clearly no. Block size is limiting the number of transactions that can be processed for each time-interval.
In sum, users shouldn’t be allowed to privately set their own fee, in order to avoid a typical free-rider problem (Auer, 2019). Fees are set up individually, while transactions are bulked together into the next block. This ensures the same level of security for all transactions in the block, regardless of the level of the fees taken individually. Put it simply, user A has an incentive to “free-ride”, i.e. posting lower fees until his or her transaction is included within the block, hence piggy-backing on other users who advertise higher transaction fees. The direct consequence is a decrease in the system’s security, if everyone behaves like user A, by reducing transaction fees to the point that it is no longer economically viable for miners to confirm transactions.
Possible solutions and the road ahead
We can solve most of these issues by I) having a much higher throughput than any other PoW blockchain-based networks, and II) adopting a different approach to transaction fees, in order to reap the full benefits of network effects. We will next consider the second point.
Even if having a high throughput decentralized transaction network solves the scalability trilemma, it brings about other problems. In most papers arguing for a change in PoW consensus protocols, auction theory is used to optimize the transaction fees (Lavi et al., 2017). Another approach is to link fees with the amount of storage space secured by miners (Chepurnoy et al., 2019).
Although these solutions could work in environments where users compete for block space, it is unlikely that they could work in ours. Indeed, our network’s ability to process a lot of transactions would push transaction fees towards zero, if fees were to be selected through any type of auctions. If left to market forces, users, knowing that their transaction will be processed, would collectively choose an optimal fee that tends toward zero, as any game theoretic analysis would suggest. Therefore, auction-style transaction fees need to be ruled out.
Another point to consider is the influence of cross-side network effects. The protocol can be viewed as a platform where supply and demand for global transactions meet. Miners (i.e. supply) want high transaction fees, while users want low ones. This conflict of interests must be reflected not only in the price, but also within its structure (Rochet & Tirole, 2006)[1]. This is a well-known problem in so-called two-sided markets. As we already mentioned, in Bitcoin’s present design, users are more or less free to determine their own fees .
In the current system, interests are not aligned, since users will tend to free-ride, thus negatively affecting the overall security of the protocol. In our view, the fee should follow a more market-based mechanism. The price function fluctuates according to the supply and demand of transactions, without the user being able to set up a lower fee, provided that he is ready to wait for his transaction to being processed.
Behind the curtains, the setup is quite complex, but in practice, it turned out to be very user-friendly. In order to better understand the price structure of the on-chain transaction fees, we need to analyze the price structure of these types of networks. In our case, we follow a queuing game (Kendall, 1953; Bhat, 2015) in a two-sided market (Rochet & Tirole, 2006). We need a proper price structure, in order to incentivize both users and miners on the network.
As it has been argued, congestion should be lower, as compared to congestion on existing PoW blockchains. However, even with a large throughput, it is likely that some congestion will occur, and that some delay costs will partially remain (Huberman et al., 2017). Also, taken independently, one shard can theoretically be overloaded at some point in its history. We propose a market-based mechanism, in order to reflect these situations.
The dynamic pricing adjusts transaction fees in order to respond to supply and demand fluctuations. In the event of network congestion, surge pricing can solve some economic problems, by smoothing out the demand curve (Cohen et al., 2016). This function should ensure a market-based approach toward transaction fees, an approach in which surge pricing for reducing delay costs plays a central role. And exactly like the system used within Uber, the user can “tip” the mining pool, thereby demonstrating that he has higher delay costs, and that he wants his transaction to be processed as soon as possible.
The framework will optimize the waiting time for the its users, while guaranteeing miners a minimal fee, even when competition for block space is low. In other words, the floor price should at least cover the costs per transaction incurred by the miners. Such economics are used by ride-hailing apps such as Uber or Lift, and have proven to be quite efficient.
Written by Lucas Leger.
[1] Transaction fees can be viewed as a two-sided market, where the incentives of the miners are co-dependent on the users’ response on price structure. As put by Rochet & Tirole (2006): “We define a two-sided market as one in which the volume of transactions between end-users depends on the structure and not only on the overall level of the fees charged by the platform. A platform’s usage or variable charges impact the two sides’ willingness to trade once on the platform, and thereby their net surpluses from potential interactions; the platforms’ membership or fixed charges in turn condition the end-users’ presence on the platform.” We want to minimize transaction fees to attract most users and at the same time to maximize the speed at which transactions are processed by miners, which require high transaction fees. It is a typical two-sided (Caillaud & Jullien, 2003; Rochet & Tirole, 2006) pricing setup. If transaction fees are too high, users go on other networks, too low, miners would not take of the transactions right away. In a nutshell, we need to set the price to incentivize opposite behaviors, so as to internalize cross-side network effects.