Adjustable Target Block size for the EIP 1559 base fee mechanism #515
Replies: 6 comments 15 replies
-
I generally prefer this mechanism to the "batch balancer", but the motivation needs quite a bit of work. As far as I can tell, the argument is based on two assumptions that aren't (yet, at least) true.
This is not true in the network as it exists today. As it exists today, storage providers use nearly all the network bandwidth to maintain and onboard storage, which means they pay for nearly all the gas. In this scenario, storage providers do not want the base fee to go up because they'd effectively be giving money away to everyone not paying for network bandwidth (all the other token holders). Of course, if other users burn tokens by deploying smart contracts, this may change. But we'd need to know:
This is obviously false. This is a fine assumption to make in a research paper about a theoretical system, but it it's not an assumption we can make when designing a real system. Storage providers are not myopic and they don't make the majority of their profits on gas premium. As you noted, gas premium amounts to almost nothing, yet everything still works. Everything still works because:
In other words, even if the utility of including all messages went below 0, I'd still expect storage providers to continue including messages for the same reason I keep showing up to work even nobody's paying me for each line of code I write. TL;DR: We can't say "let's assume" and follow up with "therefore we should do X". All of this isn't to say that we shouldn't consider a mechanism like this. We just need to live in the world as it exists, not as we define it. Reasons to consider this mechanism:
|
Beta Was this translation helpful? Give feedback.
-
It is very difficult to understand why protocol revenue is so important at this stage for Filecoiin, and why protocol revenue should be kept high even when network utilization is low. It's also hard to understand why Filecoin researchers are considering increasing the gas fee, and believe that this is beneficial to the entire ecosystem, when almost all public chains are trying to reduce the gas fee to attract more users and ecosystem participants. It's like the owner of a store adds more tax for all products to try to get more income when there are no more buyers coming in. Do you really not worry about customers leaving? Shouldn't it be to build a good ecosystem and have a better UX to attract more people to join? or even lower the prices to make your store more attractive? High protocol income is a good thing by itself, but this should be based on ecosystem prosperity. When the demand is almost over network capacity, it is reasonable to increase gas fee as a tool to control the flow, thus network protocol income will naturally be high. This is for security reason, and fully understandable. However, if it is not the case, I would think it will go to the opposite if keeping the high gas fee only for the high network/protocol revenue purpose. |
Beta Was this translation helpful? Give feedback.
-
FIlecoin is different from many other blockchains in that its mission is to be a storage network. The core value proposition is secure storage. From this, I disagree that we should want to maximise protocol revenue captured through execution gas fees. Execution gas is a strategic complement to storage. Filecoin storage gets more valuable as execution cost decreases, because clients and applications can do more with the data. Your note about the infinite blockchain "problem" is my dream. If all the messages cost only cents and we could satisfy an unlimited demand for them, then Filecoin would be a fantastically better platform for decentralised storage. Experience from other execution environments suggests that some minimal fee is necessary to control spam, but that that is the ideal fee level. As @DecentCr8 points out, my dream world is coming around because there are huge amounts of development effort going into efficient and secure execution environments in other blockchains, rollups etc. I expect the Web3 world will see a dramatic decrease in execution costs though the maturity and adoption of these technologies and platforms. The same transformation must happen to Filecoin in time, with hierarchical side-chains, rollups etc. There is no room for sustainable value capture in execution fees. I would however separate FIlecoin's core value proposition of proven storage from general execution gas. I think Filecoin should retain a specific fee for proving storage which is independent of the CPU cost of verifying a proof, and comes to form the bulk of FIlecoin's protocol revenue. Today that fee is mixed up with gas, but I will make a proposal to separate it at some point. I view the batch balancer mechanism as a somewhat awkward way to set a floor on that proof fee. I ack that you have responded above that protocol revenue is just one possible target. However I posit that the desirable target is minimising user transaction cost / maximising available capacity, which if I understand correctly, is what you claim the current mechanism does. I also note that your proposal would only kick in times of low demand, and disappear as demand emerged, perhaps relevant only for a short term. However there is very little extra protocol revenue to be captured with low demand; I don't think it could justify the complexity. Our efforts should be focussed on increasing demand instead by driving continued technological and product improvements to reduce costs and increase functionality. |
Beta Was this translation helpful? Give feedback.
-
Here is a summary and comparison table with some pros and cons of transaction fee mechanisms that might be helpful background: |
Beta Was this translation helpful? Give feedback.
-
This proposal suggests that burning more gas fees is beneficial for SPs, "maximising miner utility". @Stebalien brought this up, but I'd like to more explicitly request analysis of who benefits when tokens are burnt, and the sizes of their interest, for context on this any any future proposals. A couple of big categories would include:
I would assert that current SPs don't have interests in the entire not-yet-minted reward, beyond that due to already-committed sectors. Future SPs will, but they will take a cost base of the tokens at the time they purchase and pledge them – any network revenue today doesn't benefit them. Similarly the unallocated mining reserve is held by the network, with no particular interested party today. So who actually benefits when a token is burnt? Of course, a change that is good for the network as a whole may not have equal benefit to different groups, but we should still understand which parties benefit how much. |
Beta Was this translation helpful? Give feedback.
-
Here are a few ideas for the Target Function inside the Adjustable Block Size mechanism that may be worth exploring. These are the two quantities that Axel mentioned in his extended writeup:
But what about…
|
Beta Was this translation helpful? Give feedback.
-
We propose introducing a mechanism that dynamically adjusts the target block size used in the EIP 1559 base fee mechanism, to maximize some determined target function.
Motivation
The EIP 1559 mechanism reduces the difficulty of estimating transaction fees, by introducing a base fee, which is a posted price for gas usage that users do not need to guess. This base fee is updated at every epoch, based on block usage relative to a target block size. If the current block gas usage is smaller than the target block size, the base fee is reduced for the next epoch, and if the current block is larger than the target bock size, base fee is increased.
This mechanism assumes that the optimal block size that the network should use at all times is then the pre determined target block size. When the target block size is fixed only by engineering constraints, as the largest possible block size the network can consistently process, this is a mechanism which is designed to optimize simply for lowest possible base fee.
For various reasons, the network may want to optimize for something other than lowest base fee. In a first price auction mechanism, for instance, miners would generally optimize for maximum total network revenue. Particularly in periods of low demand, this could be achieved by restricting the block size to a smaller optimal size.
Introducing a mechanism that can dynamically vary the target block size used in EIP 1559 would enable the network to optimize for any different target of choice, whether it is total network revenue, or something else deemed of value.
Proposed mechanism
We denote the base fee at epoch$t$ as $r_t$ , the target block size as $B^T$ , and the block size at epoch $t$ as $B_t$ . Currently, the base fee then evolves according to the EIP 1559 rule:
$$r_{t+1}=\left(1+c\frac{B_t-B^T}{B^T}\right)r_t,$$ $c=1/8$ . Furthermore, the block size is restricted to $B_t\in[0,2B^T]$ .
where
We propose replacing the target block size with a dynamic one,$B_t^T$ that is allowed to change over time according to network demand,
$$r_{t+1}=\left(1+c\frac{B_t-B^T_t}{B^T_t}\right)r_t,$$ $c=1/8$ . Furthermore, the block size is restricted to $B_t\in[0,2B^T]$ .
where
The dynamic target block size would follow a similar updating mechanism of the general form
$$B_{t+1}^T=f(\Delta T_t, \Delta B_t; B_{t}^T),$$ $B_t^T$ , on the change in the utilized block size, $\Delta B_t=B_t-B_{t-1}$ , and the change in the given target function that is being maximized, $\Delta T_t=T_t-T_{t-1}$ . As a simple example in analogy to first price auctions, the target function could be total network revenue, or anything else the network deems valuable. The target block size would be bounded within the region $B_t^T\in (0,B^T)$ .
which depends on the previous value of the target block size,
Further motivation and analysis
We further motivate this idea, as well as provide more details of possible formalisms that could work for the Filecoin network in this extended document.
Beta Was this translation helpful? Give feedback.
All reactions