Can blockchain take over the world with unpredictable transaction fees?
Ethereum founder Vitalik Buterin has proposed a solution for stabilizing Gas prices. You can read it here: First and second-price auctions and improved transaction-fee markets. I think stable, predictable transaction fees are important but this and other solutions are just half measures preserving the original bad idea of making fees controlled by users.
Volatile Gas prices make use of Ethereum network less attractive for Dapp developers. Ultimately Blockchain is a utility its protocol is used to confirm transactions. Many applications, Dapps are being built on top of Blockchain rely on the stability of the chain and predictability of the transaction fees to implement their functionality.
I think it is actually pretty funny that users can specify fees they are willing to pay to get their transactions included in a block. It is a typical computer engineer’s solution. What should the fee be? Don’t know, make it a parameter! If the network’s throughput is high enough all transactions should go through in its natural order in a sub-second time. So in theory, there should be no need for hiking up the fee to jump the queue, it only makes easier for people to manipulate the consensus process.
Let’s compare subway to an Uber. Subway is a utility, millions, billions of people worldwide use it everyday to get around, many of these riders are low income and wouldn’t be able to use the subway if the fees were changing based on the weather or traffic congestion. The predictability of the cost of the subway ride is essential. Uber on another hand is a luxury, they can hike up the price when demand spikes and passengers have a choice to hire an Uber car or not. Because it is not essential, people can get around without it, other alternatives are available that are cheaper with predictable prices. Do we want a Blockchain to be a luxury — Uber or a utility — a subway?
Blockchain transaction fees should be uniformed, fees can be different based on transaction time, size or confirmation speed like regular main vs. a priority mail. But the fees should be set uniformly and people should be able to choose the speed of confirmation vs. the cost. This way Dapp developers can design their systems and business models around predictable transaction fees, making their own services more transparent and easier to use.
Don’t get me wrong transaction fees shouldn’t be set in stone it should be a parameter but not set by users on a transaction per transaction basis. It should be set by a Blockchain governing mechanism, whatever it is, and changed from time to time when the growth of the network demands it.
I am sure people will comment that auction is an acceptable business practice and market ultimately is an auction. True, and if I want to buy a google stock the price is determined by the market. But the fee I would pay to ETRADE is known in advance. High-frequency traders pay less than regular retail clients and that is fine, there are volume discounts, great, but again these fees are predictable, negotiated and published way before trades are made.
Another argument for predefined transaction fees is transparency, imagine getting or a chairlift at a ski resort without knowing what the cost of the ride would be? It’s a lot easier designing your business when you know your costs.
There are other businesses like airlines or hotels where fees change minute by minute. It works there because these service providers compete with one another. In the case of a Blockchain it is not a competition, you either pay up or wait for the next block but there is no guarantee you’ll get into the next one. Unless Blockchains compete with one another and you can choose to get your transaction approved by a different Blockchain you are dealing with a monopoly and monopolies are regulated or broken. And Blockchains are regulated programmatically! The fees consumers pay to monopolies are set by regulators and published for all to see.
So let’s set uniformed fees and let Blockchain be a utility it was designed to be.