Exempt Base-fee burning for consensus related (Control-plane) messages #430
Replies: 3 comments 14 replies
-
I agree that there is a legitemate concern here, but this proposal, as-is, would break the network.
This scheme is also more likely to inflate and devalue FIL than it is to increase revenue (the issue with any "increase the rewards" scheme) and directly transfer funds from small miners to large miners. |
Beta Was this translation helpful? Give feedback.
-
Once we hit the "batch balancer" limit, we a buffer before the base-fee will start increasing again as ProveCommitSector messages will turn into ProveCommitAggregate messages. However, this is a legitimate concern. One potential solution is to introduce a distinction between control-plane and data-plane messages however, instead of simply giving the burnt FIL to the miner, there would simply be two base-fees: one for data-plane messages, and one for control-plane messages. That would allow these base-fees to fluctuate independently, ensuring that a high-base-fee due to data-plane messages doesn't affect the control-plane base-fee. |
Beta Was this translation helpful? Give feedback.
-
As Steb and Jenifer highlighted, the proposal as written cannot work. The EIP-1559 has a strong property that if there exists collusion between block producers to lower the base fee and reap GasPremium (reverting to the old Bitcoin-style of network fee system), it is more profitable to defect from the collusion over working within it. This means that such collusions are generally unprofitable and EIP-1559 has only one stable solution. I'm also not convinced that messages onboarding new storage should be in the same category as messages maintaining the storage. Furthermore, the split into separate planes of messages has its drawbacks, it works on the assumption that control-plane would be cheaper than the data-plane but it is a questionable assumption. If the split were to be performed, most likely, the control and data planes would be allocated fixed parts of chain bandwidth. This would reduce the bandwidth on each corresponding plane, as underutilisation of either could be filled out without the split. |
Beta Was this translation helpful? Give feedback.
-
Summary
This is to proposal the exemption of the Base-fee burning for consensus related (Control-plane) messages. The proposed setting comes with the following benefits:
Motivation
Storage providers are facing heightened Gas cost for power growth and power maintenance after the recent NV16 upgrade as the Gas modeling has changed. A power growth slow down has also seen comparing to the pre-NV16 level, as is shown in the snapshot below from The starboard dashboard.
When NV16 takes effect, the Base-fee is flunctuating around the aggregation balance level, about 0.32nanoFil, therefore a 32G-sector storage provider needs roughly 2 months' block rewards to compensate the Gas cost for sector onboarding. As expected, the Base-fee could surge to a much higher level when the FVM M2 is landed while large numbers of user-programmed actors are running on Filecoin. Assuming the base fee reaches 5 nanoFil or higher by the time, there will be virtually no storage providers to support Filecoin data sealing since it is not rational of taking years' rewards to cover just the Gas cost, one among other costs for storage providers such as hardware, energy, technical supporting, collateral interest, etc. In a word, without further adjustment, the current mechanism cannot be sustained.
Background
EIP-1559 is implemented in Filecoin for better Gas fee prediction and protocol revenue generation. It was the first EIP-1559 adoption, even before its implemetation in Ethereum.
When EIP-1559 was discussed in the Ethereum community, Gas cost was not taken into consideration since there is no Gas cost for an Ethereum miner to solve the hash puzzle and generate blocks. Therefore, miners' cost is not related to the Base-fee. Minerds simply compete with each other to maintain the network, while comparing the block rewards and the real-world costs to measure their profitability.
When we considered the adoption of EIP-1559 in Filecoin, the Gas cost was merely a tiny portion of the total cost for a storage provider. It was not an issue until we realized the Base-fee could surge when FVM is landed and the smart contracts are enabled.
The exemption of Base-fee burning for consensus related messages is to relieve storage providers of the Gas cost struggles, and to better focus on data services and consensus.
Consensus-related (Control-plane) messages
We define all messages related to consensus/power are Control-plane messages, which include: CompactSectorNumbers, DeclareFaults, DisputeWindowedPost, ExtendSectorExpiration, PreCommitSector, PreCommitSectorBatch, ProveCommitSector, ProveCommitAggregate, ReportConsensusFault, SubmitWindowedPoSt and TerminateSectors.
All other messages are considered as Data-plane messages, including those sent to any user-programmed actors.
Control-plane messages are critical to the network's consensus and security. It should be prioritized under a congested network.
Proposal
For any Control-plane messages, the Base-fee Gas consumptoin is not burnt, but tranferred to the block generator along with the Gas Premium.
The core advantages are:
An alternative is to eliminate the Base-fee consumption for all Control-plane messages as a whole. However, it is not as beneficial as what proposed above since it breaks EIP-1559 targets and there is no stimulus effects.
Implementation
Most changes can be conducted in the VM implementation. Only the burning logic needs to be changed separately which is not significant and has no impact on the other logics. And the proposed change should also apply to the Control-plane messages that are invoked implicitely, e.g. by an user-defined actor.
Since more than 95% of the Gas are consumed by Control-plane messages in the current network (before user-defined actors enabled). Exemption of the entire Gas burning can be considered at this stage as a simplified, minimal code-changing implementation.
Beta Was this translation helpful? Give feedback.
All reactions