filecoin-project / FIPs

The Filecoin Improvement Proposal repository
313 stars 165 forks source link

Proposal on the extension of the V1 proof sector lifetime #56

Closed deltazxm closed 3 years ago

deltazxm commented 3 years ago

Summary It is currently not possible to extend the life cycle of the V1 proof sectors. This has caused a huge loss to the miners who sealed the V1 proof sectors in early days. Sealed sectors should only take windowPoSt challenges, security issues would not be involved. So we propose the V1 proof sectors' life cycle could be extended.

If the life cycle of these sectors cannot be extended, there will be a lot of sealing computation resources wasted to seal these sectors again. If miners have to seal sectors again, it will take much more collaterals and gas. More messages will make the chain congested, and other miners will have to pay more high gas fees too.

If the life cycle of V1 proof sectors is set to 180 days, miners would experience horrible loss and may cause even greater losses due to gas fee issues.

Improvement Goal Allow the life cycle of V1 proof sectors to be able to extend like v8 proof sectors. Please see the detailed improvement plan: [https://github.com/filecoin-project/specs-actors/pull/1310]

f8-ptrk commented 3 years ago

With more miners and more power, Filecoin will be more secure.

letting these sectors expire will attract more miners - i am sure about that. the overall power will shrink, allowing new miners/miners without (a lot of) v1 sectors to get a bigger share of the overall power (i know - to not let that happen is the purpose of this FIP), possibly creating a more balanced miner landscape, expanding decentralization and in the end benefit the whole network.

steven004 commented 3 years ago

I'd emphasizes two things here for further discussion: 1) Fair-play. To limit life time of a proof-type of sectors is more fair. Remember people set the expiration date of a sector to 180, 540 or any other days before the extension is disabled for V1. 2) This is not to extend V1 sectors for more days, while there are more than half of V1 sectors' life time is 540 days, to limit the overall lifetime to 540 days DOES NOT extend this proof-type sectors beyond its existing time in the network. The bound is still there.

deltazxm commented 3 years ago

FIP0014 not only satisfies the need for arrangement, but also does not lose fairness. It is a perfect progress that everyone can accept. We hope it can be implemented as soon as possible. @jennijuju

mxz9102 commented 3 years ago

Since these sectors are using V1. To avoid a security risk for the whole network, letting them expire is the best solution from my opinion. So I object the extension of the V1 sector life cycle.

Fatman13 commented 3 years ago

there is no argument so far how implementing this would improve filecoin - in my eyes.

@f8-ptrk, I think part of the problem may stem from the fact that core team made the decision of not extending V1 proof sectors pretty much silently. Decisions that may affect that many miners should at least go through some level of discussion. What if we find a bug in V1.1 tomorrow? We just let V1.1 expire without any discussions? @deltazxm has submitted two issues before, but were closed out by the team. Thus, rendered no other channel to bring this up.

If the core team hadn't made any sector policy changes, then you can see this fip as improvement of network security.

kaptinlin commented 3 years ago

I don’t think it’s fair to the new miners. I worked with them, they complained that the early big miners had so many cheap sectors that it became more difficult for them to participants on the network. This may not be conducive to decentralization.

momack2 commented 3 years ago

I think preference from a protocol perspective is still to enable an easy way to upgrade and reseal v1 sectors into v1.1 sectors so they have the same storage power security guarantees, but don't have to take up chain space (and gas/collateral fees) again.

Given this isn't ready for the sectors expiring in the next few months, I think the lotus team is somewhat agnostic about whether the community should allow 6 month sectors to share the 540 day expiry (that is the default for all new sectors) or expire now. The security concerns here absolutely mean these sectors should not be renewed past that 540 day limit - but the level of concern is the same for all v1 sectors (most of which are 540 day sectors, not 180 day sectors). Slight preference to "expire now" since that's the easiest and avoids another state upgrade in the next few weeks - but OK with either of these two options.

For deciding between those options, maybe we can use the new https://filpoll.io tool to collect community sentiment across miners / token holders / clients / etc. Thoughts on that?

I absolutely expect the v1 sector expiration to be a concern again in a year - and it will not be an option to extend v1 sectors without resealing at that time due to security concerns. In preparation for that, I think community members like @steven004 @deltazxm @coder-lb @maobisheng etc should help identify / implement the best path to upgrade v1 sectors into v1.1 sectors if maintaining power and minimizing chain overhead/fees is desired.

steven004 commented 3 years ago

Agreed, @momack2 . Could we start the poll soon? we may just need a few days to complete the poll while broadcasting it via slack, wechat, twitter, which will reach most miners and community members quickly. And then, we could have about one week time to prepare for the new release once major part of the voters agree the proposal, so that we can meet the first hump of the expiration of V1 sectors.

deltazxm commented 3 years ago

Hope to start the poll as soon as possible. @jennijuju.Once the conclusion is reached, publish the conclusion as soon as possible. This issue has been discussed for a long time.

arajasek commented 3 years ago

Hoping to start the poll tomorrow!

deltazxm commented 3 years ago

start the poll

How to initiate a poll

jennijuju commented 3 years ago

start the poll

How to initiate a poll

It will be setup and announced to the community later today.

danlessa commented 3 years ago

The Impact of V1 Sector Expirations on Filecoin Storage and Cryptoeconomics

Background context

Shortly after Filecoin liftoff, a security issue was reported with the v1 proofs. The issue was fixed in v1.1 proofs, which were introduced in the Filecoin network version 7 upgrade, on November 25th, 2020. As a result of this upgrade:

Since the security of these sectors is not critically compromised, we can consider allowing their extension, which was proposed in FIP-0014. This report details the storage and cryptoeconomic impacts of allowing vs. rejecting FIP-0014.

Executive Summary

The code and the visualizations for this writing can be seen on the following link: https://blockscience.github.io/filecoin-metrics/notebooks/fip_0014.html

The first wave of expiring sectors

Right now, Filecoin has about 92.3M active sectors, on which 26.2M (28% of the total) uses the V1 proof.

An immediate concern about them is about the sectors with 6 months lifetimes, as they're starting to expire on March 26, 2021, although the majority is going to expire between 22 April, 2021 and 28 May, 2021, peaking on 10 May, 2021.

That first wave makes up 6.3% of all Filecoin active sectors, or 22.3% of all V1 sectors. In absolute terms, they're 5.8M sectors, or about 177PiB over three months.

The big picture is contained in the following chart, where waves related to the 6 months, 12 months and 18 months sectors for both V1 and V2+ sectors are identified:

Expiring sector count, monthly

A more granular view is obtained by getting the count on a daily window before 15 June. Note that the vertical axis is on logarithm scale.

Expiring sector count, daily, before 15 june

Through the above figures, we can define key dates in regards to daily sector expiration rate:

Impact on Growth trends & Storage Power

The current forecast points towards having 3.8 EiB of raw-byte storage power by the end of May. This is fuelled by the continued sealing of new sectors.

Forecasted Raw Bytes Storage Power


We project that the daily new sectors growth will be between 450k per day and 900k per day, generating a daily SP growth between 13.7 PiB per day to 27.5 PiB per day.

Forecasted Daily Sector growth


The expiration of approximately 5.8M sectors between 22 April and 28 May will subtract 180k per day (5.5 PiB per day) from the above numbers, which is equivalent to a reduction of 40% on the pessimistic side and 20% on the optimistic side. Note that with more 64GiB sectors being added to the network, the actual impact tends towards the more optimistic case.

Impact on Collateral

Right now, Filecoin has 27.8 Million FIL locked as sector collateral, 5.8M (21%) of which are on the V1 sectors. Notice this is relatively lower than the sector share, as the collateral for each new sector tends to increase with time.

The 6 months V1 sectors have 1.2M FIL locked with them (4.3% of the network total), and the event of their droppage should not be an issue for network security.

Conclusions

From a Cryptoeconomics point of view, the network will continue to be safe and healthy on any decision regarding allowing all V1 sectors to be extended to a maxium 540 days in epoch lifetime from their activation epoch.

The decision of letting the V1 sectors expiring or not is to be put before the community, as there are multiple angles to FIP-0014 approval, which include considerations regarding fairness and behaviour incentivation, as well as other ones like environmental and waste minimization.

jennijuju commented 3 years ago

The Impact of V1 Sector Expirations on Filecoin Storage and Cryptoeconomics

This is very informative @danlessa - thank you!

arajasek commented 3 years ago

Storage miners can vote on whether to adopt this FIP here!

leekueha commented 3 years ago

Answering everything with policy, why are you going to change the policy this time? If it was a deletion policy, it should be deleted. The vested interest will never be put down. So, will you increase V8 540 days later?

jennijuju commented 3 years ago

Core devs have reviewed the FIP-0014 survey result and final security audit, and have decided that FIP-0014 will be accepted in the network. Network upgrade epoch and implementation release timelines will be announced in the Network Updates later today.

jennijuju commented 3 years ago

Network upgrade timeline https://github.com/filecoin-project/community/discussions/74#discussioncomment-545945