Skip to content
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

Draft of Phasing Out Fil+ and Restoring Deal Quality Multiplier to 1x #788

Merged
merged 39 commits into from
Nov 7, 2023
Merged
Changes from 29 commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
45ea13b
Draft of Phasing Out Fil+ and Restoring Deal Quality Multiplier to 1x
dcasem Aug 16, 2023
5ecbbde
Update fip-0071.md
dcasem Aug 16, 2023
7a96cbb
Update and rename fip-0071.md to FIL+ FIP.md
kaitlin-beegle Aug 16, 2023
1553ffa
Create draft-fcm-fip.md
dcasem Aug 23, 2023
aafbb9c
Delete fip-0072.md
dcasem Aug 23, 2023
af7bf20
add FIP standard header
Fatman13 Sep 13, 2023
f34f4e5
target one goal per Alex edit
Fatman13 Sep 13, 2023
c69a078
target one goal p2 per edit
Fatman13 Sep 13, 2023
205f243
remove upgrade coordination per edit
Fatman13 Sep 13, 2023
e9b8cf1
update Spec per edit
Fatman13 Sep 13, 2023
9c34ab0
refine spec description per edit
Fatman13 Sep 13, 2023
b2238b7
remove redundant section per edit
Fatman13 Sep 13, 2023
ddf07b5
update headers and rationale per edit
Fatman13 Sep 13, 2023
aad40f6
update standard FIP header
Fatman13 Sep 13, 2023
b9e27af
add more consideration per edit
Fatman13 Sep 13, 2023
35bc71c
update security concerns per edit
Fatman13 Sep 14, 2023
b15740a
fix typo
Fatman13 Sep 15, 2023
caac144
improve abstract section per edit
Fatman13 Sep 22, 2023
312cba2
motivation summary
Fatman13 Sep 22, 2023
cdaa688
update incentive consideration per review
Fatman13 Oct 18, 2023
e8e4f26
update incentive considerations per edit p2
Fatman13 Oct 18, 2023
c84945c
update security considerations per edit
Fatman13 Oct 18, 2023
e8aea2e
update abstract per edit
Fatman13 Oct 18, 2023
e64d75e
Update motivation per edit
Fatman13 Oct 18, 2023
237885e
Update reference per edit
Fatman13 Oct 18, 2023
a38eeb8
update security per edit
Fatman13 Oct 18, 2023
1a7546b
compact sections
Fatman13 Oct 18, 2023
92e04c6
fix wording
Fatman13 Oct 18, 2023
fbdddb7
fix wording
Fatman13 Oct 18, 2023
be9381b
Update FIPS/FIL+ FIP.md
Fatman13 Nov 3, 2023
fc63f2b
update FIP number
Fatman13 Nov 3, 2023
3a22f1d
Merge branch 'master' of /~https://github.com/dcasem/FIPs into pr/788
Fatman13 Nov 3, 2023
b11d6b7
fix grammar per review
Fatman13 Nov 3, 2023
94946a3
update sec consideration per review
Fatman13 Nov 3, 2023
7075a6c
update README with FIP0080
Fatman13 Nov 3, 2023
a3b5966
Revert "update README with FIP0080"
Fatman13 Nov 3, 2023
ee50ff3
Merge branch 'master' into pr/788
Fatman13 Nov 3, 2023
437305a
merge master and update README per review
Fatman13 Nov 3, 2023
4923d0e
Merge branch 'master' into master
anorth Nov 7, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 123 additions & 0 deletions FIPS/FIL+ FIP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
---
fip: "0000"
title: Phasing Out Fil+ and Restoring Deal Quality Multiplier to 1x
author: "@Fatman13, @ArthurWang1255, @stuberman, @Eliovp, @dcasem, @The-Wayvy"
discussions-to: /~https://github.com/filecoin-project/FIPs/discussions/774
status: Draft
type: Technical
category: Core
created: 2023-08-03
---

## Summary

This proposal eliminates the 10X multiplier associated with Fil+ deals, effectively restoring the deal multiplier to its raw byte value.

## Abstract

This proposal aims to reduce complexity and friction in the Filecoin ecosystem, encourage the onboarding of real data, and foster a healthier growth environment for the Filecoin network. It does this by setting the QAP multiplier to 1x for all new deals and sector extensions, so that the network is no longer dependent on a centralized intermediary to pick and choose what data to onboard. It follows decentralization best practices enacted by both Bitcoin and Ethereum, aligns with Filecoin's mission to provide useful storage, and maintains the network's core values of [decentralization](/~https://github.com/filecoin-project/FIPs/blob/master/mission.md).

> - The network is not dependent on any one party, e.g., not dependent on a company, foundation, or other organization to continue operating.
> - No centralized parties can control, stop, or censor the network, its operation, or its participants.
> - Users and providers are not controlled or governed by powerful intermediaries (unlike markets like Uber or Airbnb).
> - Refers to the decentralization movement of 2015+, including IPFS, Bitcoin, Ethereum, and more.

## Change Motivation

The Fil+ program's current implementation has created complexities and challenges that hinder the growth trajectory of the Filecoin network. By phasing out the Fil+ multiplier, this proposal seeks to restore the integrity of the Filecoin blockchain and alleviate issues related to consensus overload, complexity, pledge availability, poor UX, loss of privacy/censorship resistance, and other problems.

Much of the details are outlined in the initial [discussion](/~https://github.com/filecoin-project/FIPs/discussions/774), which can be summarized as following: by imposing a permissioned layer on top of an already cumbersome core protocol, the network is suffering from a rapid decline of RBP as a result of skewed incentives, which in turn compound the negative impact on network value and creating an environment that encourages SPs to collude and game the network incentives.

## Specification
anorth marked this conversation as resolved.
Show resolved Hide resolved

### Elimination of the 10X Multiplier

1. ***Reset DC multiplier***: Set the [power/weight multiplier](/~https://github.com/filecoin-project/builtin-actors/blob/fe72aa8e14bc566d661d47625dcdbdd960bf4525/actors/miner/src/policy.rs#L33) for verified deals to 1.

```rust
lazy_static! {
/// Quality multiplier for committed capacity (no deals) in a sector
pub static ref QUALITY_BASE_MULTIPLIER: BigInt = BigInt::from(10);

/// Quality multiplier for unverified deals in a sector
pub static ref DEAL_WEIGHT_MULTIPLIER: BigInt = BigInt::from(10);

/// Quality multiplier for verified deals in a sector
/// >>> Target value <<<
pub static ref VERIFIED_DEAL_WEIGHT_MULTIPLIER: BigInt = BigInt::from(100);
Fatman13 marked this conversation as resolved.
Show resolved Hide resolved
}
```

2. **Existing Deals**: For sectors with existing Fil+ deals (DC sectors), the current Quality Adjusted Power (QAP) will remain until these deals expire. Nothing technical is expected to be changed for this particular specification.

3. **Sector Extension**: Upon sector extension, the 10x multiplier will no longer be applicable after the upgrade.

## Design Rationale

There are many ways to achieve the stated goal of the FIP discussion. After filtering out some of the less practical ones, it comes down to either prevent DC from being minted or reduce the multiplier for DC deals. Multiplier reduction is chosen not only for its simplicity in implementation but also avoiding the debate of wether turning off DC minting should be governed by Fil+ program or not.

## Incentive & Product Considerations

The proposed change would likely not detour the already downward decline of RBP in short term but would highly likely allow L1 to capture much more value in the long run in terms of tangible resources like hardwares and talents being employed to support RBP of the network.

The FIP may increase the likelyhood of reduction in power onboarding, consequent loss of RBP meaning further reduced blockrewards due to baseline minting model, the supply inflation resulting from expiring sectors with no onboarding and **significantly** lower initial pledge requirements due to [QAP crossing baseline](/~https://github.com/filecoin-project/FIPs/discussions/847) until the market finds equilibrium price again with new readjusted mining cost. Before then miners will likely be able to enjoy a higher Fil on Fil return to incentivize the return of RBP to catch up the baseline. The CEL report [here](https://medium.com/cryptoeconlab/resilience-of-the-filecoin-network-d7861ee9986a) shows the resilience properties of the Filecoin network in such case. Though we would like to point out that of course all such models have limitations.

Some of the incentive considerations are very similar to [FIP0078](/~https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0078.md) as the proposed change rooted from same core decentralization value they share.

The proposed change removes Fil+'s incentive for the onboarding of non-random data. As a result, it's anticipated that the onboarding rate of non-random data may decrease. It remains unclear how much of the data currently incentivized by Fil+ is not in compliance with the program's goals.

Following this proposed change, the primary impetus for SPs to onboard data will originate from outside the protocol itself. It could include direct payments from storage clients or new incentive models implemented in FVM contracts.

Because all sectors will have the same multiplier (1x), we expect miners to charge more for storing user data. So users whose data is currently stored via Fil+ deals will probably have to pay more for storage after the sector containing their data expires. We suggest existing users discuss pricing changes with their SPs or the intermediary who handled deal-making for them. It is unlikely that user data will be dumped before sector expiry since a miner would have to pay a termination fee and re-seal a new sector.

It is hard to estimate how much user demand Filecoin will lose in the short run, (both demand for data already stored on the network and for data that potentially could have been onboarded in the future). There are two reasons for this: first, we don't know how much of the data stored via Fil+ deals has an actual user behind it; second, because Fil+ distorted price discovery, we don't know what users are willing to pay for Filecoin storage and what miners are willing to accept.

Fil+ team and many more customized deal markets will be developed on L2 of Filecoin in either permissioned or permissionless manners in an open and fair market competition.

By way of example. If the network continues to grow in the current trajectory, it will inevitably become a mostly DC network (70%+ DC). Then the proposed changes could be used to clamp down QAP to restore everthing back to 1x.

## Security Considerations

Depending on the school of thoughts one may think blockchain security consists of for Filecoin network, one may reach different security consideration.

If one's view on network consensus seurity aligns with the explorations released [here](https://pl-strflt.notion.site/2023Q3-Cost-of-Consensus-Security-Hardware-bda873f0c8a74387abeccd8c722abd59?pvs=4) and [here](https://pl-strflt.notion.site/2023Q3-Cost-of-Consensus-Security-Pledge-d9374ec5b68244c6b50fcb8c16ec113c?pvs=4). The proposed change may be perceived as lowering network consensus security because lowered pledge cost in the network attack strategy model of `HDDCost + StoragePledge + FutureEarnings`. However, the risks will likely be mitigated by the fact that **significantly** lowered initial pledge requirements will likely to incentive more hardwares to be onboarded to secure the network, which previously peaked at 17 Eib as opposed to 8 Eib right now thus increasing the cost to attack.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The fact that pledge collateral requirements fall due to baseline crossing just make the problem even worse. It's not a mitigation.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the argument being made is that by reducing non-hardware costs, more hardware will be onboarded to secure the network -- that seems reasonably intuitive in any scenario of finite SP financial capacity. It doesn't follow that this results in "increasing the cost to attack" as a very significant increase in storage capacity (certainly more than the 2x comparison between current and peak RBP) would be required to match the same level of resources at stake. This is not a deal breaker -- it's a choice -- but also not something that can be swept under the rug.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If one's view on network consensus seurity aligns with the explorations released [here](https://pl-strflt.notion.site/2023Q3-Cost-of-Consensus-Security-Hardware-bda873f0c8a74387abeccd8c722abd59?pvs=4) and [here](https://pl-strflt.notion.site/2023Q3-Cost-of-Consensus-Security-Pledge-d9374ec5b68244c6b50fcb8c16ec113c?pvs=4). The proposed change may be perceived as lowering network consensus security because lowered pledge cost in the network attack strategy model of `HDDCost + StoragePledge + FutureEarnings`. However, the risks will likely be mitigated by the fact that **significantly** lowered initial pledge requirements will likely to incentive more hardwares to be onboarded to secure the network, which previously peaked at 17 Eib as opposed to 8 Eib right now thus increasing the cost to attack.
If one's view on network consensus security aligns with the explorations released [here](https://pl-strflt.notion.site/2023Q3-Cost-of-Consensus-Security-Hardware-bda873f0c8a74387abeccd8c722abd59?pvs=4) and [here](https://pl-strflt.notion.site/2023Q3-Cost-of-Consensus-Security-Pledge-d9374ec5b68244c6b50fcb8c16ec113c?pvs=4). The proposed change may be perceived as lowering network consensus security because lowered pledge cost in the network attack strategy model of `HDDCost + StoragePledge + FutureEarnings`. However, the risks will likely be mitigated by the fact that **significantly** lowered initial pledge requirements will likely incentivize more hardware to be onboarded to secure the network, which previously peaked at 17 Eib as opposed to 8 Eib right now, thus increasing the cost to attack.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My bad. Resolved.


There are also views that shared by many who see consensus seurity is POS agnostic as there are already large token holders like Protocol Labs, Filecoin Foundation, big whales that may become single point of failure to attacks. By that token, attack model is reduced to `HDDCost + SealingCost + GasCost`, which the proposed change will likely to boost the network security as explained in the [QAP crossing baseline](/~https://github.com/filecoin-project/FIPs/discussions/847) scenario.

Additionally, by returning control over block reward distribution to those who contribute RBP, we reduce the chances that a small group of malicious or misguided actors (e.g., corrupt notaries) hijack the network to further a personal agenda. Changes to consensus participation must be rooted in physical reality; it’s far less likely that malicious actors will be able to acquire tens of thousands of HDDs necessary to conduct a 51% attack. Today, Fil+ derived % of consensus ( i.e., powered strictly by "human-granted staking licenses" ) [is over 56%](https://www.wolframalpha.com/input?i=r+%3D+11.24%3B+q+%3D+22.93%3B+10+*+%28+q+-+r+%29+%2F+%28+9+*+q+%29), while the same Fil+ derived power represents [only 11.5% of the actual physical storage](https://www.wolframalpha.com/input?i=r+%3D+11.24%3B+q+%3D+22.93%3B+%28+q%2Fr+-+1+%29+%2F+9) on the network.

CryptoEconLab, in an August 2023 [report](https://medium.com/cryptoeconlab/resilience-of-the-filecoin-network-d7861ee9986a), examined Filecoin's resilience to power drops, as the protocol provides strong economic incentives for new storage providers (SPs) to join and for existing SPs to stay in the network after power loss. Again note that all models have limitations.

> What does resilience mean? Merriam-Webster defines resilience as the ability to recover from or adjust easily to misfortune or change. Resilience is relevant to many aspects of a cryptoeconomy like Filecoin; examples include 51% attacks, Sybil attacks, and Finney attacks, to name a few.

However, it is critical to ensure that the transition is handled securely, particularly when dealing with existing sectors.

## References

* [Initial Discussion](/~https://github.com/filecoin-project/FIPs/discussions/774)
* [FIP-003](/~https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0003.md)

Why pick option1 over option2:<br>
kaitlin-beegle marked this conversation as resolved.
Show resolved Hide resolved
-/~https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6656805<br>
-/~https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6664701<br>
-/~https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6677630<br>

Why 10x for all, a soft landing, is not ideal: <br>
-/~https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6677066<br>
-/~https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6654608<br>
-/~https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6655524<br>

Why no more multiplier should be applied in the Filecoin core protocol: <br>
-/~https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6686571 <br>
-/~https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6686564 <br>
-/~https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6664701 <br>
-/~https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6644045 <br>


## Copyright

This work is licensed under the Apache License, Version 2.0.

---

This FIP provides a detailed and structured plan to phase out Fil+ by changing the deal quality multiplier, adhering to the chosen option and the principles outlined in the initial discussion. Implementing this proposal will need careful planning and consideration to ensure a smooth transition and alignment with Filecoin's long-term objectives.