“`html
Among all elements of the Ethereum protocol, aside from the mining aspect the fee arrangement is likely the least definitive. The present figures, with a single crypto operation costing 20 base fees, a new transaction costing 100 base fees, and so on, are little beyond moderately informed estimates, and more precise data on how much computational resources a database read, an arithmetic calculation, and a hash truly require will certainly provide us with more accurate evaluations on what the appropriate ratios among the various computational fees should be. The other facet of the inquiry, regarding how much the base fee ought to be, is even more challenging to ascertain; we have yet to agree on whether we aim to target a specific block size, a particular USD-based threshold, or some amalgamation of these elements, and it is exceedingly hard to determine if a base fee of 0.001 would be more fitting. Ultimately, what is becoming increasingly evident to us is that a form of adaptable fee system, which permits consensus-driven human intervention post-factum, would be most beneficial for the initiative.
When numerous individuals from the Bitcoin community observe this dilemma, however, they question why we are encountering such challenges with this matter when Bitcoin already possesses a ready-made solution: render the fees voluntary and dependent on market forces. In the Bitcoin protocol, there are no compulsory transaction fees; even a remarkably large and computationally intensive transaction can get approved with a zero fee, and it is the miners’ responsibility to ascertain the fees they necessitate. The lesser the transaction fee, the longer it takes for the transaction to secure a miner that will accept it, and those desiring expedited confirmations may pay a higher amount. Eventually, an equilibrium ought to be attained. Issue resolved. So why not here?
The actuality, however, is that in Bitcoin the transaction fee conundrum is far from “resolved.” The system as outlined above presents a significant vulnerability: miners are not required to incur any fees, enabling a miner to congest the entire network with an excessively large block. In fact, this issue is so critical that Satoshi attempted to rectify it with the least appealing method: imposing a maximum block size of 1 MB, or 7 transactions per second. Consequently, without the immensely contentious and politically charged discussions that invariably follow any “hard-forking” protocol alteration, Bitcoin simply lacks the ability to organically adjust to accommodate anything beyond the 7 tx/sec cap that Satoshi instituted.
And that’s Bitcoin. In Ethereum, the challenge is even more intricate due to its Turing-completeness. In Bitcoin, one can formulate a mathematical proof that a transaction N bytes in length will not exceed k*N time to verify for some constant k. In Ethereum, one can craft a transaction under 150 bytes that, without fees, will execute indefinitely:
[ TO, VALUE, [ PUSH, 0, JMP ], v, r, s ]
If this is not clear, it equates to 10: DO_NOTHING, 20: GOTO 10; an endless loop. The moment a miner publishes a block that comprises this transaction, the entire network will seize. Moreover, due to the well-known impossibility of the halting problem, it is not feasible to construct a filter to eliminate infinite-looping scripts.
Thus, computational assaults on Ethereum are trivial, and stricter limitations must be imposed to ensure that Ethereum remains a viable platform. But hold on, you might argue, why not simply adopt the 1 MB limit, and transform it into a 1 million x base fee limit? One could even enhance the system’s future adaptability by substituting a fixed cap with a fluctuating cap of 100 times the moving average of the last 10000 blocks. At this juncture, we need to delve deeper into the economics and endeavor to comprehend what “market-based fees” truly entail.
Crypto, Meet Pigou
In broad terms, an idealized market, or at the very least one distinct subset of a market, can be characterized as follows. There exists a collection of sellers, S[1] … S[n], who are interested in vending a specific resource, with seller S[i] incurring a cost c[i] from relinquishing that resource. We may state c[1] g[2] > … > g[n]. Subsequently, an order matching procedure transpires as follows. First, one identifies the last k where g[k] > c[k]. Then, one selects a price between those two amounts, let’s say at p = (g[k] + c[k])/2, and S[i] and B[i] engage in a transaction, where S[i] relinquishes the resource to B[i] and B[i] compensates p to S[i]. All stakeholders gain, and the benefit is the utmost feasible; if S[k+1] and B[k+1] also executed a transaction, c[k+1] > v[k+1], rendering the transaction detrimental to society. Luckily, it is in the interest of everyone to ensure they do not partake in disadvantageous trades.
The inquiry is, is this kind of marketplace the correct model for Bitcoin transactions? To address this question, let us attempt to assign roles to all of the participants. The resource is the service of transaction processing, and the individuals profiting from the resource, the transaction senders, are also the buyers paying transaction fees. Thus far, so good. The sellers are evidently the miners. But who bears the costs? Here, things become complicated. For each individual transaction that a miner accepts, the expenses are not solely borne by that miner, but rather by every single node within the entire network. The cost per transaction is minuscule; a miner can manage a transaction and incorporate it in a block for less than
The situation deteriorates further. Imagine that the overall expense to the network for handling a transaction approaches
Now, let’s imagine that the mining environment is more oligopolistic, with a single pool commanding 25% of all mining capabilities. What would the motivations be in this case? In this scenario, it becomes more complex. The mining pool may opt to raise its minimum fee, perhaps to 0.00001 and 0.00001 and $0.00099 prior to this have a reason to elevate their fees to ensure this pool validates their transactions – otherwise, they would face an average wait of 3.3 minutes longer. Consequently, as the number of miners decrease, the fees increase – even though a diminished miner count leads to reduced network expenses in processing all transactions.
From the previous discourse, it should be unmistakably evident that transaction processing simply is not a market, and thus attempting to impose market-like dynamics onto it is an endeavor in mere chance at best, and a scalability catastrophe at worst. What alternatives exist? The economically optimal solution is one that has frequently been mentioned regarding global warming, perhaps the most significant geopolitical tragedy of the commons scenario in the contemporary world:Pigovian levies.
Establishing Prices without A Market
The mechanism of a Pigovian levy is straightforward. Via certain processes, the cumulative net expense of utilizing a specific amount of a shared resource (e.g., network computation, air cleanliness) is computed. Subsequently, everyone consuming that resource must cover that expense for every unit they utilize (or for each unit of pollution they generate). The difficulty with Pigovian taxation, nevertheless, is twofold. Firstly, who receives the revenue? Secondly, and perhaps more crucially, there is no option to avoid pollution, thus there is no way for the market to gauge individuals’ preferences regarding how much they would require in compensation to endure a defined level of pollution; consequently, how do we determine the price?
Typically, there are three approaches to addressing this issue:
- Philosopher kings establish the price and vanish as the price is fixed permanently.
- Philosopher kings retain direct oversight of the price.
- A form of democratic process
There is also a fourth option, a sort of market system that randomly allocates additional pollution to specific groups and attempts to assess how far individuals (or network nodes in the context of a cryptocurrency) are willing to go to evade that pollution; this method is intriguing but significantly underexamined, and I will refrain from delving into it at this moment.
Our original plan was (1). Ripple’s approach is (2). Currently, we are progressively considering (3). But how could (3) be executed? Fortunately, cryptocurrency fundamentally focuses on democratic consensus, and every cryptocurrency inherently incorporates at least two forms of consensus: proof of work and proof of stake. I will present two very basic protocols for achieving this right now:
Proof of Work Protocol
- When you mine a block, you gain the privilege to set a value in the “extra data field,” which can range from 0-32 bytes (this is already specified in the protocol)
- If the first byte of this data is 0, nothing occurs
- If the first byte of this data is 1, we set block.basefee = block.basefee + floor(block.basefee / 65536)
- If the first byte of this data is 255, we set block.basefee = block.basefee – floor(block.basefee / 65536)
Proof of Stake Protocol
- Following each block, compute h = sha256(block.parenthash + address) * block.address_balance(address) for each address
- If h > 2^256 / difficulty, where difficulty is a predetermined constant, that address can sign either 1, 0 or 255, generating a signed object of the format [val, v, r, s]
- The miner can subsequently include that object in the block header, providing the miner and the stakeholder with a minuscule reward.
- If the data is 1, we set block.basefee = block.basefee + floor(block.basefee / 65536)
- If the data is 255, we set block.basefee = block.basefee – floor(block.basefee / 65536)
The two protocols are functionally very similar; the sole distinction is that in the proof of work protocol, miners determine the basefee, while in the proof of stake protocol, it is the ether holders who do. The pertinent question is, do miners and ether holders possess aligned incentives to establish the fee fairly? If transaction fees go to miners, then miners are clearly unincentivized. However, if transaction fees are burned, thereby transferring their value proportionately to all ether holders through diminished inflation, then perhaps they are aligned. Both miners and ether holders desire an increase in the value of their ether, thus they aim to set a fee that enhances the network’s utility, both in terms of preventing prohibitively high transaction costs and avoiding high computational demands. Therefore, theoretically, assuming rational participants, we can expect fees to be at least somewhat reasonable.
Is there a rationale for favoring one side over the other when it comes to miners versus ether holders? Perhaps there is. Miners are motivated to see the value of ether peak in the short term, but may not maintain the same urgency in the long term, since sustained rises eventually invite competition that neutralizes their increased profits. Consequently, miners might adopt a more lenient policy that imposes elevated costs (e.g., data storage) on miners further down the line. Conversely, ether holders appear to have a longer-term perspective. On the flip side, miners find themselves somewhat “locked in” to mining ether, particularly if semi-specialized or specialized hardware is involved; ether holders, however, can seamlessly transition to different markets. In addition, miners are less anonymous compared to ether holders. Thus, the situation is not straightforward; if transaction fees are burnt, one could lean either way.