From 3b27c29853e10d300314f30e32ae834e9a404341 Mon Sep 17 00:00:00 2001 From: David Casem Date: Mon, 24 Jul 2023 13:37:49 -0500 Subject: [PATCH 01/11] Create fip-0066.md --- FIPS/fip-0066.md | 78 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 FIPS/fip-0066.md diff --git a/FIPS/fip-0066.md b/FIPS/fip-0066.md new file mode 100644 index 000000000..aa7632704 --- /dev/null +++ b/FIPS/fip-0066.md @@ -0,0 +1,78 @@ +--- +fip: "0066" +title: Extension of Runtime Methods for Address Verification +author: "David Casem <@dcasem>" +discussions-to: https://github.com/filecoin-project/FIPs/discussions/401 +status: Draft +type: Technical +category: Core +created: 2023-07-24 +--- + +## Simple Summary +Introduces a new built-in actor method to the miner actors for address validation to be used in determining \ +whether a given address belongs to a miner actor as a worker in the Filecoin network. + +## Abstract +The proposed FIP introduces a new built-in actor method to the miner actors for address validation to be used in determining \ +whether a given address belongs to a miner actor as a worker in the Filecoin network. + +## Change Motivation +There are several scenarios in the Filecoin protocol where it is necessary to confirm if a particular address belongs to a miner actor as a worker key. Having a dedicated exported method in the miner actorto handle such checks can increase efficiency and readability of the codebase. + +## Specification +We propose to introduce a new method: `is_worker_address()`. This function receives an address as parameter and returns a boolean indicating whether this address corresponds to a worker in the network or not. The function implements a logic to resolve the address and checks it against the current worker address. + +Pseudocode + +The pseudocode below demonstrates the intended implementation of the `is_worker_address()` function: +```function is_worker_address(rt: Runtime, params: IsWorkerAddressParams) returns Result: + + // Accept any caller + rt.validate_immediate_caller_accept_any() + + // Resolve the address + address = rt.resolve_address(params.address) + + // If address is null, return false + if address is null: + return Ok(IsWorkerAddressReturn { is_worker: false }) + + // Fetch the current state + state = rt.state() + + // Retrieve the miner info + info = get_miner_info(rt.store(), state) + + // Check if the resolved address matches the worker address + is_worker = (address == info.worker) + + // Return the result + return Ok(IsWorkerReturn { is_worker }) +``` + +## Backwards Compatibility +This proposal should not have any backward compatibility issues. The function is a new addition and does not alter any existing methods or structures. + +## Test Cases +To ensure the correctness of the `is_worker_address()` function, multiple test cases covering different scenarios (worker/non-worker addresses, non-resolvable addresses etc.) should be considered + + +Possible Tests: + +`IsWorkerAddress` correctly identifies the worker address + +`IsWorkerAddress` correctly identifies non-worker addresses + +## Implementation +This FIP does not require any changes to existing protocols. The changes would be implemented in the actor package in the. The exact implementation details will depend on the codebase at the time of implementation. + + +## Security Considerations +The proposed function does not introduce any new security considerations as it only checks existing data structures. It is important to ensure that the function is implemented correctly to avoid any potential security issues. + +## Implementation +This FIP does not require any changes to existing protocols. The changes would be implemented in the `actor` package. The exact implementation details will depend on the codebase at the time of implementation. + +## Copyright +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). From c6ef69994df91bbf68b927cb7b9e2ab5ca799199 Mon Sep 17 00:00:00 2001 From: Kaitlin Beegle <46908964+kaitlin-beegle@users.noreply.github.com> Date: Tue, 8 Aug 2023 16:32:36 -0700 Subject: [PATCH 02/11] Update FIPS/fip-0066.md Co-authored-by: raulk --- FIPS/fip-0066.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FIPS/fip-0066.md b/FIPS/fip-0066.md index aa7632704..c01cb8123 100644 --- a/FIPS/fip-0066.md +++ b/FIPS/fip-0066.md @@ -14,7 +14,7 @@ Introduces a new built-in actor method to the miner actors for address validatio whether a given address belongs to a miner actor as a worker in the Filecoin network. ## Abstract -The proposed FIP introduces a new built-in actor method to the miner actors for address validation to be used in determining \ +The proposed FIP introduces a new method to the built-in miner actor for address validation to be used in determining \ whether a given address belongs to a miner actor as a worker in the Filecoin network. ## Change Motivation From aace3dec0447523db5ec35d220a1cec4046fb39f Mon Sep 17 00:00:00 2001 From: Kaitlin Beegle <46908964+kaitlin-beegle@users.noreply.github.com> Date: Tue, 8 Aug 2023 16:32:42 -0700 Subject: [PATCH 03/11] Update FIPS/fip-0066.md Co-authored-by: raulk --- FIPS/fip-0066.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FIPS/fip-0066.md b/FIPS/fip-0066.md index c01cb8123..2553caf46 100644 --- a/FIPS/fip-0066.md +++ b/FIPS/fip-0066.md @@ -15,7 +15,7 @@ whether a given address belongs to a miner actor as a worker in the Filecoin ne ## Abstract The proposed FIP introduces a new method to the built-in miner actor for address validation to be used in determining \ -whether a given address belongs to a miner actor as a worker in the Filecoin network. +whether a given address corresponds to the worker of the queried Miner on the Filecoin network. ## Change Motivation There are several scenarios in the Filecoin protocol where it is necessary to confirm if a particular address belongs to a miner actor as a worker key. Having a dedicated exported method in the miner actorto handle such checks can increase efficiency and readability of the codebase. From aa4cdea086ce4daa7bf51722b2ebd8f81c48a2cf Mon Sep 17 00:00:00 2001 From: Kaitlin Beegle <46908964+kaitlin-beegle@users.noreply.github.com> Date: Tue, 8 Aug 2023 16:34:56 -0700 Subject: [PATCH 04/11] Update FIPS/fip-0066.md Co-authored-by: raulk --- FIPS/fip-0066.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FIPS/fip-0066.md b/FIPS/fip-0066.md index 2553caf46..3f4db3b05 100644 --- a/FIPS/fip-0066.md +++ b/FIPS/fip-0066.md @@ -10,7 +10,7 @@ created: 2023-07-24 --- ## Simple Summary -Introduces a new built-in actor method to the miner actors for address validation to be used in determining \ +Introduces a method to the built-in Miner actor for address validation to be used in determining \ whether a given address belongs to a miner actor as a worker in the Filecoin network. ## Abstract From dafba8740d9d546ce5c37cd685dc8041a08122fb Mon Sep 17 00:00:00 2001 From: Kaitlin Beegle <46908964+kaitlin-beegle@users.noreply.github.com> Date: Tue, 8 Aug 2023 16:35:02 -0700 Subject: [PATCH 05/11] Update FIPS/fip-0066.md Co-authored-by: raulk --- FIPS/fip-0066.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FIPS/fip-0066.md b/FIPS/fip-0066.md index 3f4db3b05..2ef91e281 100644 --- a/FIPS/fip-0066.md +++ b/FIPS/fip-0066.md @@ -11,7 +11,7 @@ created: 2023-07-24 ## Simple Summary Introduces a method to the built-in Miner actor for address validation to be used in determining \ -whether a given address belongs to a miner actor as a worker in the Filecoin network. +whether a given address corresponds to the worker of the queried Miner on the Filecoin network. ## Abstract The proposed FIP introduces a new method to the built-in miner actor for address validation to be used in determining \ From 97c5a0667941795b073d1130674de0b40653128e Mon Sep 17 00:00:00 2001 From: Kaitlin Beegle <46908964+kaitlin-beegle@users.noreply.github.com> Date: Tue, 8 Aug 2023 16:36:14 -0700 Subject: [PATCH 06/11] Update FIPS/fip-0066.md Co-authored-by: raulk --- FIPS/fip-0066.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FIPS/fip-0066.md b/FIPS/fip-0066.md index 2ef91e281..9ddbfe7b1 100644 --- a/FIPS/fip-0066.md +++ b/FIPS/fip-0066.md @@ -21,7 +21,7 @@ whether a given address corresponds to the worker of the queried Miner on the Fi There are several scenarios in the Filecoin protocol where it is necessary to confirm if a particular address belongs to a miner actor as a worker key. Having a dedicated exported method in the miner actorto handle such checks can increase efficiency and readability of the codebase. ## Specification -We propose to introduce a new method: `is_worker_address()`. This function receives an address as parameter and returns a boolean indicating whether this address corresponds to a worker in the network or not. The function implements a logic to resolve the address and checks it against the current worker address. +We propose to introduce a new method: `is_worker_address()` to the Miner actor. This function receives an address as parameter and returns a boolean indicating whether this address corresponds to a worker in the network or not. The function implements a logic to resolve the address and checks it against the current worker address. Pseudocode From 683b8f10040a8e20d104af45de0236235923b2b2 Mon Sep 17 00:00:00 2001 From: Kaitlin Beegle <46908964+kaitlin-beegle@users.noreply.github.com> Date: Tue, 8 Aug 2023 16:38:27 -0700 Subject: [PATCH 07/11] Update fip-0066.md --- FIPS/fip-0066.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FIPS/fip-0066.md b/FIPS/fip-0066.md index 9ddbfe7b1..b14e60dde 100644 --- a/FIPS/fip-0066.md +++ b/FIPS/fip-0066.md @@ -55,7 +55,7 @@ The pseudocode below demonstrates the intended implementation of the `is_worker_ This proposal should not have any backward compatibility issues. The function is a new addition and does not alter any existing methods or structures. ## Test Cases -To ensure the correctness of the `is_worker_address()` function, multiple test cases covering different scenarios (worker/non-worker addresses, non-resolvable addresses etc.) should be considered +To ensure the correctness of the `is_worker_address()` function, multiple test cases covering different scenarios (worker/non-worker addresses, non-resolvable addresses etc.) should be considered. Possible Tests: From 86a66a44c161c7b35143d533b35151a9eb8841f8 Mon Sep 17 00:00:00 2001 From: David Casem Date: Tue, 15 Aug 2023 22:05:47 -0500 Subject: [PATCH 08/11] Create fip-0071.md --- FIPS/fip-0071.md | 89 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 FIPS/fip-0071.md diff --git a/FIPS/fip-0071.md b/FIPS/fip-0071.md new file mode 100644 index 000000000..b35ae03ef --- /dev/null +++ b/FIPS/fip-0071.md @@ -0,0 +1,89 @@ + +# FIP-0071: Phasing Out Fil+ and Restoring Deal Quality Multiplier to 1x + +## Summary + +This proposal eliminates the 10X multiplier associated with Fil+ deals, effectively restoring the deal multiplier to its raw byte value. It intends to immediately halt the new Datacap allocations and remove the deal multiplier according to community consensus upon FIP finalization in the upcoming network upgrade. + +## Authors + +@Fatman13, @ArthurWang1255, @flyworker, @stuberman, @Eliovp, @dcasem, @The-Wayvy + +## 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 Filecoin blockchain and alleviate issues related to consensus overload, complexity, pledge availability, poor UX, loss of privacy/censorship resistance, and other problems outlined in the initial discussion[LINK]. + +## Specification + +### Stopping new Datacap allocations + +1. **Immediate Halt**: After this FIP's acceptance, no new Datacap allocations will be permitted. Existing allocations will continue as per their original agreement, but no new datacap quotas shall be released. + +### Elimination of the 10X Multiplier + +1. **Upgrade Activation**: This change will be activated in the next network upgrade following the FIP's finalization. +2. ***Removal of Verifreg Actor***: The Verifreg actor will be removed following the update. +3. **Existing Deals**: For sectors with existing Fil+ deals (DC sectors), the current Quality Adjusted Power (QAP) will remain until these deals expire. Technical solutions may need to be devised to ensure a smooth transition. +4. **Sector Extension**: Upon sector extension, the 10x multiplier will no longer be applicable after the upgrade. + +### Technical Changes + +The following technical changes must be implemented to facilitate this proposal: + +- **Remove Verireg Actor**: The verifreg actor will be removed following the update.This change will stop the issuance of new DataCap, while existing DataCap and Quality Adjusted Power (QAP) will remain untouched. +- **Block New Datacap Requests**: Prevent any new requests for Datacap allocations within the protocol. +- **Transition Handling for Existing Deals**: Implement mechanisms to handle the transition for existing DC sectors, ensuring that they continue with the current QAP until expiration. + +## Rationale + +This proposal aligns with Filecoin's mission to provide useful storage and maintains the network's core values of decentralization, objectivity, and permissionlessness. It aims to reduce complexity and friction in the ecosystem, encourage the onboarding of real data, and foster a healthier growth environment for the Filecoin network. + +## Impact and Migration + +- **Storage Providers (SPs)**: SPs need to adjust to the new multiplier rules and consider their strategies for attracting non-Fil+ deals. +- **Data Clients**: The transition may affect existing clients using Fil+. New mechanisms that are not embedded in Filecoin’s core protocol to promote real data storage can be developed. +- **Existing Deals**: Existing Fil+ deals will remain unaffected until their expiration.The extra pledge will be returned once the sector is terminated or expires. +- **Network Stability**: Care must be taken to ensure network stability during the transition, especially when handling existing deals. + +## Security Considerations + +This FIP does not introduce new security concerns. However, it is critical to ensure that the transition is handled securely, particularly when dealing with existing sectors. + +## Afterwards +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 community consensus determined the end of multipliers in NFV21 (proposed Nov 2023) upgrade, then sectors with multipliers would conclude at the end of May 2025. + + + + + +## References + +* [Initial Discussion](link_to_initial_discussion) +* [FIP-003](link_to_FIP-003) + +Why pick option1 over option2: +1 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6656805) +2 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6664701) +3 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6677630) + +Why 10x for all, a soft landing, is not ideal: +1 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6677066) +2 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6654608) +3 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6655524) + +Why no more multiplier should be applied in the Filecoin core protocol. +1 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6686571) +2 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6686564) +3 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6664701) +4 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6644045) + + + +## 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. From 4b0f14975deebb00e527a4a043ad758dd33f1dd3 Mon Sep 17 00:00:00 2001 From: David Casem Date: Tue, 15 Aug 2023 22:10:15 -0500 Subject: [PATCH 09/11] Update fip-0071.md --- FIPS/fip-0071.md | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/FIPS/fip-0071.md b/FIPS/fip-0071.md index b35ae03ef..5ab718f8a 100644 --- a/FIPS/fip-0071.md +++ b/FIPS/fip-0071.md @@ -55,29 +55,26 @@ By way of example. If the community consensus determined the end of multipliers - - ## References -* [Initial Discussion](link_to_initial_discussion) +* [Initial Discussion](https://github.com/filecoin-project/FIPs/discussions/774) * [FIP-003](link_to_FIP-003) -Why pick option1 over option2: -1 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6656805) -2 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6664701) -3 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6677630) - -Why 10x for all, a soft landing, is not ideal: -1 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6677066) -2 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6654608) -3 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6655524) - -Why no more multiplier should be applied in the Filecoin core protocol. -1 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6686571) -2 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6686564) -3 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6664701) -4 (https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6644045) - +Why pick option1 over option2:
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6656805
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6664701
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6677630
+ +Why 10x for all, a soft landing, is not ideal:
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6677066
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6654608
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6655524
+ +Why no more multiplier should be applied in the Filecoin core protocol:
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6686571
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6686564
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6664701
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6644045
## Copyright From 2acfc9bb4889c1afd60fbb4750b4c2693e481027 Mon Sep 17 00:00:00 2001 From: David Casem Date: Tue, 15 Aug 2023 22:12:59 -0500 Subject: [PATCH 10/11] Delete fip-0071.md --- FIPS/fip-0071.md | 86 ------------------------------------------------ 1 file changed, 86 deletions(-) delete mode 100644 FIPS/fip-0071.md diff --git a/FIPS/fip-0071.md b/FIPS/fip-0071.md deleted file mode 100644 index 5ab718f8a..000000000 --- a/FIPS/fip-0071.md +++ /dev/null @@ -1,86 +0,0 @@ - -# FIP-0071: Phasing Out Fil+ and Restoring Deal Quality Multiplier to 1x - -## Summary - -This proposal eliminates the 10X multiplier associated with Fil+ deals, effectively restoring the deal multiplier to its raw byte value. It intends to immediately halt the new Datacap allocations and remove the deal multiplier according to community consensus upon FIP finalization in the upcoming network upgrade. - -## Authors - -@Fatman13, @ArthurWang1255, @flyworker, @stuberman, @Eliovp, @dcasem, @The-Wayvy - -## 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 Filecoin blockchain and alleviate issues related to consensus overload, complexity, pledge availability, poor UX, loss of privacy/censorship resistance, and other problems outlined in the initial discussion[LINK]. - -## Specification - -### Stopping new Datacap allocations - -1. **Immediate Halt**: After this FIP's acceptance, no new Datacap allocations will be permitted. Existing allocations will continue as per their original agreement, but no new datacap quotas shall be released. - -### Elimination of the 10X Multiplier - -1. **Upgrade Activation**: This change will be activated in the next network upgrade following the FIP's finalization. -2. ***Removal of Verifreg Actor***: The Verifreg actor will be removed following the update. -3. **Existing Deals**: For sectors with existing Fil+ deals (DC sectors), the current Quality Adjusted Power (QAP) will remain until these deals expire. Technical solutions may need to be devised to ensure a smooth transition. -4. **Sector Extension**: Upon sector extension, the 10x multiplier will no longer be applicable after the upgrade. - -### Technical Changes - -The following technical changes must be implemented to facilitate this proposal: - -- **Remove Verireg Actor**: The verifreg actor will be removed following the update.This change will stop the issuance of new DataCap, while existing DataCap and Quality Adjusted Power (QAP) will remain untouched. -- **Block New Datacap Requests**: Prevent any new requests for Datacap allocations within the protocol. -- **Transition Handling for Existing Deals**: Implement mechanisms to handle the transition for existing DC sectors, ensuring that they continue with the current QAP until expiration. - -## Rationale - -This proposal aligns with Filecoin's mission to provide useful storage and maintains the network's core values of decentralization, objectivity, and permissionlessness. It aims to reduce complexity and friction in the ecosystem, encourage the onboarding of real data, and foster a healthier growth environment for the Filecoin network. - -## Impact and Migration - -- **Storage Providers (SPs)**: SPs need to adjust to the new multiplier rules and consider their strategies for attracting non-Fil+ deals. -- **Data Clients**: The transition may affect existing clients using Fil+. New mechanisms that are not embedded in Filecoin’s core protocol to promote real data storage can be developed. -- **Existing Deals**: Existing Fil+ deals will remain unaffected until their expiration.The extra pledge will be returned once the sector is terminated or expires. -- **Network Stability**: Care must be taken to ensure network stability during the transition, especially when handling existing deals. - -## Security Considerations - -This FIP does not introduce new security concerns. However, it is critical to ensure that the transition is handled securely, particularly when dealing with existing sectors. - -## Afterwards -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 community consensus determined the end of multipliers in NFV21 (proposed Nov 2023) upgrade, then sectors with multipliers would conclude at the end of May 2025. - - - -## References - -* [Initial Discussion](https://github.com/filecoin-project/FIPs/discussions/774) -* [FIP-003](link_to_FIP-003) - -Why pick option1 over option2:
--https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6656805
--https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6664701
--https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6677630
- -Why 10x for all, a soft landing, is not ideal:
--https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6677066
--https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6654608
--https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6655524
- -Why no more multiplier should be applied in the Filecoin core protocol:
--https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6686571
--https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6686564
--https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6664701
--https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6644045
- - -## 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. From a8dc6e9d9845a132732da564c147f58a6b866e6d Mon Sep 17 00:00:00 2001 From: David Casem Date: Tue, 15 Aug 2023 22:13:30 -0500 Subject: [PATCH 11/11] Phasing Out Fil+ and Restoring Deal Quality Multiplier to 1x --- FIPS/fip-0071.md | 86 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 FIPS/fip-0071.md diff --git a/FIPS/fip-0071.md b/FIPS/fip-0071.md new file mode 100644 index 000000000..5ab718f8a --- /dev/null +++ b/FIPS/fip-0071.md @@ -0,0 +1,86 @@ + +# FIP-0071: Phasing Out Fil+ and Restoring Deal Quality Multiplier to 1x + +## Summary + +This proposal eliminates the 10X multiplier associated with Fil+ deals, effectively restoring the deal multiplier to its raw byte value. It intends to immediately halt the new Datacap allocations and remove the deal multiplier according to community consensus upon FIP finalization in the upcoming network upgrade. + +## Authors + +@Fatman13, @ArthurWang1255, @flyworker, @stuberman, @Eliovp, @dcasem, @The-Wayvy + +## 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 Filecoin blockchain and alleviate issues related to consensus overload, complexity, pledge availability, poor UX, loss of privacy/censorship resistance, and other problems outlined in the initial discussion[LINK]. + +## Specification + +### Stopping new Datacap allocations + +1. **Immediate Halt**: After this FIP's acceptance, no new Datacap allocations will be permitted. Existing allocations will continue as per their original agreement, but no new datacap quotas shall be released. + +### Elimination of the 10X Multiplier + +1. **Upgrade Activation**: This change will be activated in the next network upgrade following the FIP's finalization. +2. ***Removal of Verifreg Actor***: The Verifreg actor will be removed following the update. +3. **Existing Deals**: For sectors with existing Fil+ deals (DC sectors), the current Quality Adjusted Power (QAP) will remain until these deals expire. Technical solutions may need to be devised to ensure a smooth transition. +4. **Sector Extension**: Upon sector extension, the 10x multiplier will no longer be applicable after the upgrade. + +### Technical Changes + +The following technical changes must be implemented to facilitate this proposal: + +- **Remove Verireg Actor**: The verifreg actor will be removed following the update.This change will stop the issuance of new DataCap, while existing DataCap and Quality Adjusted Power (QAP) will remain untouched. +- **Block New Datacap Requests**: Prevent any new requests for Datacap allocations within the protocol. +- **Transition Handling for Existing Deals**: Implement mechanisms to handle the transition for existing DC sectors, ensuring that they continue with the current QAP until expiration. + +## Rationale + +This proposal aligns with Filecoin's mission to provide useful storage and maintains the network's core values of decentralization, objectivity, and permissionlessness. It aims to reduce complexity and friction in the ecosystem, encourage the onboarding of real data, and foster a healthier growth environment for the Filecoin network. + +## Impact and Migration + +- **Storage Providers (SPs)**: SPs need to adjust to the new multiplier rules and consider their strategies for attracting non-Fil+ deals. +- **Data Clients**: The transition may affect existing clients using Fil+. New mechanisms that are not embedded in Filecoin’s core protocol to promote real data storage can be developed. +- **Existing Deals**: Existing Fil+ deals will remain unaffected until their expiration.The extra pledge will be returned once the sector is terminated or expires. +- **Network Stability**: Care must be taken to ensure network stability during the transition, especially when handling existing deals. + +## Security Considerations + +This FIP does not introduce new security concerns. However, it is critical to ensure that the transition is handled securely, particularly when dealing with existing sectors. + +## Afterwards +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 community consensus determined the end of multipliers in NFV21 (proposed Nov 2023) upgrade, then sectors with multipliers would conclude at the end of May 2025. + + + +## References + +* [Initial Discussion](https://github.com/filecoin-project/FIPs/discussions/774) +* [FIP-003](link_to_FIP-003) + +Why pick option1 over option2:
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6656805
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6664701
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6677630
+ +Why 10x for all, a soft landing, is not ideal:
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6677066
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6654608
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6655524
+ +Why no more multiplier should be applied in the Filecoin core protocol:
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6686571
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6686564
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6664701
+-https://github.com/filecoin-project/FIPs/discussions/774#discussioncomment-6644045
+ + +## 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.