{"id":3057,"date":"2019-11-24T23:49:22","date_gmt":"2019-11-24T23:49:22","guid":{"rendered":"https:\/\/bitcoinsv.io\/?p=3057"},"modified":"2020-09-28T07:00:47","modified_gmt":"2020-09-28T07:00:47","slug":"on-the-future-of-bitcoin-transaction-fees","status":"publish","type":"post","link":"https:\/\/bitcoinsv.io\/2019\/11\/24\/on-the-future-of-bitcoin-transaction-fees\/","title":{"rendered":"On the future of Bitcoin transaction fees"},"content":{"rendered":"\n
New transaction fee toolsets coming to Bitcoin SV<\/em><\/h2>\n\n\n\n
TLDR;<\/strong><\/p>\n\n\n\n
Cheaper transaction fees, fiat stable pricing and a highly flexible framework for dynamic fee rate discovery are all on the horizon for Bitcoin SV.<\/strong><\/li><\/ul>\n\n\n\n
Since a recent price rise of BSV in fiat terms and the announcement of WeatherSV\u2019s transaction fee deal directly with a mining pool (Mempool), the subject of transaction fees has become a hot topic in the Bitcoin SV space It\u2019s an important topic to think through as BSV finally unlocks Bitcoin\u2019s massive scaling capability and has opened the door to new business models for use of the blockchain to record large and continuous volumes of data. Transaction fees on Bitcoin SV are still far less than on competing blockchains (especially BTC and Ethereum), but we can do more to ensure that fees are reliably low, <\/strong>so applications can properly plan their business models while miners are also economically agile.<\/p>\n\n\n\n
I\u2019ve discussed this issue with several mining groups and many Bitcoin app developers. There are some common themes and opinions about future direction along with a general consensus that the toolset we inherited from BTC and BCH-ABC for managing transaction fee rates is clunky and inflexible. <\/p>\n\n\n\n
We\u2019ll begin by examining the common concerns among both users and miners of Bitcoin SV. Then we\u2019ll survey the current state of play and what\u2019s possible with the existing transaction fee toolset before turning our attention to where that toolset is heading on BSV. Finally we will consider what can be done between now and when it is fully available.<\/p>\n\n\n\n
Concerns<\/h2>\n\n\n\n
Lack of fee discovery<\/h4>\n\n\n\n
It is astonishing that after 10 years, Bitcoin wallets still have no way to reliably determine what fees are required to get a transaction mined. Most rely on complex and unreliable mechanisms. This is partially a consequence of the Bitcoin Core model of a fee market where miners are price takers<\/em><\/strong> rather than price makers<\/strong>. Bitcoin SV turns this model on its head so there\u2019s no excuse for miners not to be able to provide definitive fee quotes barring an implementation.<\/p>\n\n\n\n
Price too high<\/h4>\n\n\n\n
The current fee rate is inherited from the default in the Bitcoin ABC implementation for BCH. It is denominated in satoshis per byte and currently equates to about $1.20 USD per MB. There is no particular reason for this price level and it appears to be widely agreed among the BSV ecosystem that rate is currently too high for data transactions (as compared to payment transactions).<\/p>\n\n\n\n
Fiat stability<\/h4>\n\n\n\n
When you build a business model based on an operational cost of X and the volatile BSV market makes that price jump to 2X overnight, it\u2019s very hard to make safe predictions about the viability of your business. Fiat stable pricing, e.g. $0.XX per MB, is something we\u2019ve heard many enquiries about from businesses seeking certainty.<\/p>\n\n\n\n
We don\u2019t know the floor<\/h4>\n\n\n\n
No one really knows what the cost of processing a transaction is. It is very hard to model this as the inputs to the model are highly variable and some require guesses at future transaction volume. There are variable costs like cost\/MB-bandwidth-use that are relatively proportional to the amount of transactions; that\u2019s the easy part. The harder part are the fixed costs that must be amortised over many transactions without knowing exactly how many. There is some work beginning by some of the miners to start building these models and understanding the zones of risk. But it is only just beginning now because it\u2019s only just started to matter. Until this is better understood I predict there will be some reluctance by miners to lower costs in an extreme manner because it is much harder to ask the market to bear a later increase than is to continually lower prices until the floor is found naturally.<\/p>\n\n\n\n
Disparities in data value<\/h4>\n\n\n\n
Suffice to say, some data is worth more than other data from a miner\u2019s point of view. We\u2019ll address this further in the next section.<\/p>\n\n\n\n
The current state of play<\/h2>\n\n\n\n
Right now miners have only two manual configuration options in Bitcoin SV to manage fees and changing either requires a restart of the node. These form the \u201ctransaction fee toolset\u201d currently available to BSV miners:<\/p>\n\n\n\n
There is the \u201cactual fee rate\u201d that miners accept to mine a transaction denominated in sats\/byte. <\/li>
There is an additional option \u201cminrelaytxfee\u201d which should be lower and is the fee rate required for a miner to even bother validating a transaction and subsequently relaying it to peers. <\/li><\/ul>\n\n\n\n
To my knowledge almost all miners currently use the default settings which are both set to 1 sat\/byte. However, it is actually important for a safe 0-conf fee market to emerge that minrelaytxfee is set lower by some margin than the actual fee rate, so for the purposes of this discussion we will assume that the default minrelaytxfee is actually 0.5 sats\/byte. The existence of this range of fee rates is important to enable room for miners to be competitive whilst still protecting the \u201cfirst see rule\u201d that is a fundamental pillar of 0-conf security. I have referenced the idea of a \u201csecondary mempool\u201d in many of my public presentations that is for miners to keep some transactions for double spend protection even if they don\u2019t intend to mine them. There is a lower bound to the fee rate where this protection kicks in simply to discourage the excessive use of zero fee transactions. <\/p>\n\n\n\n