Comments (9)
In my head there are three different message categories depending on how they affect the liveness and dynamics of the network, and the parameters of the consensus plane. It's important to recognise these categories because they would likely benefit from having different sets of guarantees applied to it, potentially via different gas/fee circuits/planes.
System-maintenance / power-maintaining messages
SubmitWindowPoSt
- These are essentially compulsory system messages.
- They sustain chain consensus, and are necessary to maintain status quo and homeostasis of the network.
- If all miners suddenly stopped submitting wdpost, the system would cease making progress, and potentially the chain would halt (theoretically; IIRC, there's a backstop mechanism to keep the chain live even in a doomsday event like this).
- In the current protocol, this message is absolutely necessary for the continued operation of the chain and, therefore, the network.
- Potentially
DeclareFaults[Recovered]
could be included in this category, as miners might want these messages to go on chain urgently. - One could regard this category as not being subject to auction.
Power-altering messages
PreCommitSector
, ProveCommitSector
, TerminateSector
- These message affect the miner power attributions and therefore the parameters of Expected Consensus.
- These messages are not homeostatic, they actively grow or shrink the network.
- The idea is that by recognising this category separately, the protocol could apply a dedicated fee/auction policy to throttle/control growth either symmetrically or asymmetrically (e.g. by making onboarding sectors linearly more expensive for already large miners).
User messages (power-neutral messages)
- This is the "other" category of messages.
- These absolutely belong in auction-land, but they do not affect consensus making in any manner, nor the size of the network.
I'm not sure about PublishStorageDeals
. This seems to be a system message too, could potentially belong in the system-maintenance category. But it is not consensus-critical like SubmitWindowPoSt
. There could be a flat fee applied to non-critical system messages, so that they go through the same priority circuit, but they do not benefit from a financial advantage). Maybe DeclareFaults
also belongs in that subcategory.
from fips.
It seems that Miners for now have settled on a BaseFee expense between 1-5 nFIL (gas expenditure dominated by PreCommit and ProveCommit.
this does not mean that miners are paying that because they want to or can afford it. most miners are paying the 3-6 (that's what we are actually at...) nFIL because they have to. if they don't - they will end up with a power share that equals basically 0 rewards.
Making Posts cheaper, raising fees on sealing messages will not change any of the dynamics going on right now. If you, we raise the fees for sealing messages we will just see more miners die faster (go to where there is no power increase...decreasing rewards... death).
The problem in my eyes is the following:
EIP1995 combined with Filecoins "the more you seal the higher are the rewards" and almost 100% messages on CC sector seal we have the following situation:
there is a point where the benefits of sending more messages out weights the costs it creates via base fee. that is a dangerous thing to have. it reverses what EIP1995 intends to do.
so raising the cost for sealing will not do anything good for most miners. it might even hurt more miners than it benefits.
if you want to raise the sealing costs then you need to couple it with the amount of messages a miner sends. baseFee*sectorNum
would be drastic but in the end a way better approach to getting control of sealing costs that the base fee creates.
do i have data to proof my claim that this is what is happening? no - i have no time - i need to push messages by hand... with 2000FIL cash on hand i can show you live how much a miner doesn't care about the base fees and how it benefits a miner more to send more messages than the basefee increase for doing so hurts him!
if we do not get rid of "more messages --> more costs for everyone" combined with "more messages --> profit for one" the situation will not resolve in any way. letting a few strain the resources while raising the costs for using them for everyone will not work out for much longer.
sorry for the sloppy answer, it might not meet the quality standards of what we need here. i might find time to actually deliver data on the claim that there are miners out there that benefit from higher base fees later this year.
from fips.
Instead of introduction of SealingFeeRate
, I would think it is easier to set a wdPostFeeFactor
(or even more general - ControlPlanMessageFeeFactor
). e.g. let wdPoStFeeFactor = 1/10
。 There is no much impact to others, and perhaps easier to implement.
And, actually, it is similar as what I proposed in #24 (comment), which means burn less for critical (or control plane) messages. And, of course, when the basefee is much lower, a miner can set higher premium for wdPoSt message to let other miner package it into a block.
from fips.
I, as a small miner, still support this Temporary Solution. My reasons are below:
- a SubmitWindowedPoSt msg will cost about 1.3933 FIL these days, it is really hard times for small miners. Because of the brutal issue: https://github.com/filecoin-project/lotus/issues/5017 , a 10TiB small miner maybe has 3 deadlines and needs to send 3 SubmitWindowedPoSt msgs. My trick now is sending away FILs of control-address and Worker-Balance before the 2rd&3th deadline, and sending back when all deadlines gone. And 2 DeclareFaultsRecovered msgs are needed. So 2 msgs becomes 6 msgs.
- We really don't need so many CC sectors. (We have already paid too much for future. Hardwares of today is not the best of tomorrow. We should protect the Earth.) High BaseFee makes verified deals(10x power) not so attractive. We should encourage real/verified deals more and CC sectors less.
- Small miners used to wish to maintain/increase power perpercentage a month before. They only want to survive now.
from fips.
if we raise the costs for sealing sectors x10 you need 2000-4000 FIL to get 10TB!!!!! those who can afford it will just go on rampaging the resources with sealing messages. it will just be smaller percentage of those who do not care about how high fees are now.
we do not need more expensive messages - we need to put the high costs on those who cause them.
from fips.
It is not a good time for new miners now, because of the TPS problem.
As the SealingFeeRate is 10x, many miners will consider stop mad-increace-CC-sector, thus bring down basefee. Of cource the basefee mayby change drastically, but that is still ok.
Remember it is Temporary Solution, we should set a deadline for the Temp Solution replaced by better Solution
Maybe we can set SealingFeeRateForCCSector to 20x, SealingFeeRateForDeals to to 10x and SealingFeeRateForVerifiedDeals to to 1x.
People can still store random-data deals to themselves, they have to pay for PublishStorageDeals too(they should) and lost the benefit of replace-with-real-deals.
Maybe it is time to forget CC sector.
We can do better in Filecoin Plus to help small miners and developers, not help auto-devops-big-miners which contribute less to the ecosystem/ecology.
Some big-miners are cheating their Individual investor who know nearly nothing about IPFS/Filecoin, they will make filecoin less attrative and more centralized.
They can be even cheating in Slingshot phrase 2 to got more filecoin candy. (They may have many miners to send deals to each other. They claim that the miners belong to their Individual investors.)
We have to admit Filecoin is in danger, small miners wish to help themselves and the network too. FIPs which can be implemented in 1 month need to be discussed more.
I have a bad idea which let big miners experience the pain of small miners more:
https://filecoinproject.slack.com/archives/C0179RNEMU4/p1605771178021700?thread_ts=1605717762.393000&cid=C0179RNEMU4
from fips.
Maybe we can set SealingFeeRateForCCSector to 20x, SealingFeeRateForDeals to to 10x and SealingFeeRateForVerifiedDeals to to 1x.
let's just ask PL to hand out rewards and give up block mining!
Maybe it is time to forget CC sector.
good solution. honestly. lets just forbid CC sectors. permanently. and while we are at drastic solutions let's cut the expiration date on existing CCs to, lets say 14 days - then we can start with a clean chain on new year...
if we want to keep CC sector sealing we will have to couple the cost for it to the amount of CC sectors someone seals. maybe even normal deal sectors.
from fips.
Marking this thread inactive, as FIP-0010 seems to have addressed the issue. Will circle back in core devs meeting on 8/12/21 to confirm.
from fips.
Closing due to inactivity.
from fips.
Related Issues (20)
- # TLDR HOT 2
- Weekly Governance Update (8 April 2022)
- Using a dedicated address for the sector-fault penalty HOT 1
- Optimize parallel PreCommit1 tasks speed HOT 1
- Cancellation of deposit HOT 1
- Cancellation of filecoin pledge HOT 1
- Create FIP draft for Decouple FIL+ HOT 6
- Some words to fil HOT 2
- FIP0029 terminology doesnt match the implementation HOT 1
- FIP-0029 missing definition of nominee
- FIP-0044: Verifreg: Consider modifying RemoveDataCapProposal HOT 4
- Update address for Filecoin Plus Registry HOT 1
- Allow account-level operators to set approval for tokens HOT 1
- broken links HOT 2
- FIP 104: Implement scaling payments for storage deals
- Where is the definition of 'FRC'? HOT 1
- Should we consider tagging segment and aggregate pieces differently ? HOT 1
- FIP001v2 Process Updates
- TESTS TSLT
- FIP 0075 contains an invalid `created` date in the frontmatter HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fips.