-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No repay debt requirement for DeclareFaultsRecovered #21
Comments
Thank you very much for the official understanding. In many cases, it is not that miner do not want to restore the power, but it may be impossible to restore it due to various problems in the program and hardware etc. |
LGTM. |
After careful analysis, we reviewed more the security considerations written in the here and we believe that we could temporarily pause this FIP and try to mitigate the issue presented. Problem: When a miner in-debt recovers sectors via FIP0006, these will count towards the total network QA power - however the miner won't be able to mine since they are still in debt. Temporary patch: When a miner recovers a sector, this does not count towards total network QA power (e.g. is added to a special list called "recovered sectors") and it will start counting after the miner is out of debt Final fix: However, this is just patch to the total network QA power inflation and the actual fix that should happen is (1) to refactor eligibility checks to remove power from the power table, rather than checking it at block verification time, (2) apply the above patch. This fix should help the problem above and solve other relevant problems that the temporary patch won't fix. Ways forward:
|
This FIP was deferred. |
No repay debt requirement for DeclareFaultsRecovered
Abstract
Filecoin miners are subject to pay storage fault and consensus fault fees. These are paid using locked funds (ie, unvested block rewards) and then the miner’s available balance. If these two are not enough to cover the total fee amount, the remaining part to pay is recorded in a variable (FeeDebt) in the miner’s state and the miner is declared “in fee debt”.
For a miner in debt, the call to the methods PreCommit, DeclareFaultsRecovered and WithdrawBalance fails. Moreover this miner can not mine blocks. The fact that a miner in debt can not recover faults creates an undesired loop situation, in which a miner with faulted partitions can not recover, keep increasing its debt (note that continued faults cause more fees), eventually leading to sector termination if the miner does not repay their debt after 14 days. This is especially bad for small miners with little balance. To avoid this we propose to allow recovery of faults for miners in debt.
The text was updated successfully, but these errors were encountered: