From 54574ffaa4cdd0dd05fcdfa366e462b445470f1a Mon Sep 17 00:00:00 2001 From: irene <23217773+irenegia@users.noreply.github.com> Date: Thu, 19 Dec 2024 17:37:07 +0100 Subject: [PATCH 1/9] Create fip-lowerbatchBal.md We are proposing a FIP to support more batching/aggregation as low hanging fruit to give some onboarding gas saving in the short term cc @AxCortesCubero @zixuanzh --- FIPS/fip-lowerbatchBal.md | 101 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 FIPS/fip-lowerbatchBal.md diff --git a/FIPS/fip-lowerbatchBal.md b/FIPS/fip-lowerbatchBal.md new file mode 100644 index 00000000..53393529 --- /dev/null +++ b/FIPS/fip-lowerbatchBal.md @@ -0,0 +1,101 @@ +--- +fip: "00XX" +title: Remove Batch Fee For Precommit and Lower batchBalancer +author: irene, ZX, AX +discussions-to: https://github.com/filecoin-project/FIPs/discussions/1092 +status: Draft +type: Technical +category: Core +created: 2024-12-19 +--- + +# FIP-00XX:Remove Batch Fee For Precommit and Lower batchBalancer + +## Simple Summary +This FIP proposes to: +- Remove the batch fee from `PreCommitSectorBatch2` to incentivize batching during the precommit step; +- Revert `batchBalancer` to the original value of 2 nanoFIL to make aggregation rational for a larger range of base fee value with respect to today. + + +## Abstract +`batchBalancer` and the batch gas fee were introduced in [FIP13](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0013.md) for provecommit and later updated in [FIP24](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0024.md), where the fee was added to the precommit step as well. +This mechanism makes batching in precommit and aggregation in provecommit rational (ie, cost-effective) only when the base fee is above a given threshold (which depends on `batchBalancer`, other parameters used in the mechanism and the gas used). This FIP proposes to revert to no fee for precommit and lower the value of `batchBalancer` to 2 nanoFIL in order to have no BaseFee threshold for batching precommit and a lower BaseFee threshold for aggregating provecommit. + + +## Change Motivation +Since August, gas used for onboarding methods has been higher than in the past year (see [#1092](https://github.com/filecoin-project/FIPs/discussions/1092) for more details on data and causes). A simple mechanism to reduce gas consumption is batching: at times of high demand for network gas, storage providers (SPs) should be incentivized to batch as much as possible for both precommit and provecommit. + +### Precommit +Due to the batch fee, currently precommit batching is only rational when the base fee exceeds 0.09 nanoFIL. Removing this fee will eliminate this obstacle, enabling more batching and therefore gas saving. To have a rough estimate of the saving, we can compare two recent messages (no deal) +- [Msg 1](https://www.filutils.com/en/message/bafy2bzacedrbvzzcea3uwtqmas7zp5moxxpbceywukxux5fvgnbi2pj25hkjs): PreCommiSectorBatch2 for 1 sector : 16.5 M gas used +- [Msg 2](https://www.filutils.com/en/message/bafy2bzacebbc5pdzweouhvopgfvlc4trlips4ynszut774fxkv5omz3cicd3e): PreCommitSectorBatch2 for 4 sectors): 177 M/ 4 = ~4.5 gas used (per sector) + +Which indicates that batching can bring a ~70% of gas saving. + + + +### Provecommit +At precommit there are two options: (1) "simple" batching as in precommit (ie, one message for ≥ 2 sectors) where there is a porep proof for each sector in the batch, and (2) batching with aggregation, where there is one unique aggregated porep proof. +Batching for provecommit is already rational (cost-effective), as the batch fee applies only to aggregated proofs (opposed to precommit, where the batch balancer applies to batching). + +On the other hand, aggregation is rational only when the base fee exceeds 0.065 nanoFIL. Lowering the value of `batchBalancer` from 5 to 2 nanoFIL will reduce the crossover point to 0.026 nanoFIL, making the aggregation rational across a broader range of base fee values. + +To have a rough estimate of the gas saving, we compared these messages (no deals) +- [Msg 1](https://www.filutils.com/en/message/bafy2bzaceaddryxumxg35givyt7pe745wlsmrlrx7bj4sdb56nho4akyi5tzu): ProveCommitSectors3 for 1 sector (no deals): 78.5M +- [Msg 2](https://www.filutils.com/en/message/bafy2bzaceah7m6jzravjoswo2pljzit36euu3sgz5jzbnpkcfp23b76texiv6): ProveCommitSectors3 for 4 sectors, batched (no aggregation): 96.M/4 = 24M per sector +- [Msg 3](https://www.filutils.com/en/message/bafy2bzacedeh74ds4x4l5nlfahmlvwn4obfukhgqnf6rxlaargvsm56sljune): ProveCommitSectors3 for 4 sectors, aggregated[^*]: 217M/4 = 54M per sector + +[^*]: In practice, aggregation is currently giving less gas saving respect to batching due to a bug causing single proofs to be charged an incorrect amount of gas units. So currently, batching is to be preferred with respect to aggregation. Once this code bug is fixed, batching will cost more gas units and aggregation would be the option with the largest gas unit saving per sector. + + +## Specification +- Remove the burning `aggregate_fee` from `PreCommitSectorBatch2`. +- Decrease **BatchBalancer** value to 2 nanoFIL. + + +## Design Rationale +Long-term solutions for reducing onboarding gas will focus on decreasing state storage gas costs (we estimated that state storage gas may get to ~66% of the total cost for pcs3 messages with no deals) and optimizing state updates. +This FIP takes an orthogonal approach by enhancing support for batching and aggregation at times of high demand, which are simple yet effective ways to free chain bandwidth immediately. + +This FIP also reduces state storage cost by batching. Much of this cost comes from updating state over and over, batching helps alleviate that significantly. + +In the future, we envision stronger support for aggregation by potentially replacing the batch balancer mechanism from provecommit with alternate fees that align all participants with the network's long-term health. For additional context, see https://github.com/filecoin-project/FIPs/discussions/557 and https://github.com/filecoin-project/FIPs/discussions/587. + + + +## Backwards Compatibility +This FIP modifies actor behavior and will require a new Filecoin network version. + + + +## Test Cases +- Certain test cases (similar to as FIP24) may need to be adjusted when changing the batchBalancer value. + + + +## Security Considerations +This FIP does not affect underlying proofs or protocol security. + + + +## Incentive Considerations +This proposal is expected to enhance the incentives for batching and aggregation, thereby reducing gas costs and improving the network's overall efficiency. + +The current batchBalancer of 5 nanoFIL was set in FIP24 more than three years ago and a lot has changed since then. With the current network parameters, the crossover network BaseFee when aggregating becomes rational for ProveCommit is around 0.065 nanoFIL. At equilibrium 0.065 nanoFIL, it is estimated that to onboard a 32GiB sector full of deals, it will cost around 3-5% of initial pledge in gas burn to onboard. + +By lowering the BatchBalancer value, the network is incentivizing more aggregation at a lower equilibrium BaseFee value, thus freeing up more chain bandwidth. By reverting to the original batchBalancer of 2 nanoFIL, the equilibrium network crossover BaseFee for ProveCommit (when aggregating for ProveCommit becomes rational) is at around 0.025 nanoFIL, incentivizing ProveCommit aggregation at a broader range of BaseFee values. In the medium term, however, BatchBalancer is intended to be replaced with an explicit proof fee at the time of onboarding. + + +## Product Considerations +From a product perspective, this FIP is expected to: +- By removing barriers to precommit batching (e.g., precommit batch proof fees), SPs will have lower onboarding costs; +- Encouraging batching and aggregation reduces block space consumption, reducing the risk of higher base fee values; +- The removal of precommit aggregated proof fees simplifies analyst and cost calculations for SPs. + + + +## Implementation +Specs-actors PR: TODO + +## Copyright +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). From 627aaa6ba92a685ffceef7dccbfdad4f49a351d3 Mon Sep 17 00:00:00 2001 From: irene <23217773+irenegia@users.noreply.github.com> Date: Thu, 19 Dec 2024 17:48:14 +0100 Subject: [PATCH 2/9] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f9077d2c..68acf0b7 100644 --- a/README.md +++ b/README.md @@ -134,3 +134,5 @@ This improvement protocol helps achieve that objective for all members of the Fi | [0096](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0096.md) | Convert fundraising remainder address(es) to keyless account actor(s) | FIP | @Fatman13 | Draft | | [0097](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0097.md) | Add Support for EIP-1153 (Transient Storage) in the FEVM | FIP | Michael Seiler (@snissn), Steven Allen (@stebalien) | Draft | | [0098](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0098.md) | Simplify termination fee calculation to a fixed percentage of initial pledge | FIP | Jonathan Schwartz (@Schwartz10), Alex North (@anorth), Jim Pick (@jimpick) | Draft | +| [XXXX](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0098.md) | Remove Batch Fee For Precommit and Lower batchBalancer | FIP | Irene (@irenegia), AX (@AxCortesCubero), ZX (@zixuanzh) | Draft | + From 6c49c8caca1c1a8485c7794596033a3220036b58 Mon Sep 17 00:00:00 2001 From: irene <23217773+irenegia@users.noreply.github.com> Date: Mon, 23 Dec 2024 13:54:52 +0100 Subject: [PATCH 3/9] Apply suggestions from code review Co-authored-by: Adrian Lanzafame Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com> --- FIPS/fip-lowerbatchBal.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/FIPS/fip-lowerbatchBal.md b/FIPS/fip-lowerbatchBal.md index 53393529..21e1b8d7 100644 --- a/FIPS/fip-lowerbatchBal.md +++ b/FIPS/fip-lowerbatchBal.md @@ -9,12 +9,12 @@ category: Core created: 2024-12-19 --- -# FIP-00XX:Remove Batch Fee For Precommit and Lower batchBalancer +# FIP-00XX: Remove Batch Fee For Precommit and Lower batchBalancer ## Simple Summary This FIP proposes to: - Remove the batch fee from `PreCommitSectorBatch2` to incentivize batching during the precommit step; -- Revert `batchBalancer` to the original value of 2 nanoFIL to make aggregation rational for a larger range of base fee value with respect to today. +- Revert `batchBalancer` to the original value of 2 nanoFIL to make aggregation rational for a larger range of base fee value with respect to today's network conditions. ## Abstract From b3baf7f8f58f151d7d2c250c282aef9e4999bcdc Mon Sep 17 00:00:00 2001 From: irene <23217773+irenegia@users.noreply.github.com> Date: Mon, 23 Dec 2024 14:58:19 +0100 Subject: [PATCH 4/9] Apply suggestions from code review Co-authored-by: Rod Vagg Co-authored-by: Adrian Lanzafame --- FIPS/fip-lowerbatchBal.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/FIPS/fip-lowerbatchBal.md b/FIPS/fip-lowerbatchBal.md index 21e1b8d7..ebdbbe85 100644 --- a/FIPS/fip-lowerbatchBal.md +++ b/FIPS/fip-lowerbatchBal.md @@ -19,7 +19,7 @@ This FIP proposes to: ## Abstract `batchBalancer` and the batch gas fee were introduced in [FIP13](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0013.md) for provecommit and later updated in [FIP24](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0024.md), where the fee was added to the precommit step as well. -This mechanism makes batching in precommit and aggregation in provecommit rational (ie, cost-effective) only when the base fee is above a given threshold (which depends on `batchBalancer`, other parameters used in the mechanism and the gas used). This FIP proposes to revert to no fee for precommit and lower the value of `batchBalancer` to 2 nanoFIL in order to have no BaseFee threshold for batching precommit and a lower BaseFee threshold for aggregating provecommit. +This mechanism makes batching in precommit and aggregation in provecommit rational (ie, cost-effective) only when the base fee is above a given threshold (which depends on `batchBalancer`, other parameters used in the mechanism and the gas used). This FIP proposes to revert to no fee for precommit and lower the value of `batchBalancer` to 2 nanoFIL, from the current 5 nanoFIL, in order to have no BaseFee threshold for batching precommit and a lower BaseFee threshold for aggregating provecommit. ## Change Motivation @@ -41,7 +41,7 @@ Batching for provecommit is already rational (cost-effective), as the batch fee On the other hand, aggregation is rational only when the base fee exceeds 0.065 nanoFIL. Lowering the value of `batchBalancer` from 5 to 2 nanoFIL will reduce the crossover point to 0.026 nanoFIL, making the aggregation rational across a broader range of base fee values. To have a rough estimate of the gas saving, we compared these messages (no deals) -- [Msg 1](https://www.filutils.com/en/message/bafy2bzaceaddryxumxg35givyt7pe745wlsmrlrx7bj4sdb56nho4akyi5tzu): ProveCommitSectors3 for 1 sector (no deals): 78.5M +- [Msg 1](https://www.filutils.com/en/message/bafy2bzaceaddryxumxg35givyt7pe745wlsmrlrx7bj4sdb56nho4akyi5tzu): ProveCommitSectors3 for 1 sector (no deals): 78.4 M - [Msg 2](https://www.filutils.com/en/message/bafy2bzaceah7m6jzravjoswo2pljzit36euu3sgz5jzbnpkcfp23b76texiv6): ProveCommitSectors3 for 4 sectors, batched (no aggregation): 96.M/4 = 24M per sector - [Msg 3](https://www.filutils.com/en/message/bafy2bzacedeh74ds4x4l5nlfahmlvwn4obfukhgqnf6rxlaargvsm56sljune): ProveCommitSectors3 for 4 sectors, aggregated[^*]: 217M/4 = 54M per sector From 1991617491acd1aa6cad82dd76533562ef9a2b8d Mon Sep 17 00:00:00 2001 From: irene <23217773+irenegia@users.noreply.github.com> Date: Mon, 23 Dec 2024 14:59:06 +0100 Subject: [PATCH 5/9] Apply suggestions from code review Co-authored-by: Rod Vagg Co-authored-by: Adrian Lanzafame --- FIPS/fip-lowerbatchBal.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/FIPS/fip-lowerbatchBal.md b/FIPS/fip-lowerbatchBal.md index ebdbbe85..f347a1f4 100644 --- a/FIPS/fip-lowerbatchBal.md +++ b/FIPS/fip-lowerbatchBal.md @@ -23,12 +23,12 @@ This mechanism makes batching in precommit and aggregation in provecommit ration ## Change Motivation -Since August, gas used for onboarding methods has been higher than in the past year (see [#1092](https://github.com/filecoin-project/FIPs/discussions/1092) for more details on data and causes). A simple mechanism to reduce gas consumption is batching: at times of high demand for network gas, storage providers (SPs) should be incentivized to batch as much as possible for both precommit and provecommit. +Since August 2024, gas used for onboarding methods has been higher than in the past year (see [#1092](https://github.com/filecoin-project/FIPs/discussions/1092) for more details on data and causes). A simple mechanism to reduce gas consumption is batching: at times of high demand for network gas, storage providers (SPs) should be incentivized to batch as much as possible for both precommit and provecommit. ### Precommit Due to the batch fee, currently precommit batching is only rational when the base fee exceeds 0.09 nanoFIL. Removing this fee will eliminate this obstacle, enabling more batching and therefore gas saving. To have a rough estimate of the saving, we can compare two recent messages (no deal) - [Msg 1](https://www.filutils.com/en/message/bafy2bzacedrbvzzcea3uwtqmas7zp5moxxpbceywukxux5fvgnbi2pj25hkjs): PreCommiSectorBatch2 for 1 sector : 16.5 M gas used -- [Msg 2](https://www.filutils.com/en/message/bafy2bzacebbc5pdzweouhvopgfvlc4trlips4ynszut774fxkv5omz3cicd3e): PreCommitSectorBatch2 for 4 sectors): 177 M/ 4 = ~4.5 gas used (per sector) +- [Msg 2](https://www.filutils.com/en/message/bafy2bzacebbc5pdzweouhvopgfvlc4trlips4ynszut774fxkv5omz3cicd3e): PreCommitSectorBatch2 for 4 sectors): 17.7 M/ 4 = ~4.4 M gas used (per sector) Which indicates that batching can bring a ~70% of gas saving. @@ -43,7 +43,7 @@ On the other hand, aggregation is rational only when the base fee exceeds 0.065 To have a rough estimate of the gas saving, we compared these messages (no deals) - [Msg 1](https://www.filutils.com/en/message/bafy2bzaceaddryxumxg35givyt7pe745wlsmrlrx7bj4sdb56nho4akyi5tzu): ProveCommitSectors3 for 1 sector (no deals): 78.4 M - [Msg 2](https://www.filutils.com/en/message/bafy2bzaceah7m6jzravjoswo2pljzit36euu3sgz5jzbnpkcfp23b76texiv6): ProveCommitSectors3 for 4 sectors, batched (no aggregation): 96.M/4 = 24M per sector -- [Msg 3](https://www.filutils.com/en/message/bafy2bzacedeh74ds4x4l5nlfahmlvwn4obfukhgqnf6rxlaargvsm56sljune): ProveCommitSectors3 for 4 sectors, aggregated[^*]: 217M/4 = 54M per sector +- [Msg 3](https://www.filutils.com/en/message/bafy2bzacedeh74ds4x4l5nlfahmlvwn4obfukhgqnf6rxlaargvsm56sljune): ProveCommitSectors3 for 4 sectors, aggregated[^*]: 217.4 M/4 = ~54.4 M per sector [^*]: In practice, aggregation is currently giving less gas saving respect to batching due to a bug causing single proofs to be charged an incorrect amount of gas units. So currently, batching is to be preferred with respect to aggregation. Once this code bug is fixed, batching will cost more gas units and aggregation would be the option with the largest gas unit saving per sector. From b2a37bf7f25f774f16bad7d55469df0da0a35f6c Mon Sep 17 00:00:00 2001 From: irene <23217773+irenegia@users.noreply.github.com> Date: Mon, 23 Dec 2024 15:00:07 +0100 Subject: [PATCH 6/9] Apply suggestions from code review Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com> Co-authored-by: Adrian Lanzafame --- FIPS/fip-lowerbatchBal.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/FIPS/fip-lowerbatchBal.md b/FIPS/fip-lowerbatchBal.md index f347a1f4..1c6abb48 100644 --- a/FIPS/fip-lowerbatchBal.md +++ b/FIPS/fip-lowerbatchBal.md @@ -26,23 +26,23 @@ This mechanism makes batching in precommit and aggregation in provecommit ration Since August 2024, gas used for onboarding methods has been higher than in the past year (see [#1092](https://github.com/filecoin-project/FIPs/discussions/1092) for more details on data and causes). A simple mechanism to reduce gas consumption is batching: at times of high demand for network gas, storage providers (SPs) should be incentivized to batch as much as possible for both precommit and provecommit. ### Precommit -Due to the batch fee, currently precommit batching is only rational when the base fee exceeds 0.09 nanoFIL. Removing this fee will eliminate this obstacle, enabling more batching and therefore gas saving. To have a rough estimate of the saving, we can compare two recent messages (no deal) +Due to the batch fee, currently precommit batching is only rational when the base fee exceeds 0.09 nanoFIL. Removing this fee will eliminate this obstacle, enabling more batching and therefore gas saving. To have a rough estimate of the saving, we can compare two PreCommitSector messages without deals from the same miner: - [Msg 1](https://www.filutils.com/en/message/bafy2bzacedrbvzzcea3uwtqmas7zp5moxxpbceywukxux5fvgnbi2pj25hkjs): PreCommiSectorBatch2 for 1 sector : 16.5 M gas used - [Msg 2](https://www.filutils.com/en/message/bafy2bzacebbc5pdzweouhvopgfvlc4trlips4ynszut774fxkv5omz3cicd3e): PreCommitSectorBatch2 for 4 sectors): 17.7 M/ 4 = ~4.4 M gas used (per sector) -Which indicates that batching can bring a ~70% of gas saving. +The two messages are posted to the same miner actor with little difference in the number of sectors when the message landed. The difference in gas usage indicates batching can bring a ~70% of gas saving. ### Provecommit -At precommit there are two options: (1) "simple" batching as in precommit (ie, one message for ≥ 2 sectors) where there is a porep proof for each sector in the batch, and (2) batching with aggregation, where there is one unique aggregated porep proof. +There are two options for ProveCommitSector3: (1) "simple" batching as in precommit (ie, one message for ≥ 2 sectors) where there is a porep proof for each sector in the batched message, and (2) aggregating proofs of multiple sectors and post in one message. Batching for provecommit is already rational (cost-effective), as the batch fee applies only to aggregated proofs (opposed to precommit, where the batch balancer applies to batching). On the other hand, aggregation is rational only when the base fee exceeds 0.065 nanoFIL. Lowering the value of `batchBalancer` from 5 to 2 nanoFIL will reduce the crossover point to 0.026 nanoFIL, making the aggregation rational across a broader range of base fee values. To have a rough estimate of the gas saving, we compared these messages (no deals) - [Msg 1](https://www.filutils.com/en/message/bafy2bzaceaddryxumxg35givyt7pe745wlsmrlrx7bj4sdb56nho4akyi5tzu): ProveCommitSectors3 for 1 sector (no deals): 78.4 M -- [Msg 2](https://www.filutils.com/en/message/bafy2bzaceah7m6jzravjoswo2pljzit36euu3sgz5jzbnpkcfp23b76texiv6): ProveCommitSectors3 for 4 sectors, batched (no aggregation): 96.M/4 = 24M per sector +- [Msg 2](https://www.filutils.com/en/message/bafy2bzaceah7m6jzravjoswo2pljzit36euu3sgz5jzbnpkcfp23b76texiv6): ProveCommitSectors3 for 4 sectors, batched (no aggregation): 96.4 M/4 = ~24.1 M per sector - [Msg 3](https://www.filutils.com/en/message/bafy2bzacedeh74ds4x4l5nlfahmlvwn4obfukhgqnf6rxlaargvsm56sljune): ProveCommitSectors3 for 4 sectors, aggregated[^*]: 217.4 M/4 = ~54.4 M per sector [^*]: In practice, aggregation is currently giving less gas saving respect to batching due to a bug causing single proofs to be charged an incorrect amount of gas units. So currently, batching is to be preferred with respect to aggregation. Once this code bug is fixed, batching will cost more gas units and aggregation would be the option with the largest gas unit saving per sector. @@ -88,9 +88,9 @@ By lowering the BatchBalancer value, the network is incentivizing more aggregati ## Product Considerations From a product perspective, this FIP is expected to: -- By removing barriers to precommit batching (e.g., precommit batch proof fees), SPs will have lower onboarding costs; +- Lower onboarding costs for SPs by removing barriers to precommit batching (e.g., precommit batch proof fees); - Encouraging batching and aggregation reduces block space consumption, reducing the risk of higher base fee values; -- The removal of precommit aggregated proof fees simplifies analyst and cost calculations for SPs. +- Simplify analysis and cost calculations for SPs by removing of precommit aggregated proof fees. From c36d2a0b7a4add89a2d3e9f50d6e56bd887776e4 Mon Sep 17 00:00:00 2001 From: irene <23217773+irenegia@users.noreply.github.com> Date: Mon, 23 Dec 2024 15:25:35 +0100 Subject: [PATCH 7/9] Update fip-lowerbatchBal.md editorial changes + added links to precommit and provecommit msgs with deals --- FIPS/fip-lowerbatchBal.md | 44 +++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/FIPS/fip-lowerbatchBal.md b/FIPS/fip-lowerbatchBal.md index 1c6abb48..4984edb7 100644 --- a/FIPS/fip-lowerbatchBal.md +++ b/FIPS/fip-lowerbatchBal.md @@ -1,7 +1,7 @@ --- fip: "00XX" -title: Remove Batch Fee For Precommit and Lower batchBalancer -author: irene, ZX, AX +title: Remove Batch Fee For Precommit and Lower BatchBalancer +author: irene (@irenegia), ZX (@zixuanzh), AX (@AxCortesCubero) discussions-to: https://github.com/filecoin-project/FIPs/discussions/1092 status: Draft type: Technical @@ -9,48 +9,46 @@ category: Core created: 2024-12-19 --- -# FIP-00XX: Remove Batch Fee For Precommit and Lower batchBalancer +# FIP-00XX: Remove Batch Fee For Precommit and Lower BatchBalancer ## Simple Summary This FIP proposes to: - Remove the batch fee from `PreCommitSectorBatch2` to incentivize batching during the precommit step; -- Revert `batchBalancer` to the original value of 2 nanoFIL to make aggregation rational for a larger range of base fee value with respect to today's network conditions. +- Revert `BATCH_BALANCER` to the original value of 2 nanoFIL to make aggregation rational for a larger range of base fee value with respect to today's network conditions. ## Abstract -`batchBalancer` and the batch gas fee were introduced in [FIP13](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0013.md) for provecommit and later updated in [FIP24](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0024.md), where the fee was added to the precommit step as well. -This mechanism makes batching in precommit and aggregation in provecommit rational (ie, cost-effective) only when the base fee is above a given threshold (which depends on `batchBalancer`, other parameters used in the mechanism and the gas used). This FIP proposes to revert to no fee for precommit and lower the value of `batchBalancer` to 2 nanoFIL, from the current 5 nanoFIL, in order to have no BaseFee threshold for batching precommit and a lower BaseFee threshold for aggregating provecommit. +BatchBalancer and the batch gas fee were introduced in [FIP13](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0013.md) for provecommit and later updated in [FIP24](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0024.md), where the fee was added to the precommit step as well. +This mechanism makes batching in precommit and aggregation in provecommit rational (ie, cost-effective) only when the base fee is above a given threshold (which depends on BatchBalancer, other parameters used in the mechanism and the gas used). This FIP proposes to revert to no fee for precommit and lower the value of BatchBalancer to 2 nanoFIL, from the current 5 nanoFIL, in order to have no BaseFee threshold for batching precommit and a lower BaseFee threshold for aggregating provecommit. ## Change Motivation Since August 2024, gas used for onboarding methods has been higher than in the past year (see [#1092](https://github.com/filecoin-project/FIPs/discussions/1092) for more details on data and causes). A simple mechanism to reduce gas consumption is batching: at times of high demand for network gas, storage providers (SPs) should be incentivized to batch as much as possible for both precommit and provecommit. ### Precommit -Due to the batch fee, currently precommit batching is only rational when the base fee exceeds 0.09 nanoFIL. Removing this fee will eliminate this obstacle, enabling more batching and therefore gas saving. To have a rough estimate of the saving, we can compare two PreCommitSector messages without deals from the same miner: -- [Msg 1](https://www.filutils.com/en/message/bafy2bzacedrbvzzcea3uwtqmas7zp5moxxpbceywukxux5fvgnbi2pj25hkjs): PreCommiSectorBatch2 for 1 sector : 16.5 M gas used -- [Msg 2](https://www.filutils.com/en/message/bafy2bzacebbc5pdzweouhvopgfvlc4trlips4ynszut774fxkv5omz3cicd3e): PreCommitSectorBatch2 for 4 sectors): 17.7 M/ 4 = ~4.4 M gas used (per sector) - -The two messages are posted to the same miner actor with little difference in the number of sectors when the message landed. The difference in gas usage indicates batching can bring a ~70% of gas saving. +Due to the batch fee, currently precommit batching is only rational when the base fee exceeds 0.09 nanoFIL. Removing this fee will eliminate this obstacle, enabling more batching and therefore gas saving. To have a rough estimate of the saving, we can compare two PreCommitSector messages posted by the same miner actor with little difference in the number of sectors when the message landed. +- [Msg 1](https://www.filutils.com/en/message/bafy2bzacebzacw3b7ymcwukk2uimahiebpke65utbfn3srgslzj5w3hh234x6): PreCommiSectorBatch2 for 1 sector : 16.7 M gas used +- [Msg 2](https://www.filutils.com/en/message/bafy2bzacebdqgivdbxzj25exae55j7vjasos45lvj4bzi6fj5oaya4rqwxrf6): PreCommitSectorBatch2 for 4 sectors): 18.6 M/ 4 = 4.6 M per sector (3.6x smaller) ### Provecommit -There are two options for ProveCommitSector3: (1) "simple" batching as in precommit (ie, one message for ≥ 2 sectors) where there is a porep proof for each sector in the batched message, and (2) aggregating proofs of multiple sectors and post in one message. +There are two options for `ProveCommitSector3`: (1) "simple" batching as in precommit (ie, one message for ≥ 2 sectors) where there is a porep proof for each sector in the batched message, and (2) aggregating proofs of multiple sectors and post in one message. Batching for provecommit is already rational (cost-effective), as the batch fee applies only to aggregated proofs (opposed to precommit, where the batch balancer applies to batching). -On the other hand, aggregation is rational only when the base fee exceeds 0.065 nanoFIL. Lowering the value of `batchBalancer` from 5 to 2 nanoFIL will reduce the crossover point to 0.026 nanoFIL, making the aggregation rational across a broader range of base fee values. +On the other hand, aggregation is rational only when the base fee exceeds 0.065 nanoFIL. Lowering the value of BatchBalancer from 5 to 2 nanoFIL will reduce the crossover point to 0.026 nanoFIL, making the aggregation rational across a broader range of base fee values. -To have a rough estimate of the gas saving, we compared these messages (no deals) -- [Msg 1](https://www.filutils.com/en/message/bafy2bzaceaddryxumxg35givyt7pe745wlsmrlrx7bj4sdb56nho4akyi5tzu): ProveCommitSectors3 for 1 sector (no deals): 78.4 M -- [Msg 2](https://www.filutils.com/en/message/bafy2bzaceah7m6jzravjoswo2pljzit36euu3sgz5jzbnpkcfp23b76texiv6): ProveCommitSectors3 for 4 sectors, batched (no aggregation): 96.4 M/4 = ~24.1 M per sector -- [Msg 3](https://www.filutils.com/en/message/bafy2bzacedeh74ds4x4l5nlfahmlvwn4obfukhgqnf6rxlaargvsm56sljune): ProveCommitSectors3 for 4 sectors, aggregated[^*]: 217.4 M/4 = ~54.4 M per sector +To have a rough estimate of the saving, we can compare these `ProveCommitSector3` messages posted by the same miner actor with little difference in the number of sectors when the message landed. +- [Msg 1](https://www.filutils.com/en/message/bafy2bzacebshpv7afwnxph6l4jnbpwpqnss3cboyfvlualfrjbox76hojjnlo): ProveCommitSectors3 for 1 sector: 225.5 M +- [Msg 2](https://www.filutils.com/en/message/bafy2bzacebd7ftq5lk4ikuif4j3xfwiabmla5bek3kuhn3k6x3obufxyzrs6y): ProveCommitSectors3 for 4 sectors, batched (no aggregation): 412 M/4 = 103 M per sector (2.2x smaller) +- [Msg 3](https://www.filutils.com/en/message/bafy2bzacedezi6lm4warrfq2n6dxvpokowzt5isacbq2kojkz462yfpfq7lxm): ProveCommitSectors3 for 4 sectors, aggregated[^*]: 517.4 M/4 = 129.3 M per sector (1.7x smaller) [^*]: In practice, aggregation is currently giving less gas saving respect to batching due to a bug causing single proofs to be charged an incorrect amount of gas units. So currently, batching is to be preferred with respect to aggregation. Once this code bug is fixed, batching will cost more gas units and aggregation would be the option with the largest gas unit saving per sector. ## Specification - Remove the burning `aggregate_fee` from `PreCommitSectorBatch2`. -- Decrease **BatchBalancer** value to 2 nanoFIL. +- Decrease `BATCH_BALANCER` value to 2 nanoFIL. ## Design Rationale @@ -69,7 +67,7 @@ This FIP modifies actor behavior and will require a new Filecoin network version ## Test Cases -- Certain test cases (similar to as FIP24) may need to be adjusted when changing the batchBalancer value. +- Certain test cases (similar to as FIP24) may need to be adjusted when changing the BatchBalancer value. @@ -81,16 +79,16 @@ This FIP does not affect underlying proofs or protocol security. ## Incentive Considerations This proposal is expected to enhance the incentives for batching and aggregation, thereby reducing gas costs and improving the network's overall efficiency. -The current batchBalancer of 5 nanoFIL was set in FIP24 more than three years ago and a lot has changed since then. With the current network parameters, the crossover network BaseFee when aggregating becomes rational for ProveCommit is around 0.065 nanoFIL. At equilibrium 0.065 nanoFIL, it is estimated that to onboard a 32GiB sector full of deals, it will cost around 3-5% of initial pledge in gas burn to onboard. +The current BatchBalancer of 5 nanoFIL was set in FIP24 more than three years ago and a lot has changed since then. With the current network parameters, the crossover network BaseFee when aggregating becomes rational for ProveCommit is around 0.065 nanoFIL. At equilibrium 0.065 nanoFIL, it is estimated that to onboard a 32GiB sector full of deals, it will cost around 3-5% of initial pledge in gas burn to onboard. -By lowering the BatchBalancer value, the network is incentivizing more aggregation at a lower equilibrium BaseFee value, thus freeing up more chain bandwidth. By reverting to the original batchBalancer of 2 nanoFIL, the equilibrium network crossover BaseFee for ProveCommit (when aggregating for ProveCommit becomes rational) is at around 0.025 nanoFIL, incentivizing ProveCommit aggregation at a broader range of BaseFee values. In the medium term, however, BatchBalancer is intended to be replaced with an explicit proof fee at the time of onboarding. +By lowering the BatchBalancer value, the network is incentivizing more aggregation at a lower equilibrium BaseFee value, thus freeing up more chain bandwidth. By reverting to the original BatchBalancer of 2 nanoFIL, the equilibrium network crossover BaseFee for ProveCommit (when aggregating for ProveCommit becomes rational) is at around 0.025 nanoFIL, incentivizing ProveCommit aggregation at a broader range of BaseFee values. In the medium term, however, BatchBalancer is intended to be replaced with an explicit proof fee at the time of onboarding. ## Product Considerations From a product perspective, this FIP is expected to: -- Lower onboarding costs for SPs by removing barriers to precommit batching (e.g., precommit batch proof fees); +- Lower onboarding costs for SPs by removing barriers to precommit batching (e.g., precommit batch fee); - Encouraging batching and aggregation reduces block space consumption, reducing the risk of higher base fee values; -- Simplify analysis and cost calculations for SPs by removing of precommit aggregated proof fees. +- Simplify analysis and cost calculations for SPs by removing of precommit batch fee. From cdeec0ec74e48e65ffd66c4b8faff4a0268e38f1 Mon Sep 17 00:00:00 2001 From: irene <23217773+irenegia@users.noreply.github.com> Date: Mon, 23 Dec 2024 15:31:43 +0100 Subject: [PATCH 8/9] Update fip-lowerbatchBal.md --- FIPS/fip-lowerbatchBal.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/FIPS/fip-lowerbatchBal.md b/FIPS/fip-lowerbatchBal.md index 4984edb7..a825bb4d 100644 --- a/FIPS/fip-lowerbatchBal.md +++ b/FIPS/fip-lowerbatchBal.md @@ -19,8 +19,7 @@ This FIP proposes to: ## Abstract BatchBalancer and the batch gas fee were introduced in [FIP13](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0013.md) for provecommit and later updated in [FIP24](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0024.md), where the fee was added to the precommit step as well. -This mechanism makes batching in precommit and aggregation in provecommit rational (ie, cost-effective) only when the base fee is above a given threshold (which depends on BatchBalancer, other parameters used in the mechanism and the gas used). This FIP proposes to revert to no fee for precommit and lower the value of BatchBalancer to 2 nanoFIL, from the current 5 nanoFIL, in order to have no BaseFee threshold for batching precommit and a lower BaseFee threshold for aggregating provecommit. - +This mechanism makes batching precommit multiple sectors in one `PreCommitSectorBatch2` message and aggregating proofs for multiple sectors and post in one `ProveCommitSectors3` message rational (i.e., cost-effective) only when the base fee is above a given threshold (which depends on `batchBalancer`, other parameters used in the mechanism and the gas used). This FIP proposes to revert to no fee for precommit and lower the value of `batchBalancer` to 2 nanoFIL in order to have no BaseFee threshold for batching precommit of mutiple sectors in one `PreCommitSectorBatch2` message and a lower BaseFee threshold for aggregating proofs for provecommit. ## Change Motivation Since August 2024, gas used for onboarding methods has been higher than in the past year (see [#1092](https://github.com/filecoin-project/FIPs/discussions/1092) for more details on data and causes). A simple mechanism to reduce gas consumption is batching: at times of high demand for network gas, storage providers (SPs) should be incentivized to batch as much as possible for both precommit and provecommit. From f2e3e3c2d6f7bfec5704c2b5de2cfc21ef427180 Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Thu, 16 Jan 2025 01:03:21 +1100 Subject: [PATCH 9/9] Add removal of gas-limited constraints to gas-savings proposal (#1098) * Add removal of gas-limited constraints to gas-savings proposal Ref: https://github.com/filecoin-project/FIPs/pull/1094 Ref: https://github.com/filecoin-project/builtin-actors/pull/1586 Ref: https://github.com/filecoin-project/builtin-actors/issues/1268 Ref: https://github.com/filecoin-project/lotus/issues/10612 * fixup! Add removal of gas-limited constraints to gas-savings proposal --- FIPS/fip-lowerbatchBal.md | 46 ++++++++++++++++++++++----------------- README.md | 2 +- 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/FIPS/fip-lowerbatchBal.md b/FIPS/fip-lowerbatchBal.md index a825bb4d..d64e7b36 100644 --- a/FIPS/fip-lowerbatchBal.md +++ b/FIPS/fip-lowerbatchBal.md @@ -1,7 +1,7 @@ --- fip: "00XX" -title: Remove Batch Fee For Precommit and Lower BatchBalancer -author: irene (@irenegia), ZX (@zixuanzh), AX (@AxCortesCubero) +title: Remove Batch Fee For Precommit, Lower BatchBalancer and Remove Gas-limited Constraints +author: irene (@irenegia), ZX (@zixuanzh), AX (@AxCortesCubero), rvagg (@rvagg) discussions-to: https://github.com/filecoin-project/FIPs/discussions/1092 status: Draft type: Technical @@ -9,28 +9,28 @@ category: Core created: 2024-12-19 --- -# FIP-00XX: Remove Batch Fee For Precommit and Lower BatchBalancer +# FIP-00XX: Remove Batch Fee For Precommit, Lower BatchBalancer and Remove Gas-limited Constraints ## Simple Summary This FIP proposes to: - Remove the batch fee from `PreCommitSectorBatch2` to incentivize batching during the precommit step; - Revert `BATCH_BALANCER` to the original value of 2 nanoFIL to make aggregation rational for a larger range of base fee value with respect to today's network conditions. - +- Remove some protocol constraints that are no longer necessary since the introduction of proper gas accounting. ## Abstract BatchBalancer and the batch gas fee were introduced in [FIP13](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0013.md) for provecommit and later updated in [FIP24](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0024.md), where the fee was added to the precommit step as well. This mechanism makes batching precommit multiple sectors in one `PreCommitSectorBatch2` message and aggregating proofs for multiple sectors and post in one `ProveCommitSectors3` message rational (i.e., cost-effective) only when the base fee is above a given threshold (which depends on `batchBalancer`, other parameters used in the mechanism and the gas used). This FIP proposes to revert to no fee for precommit and lower the value of `batchBalancer` to 2 nanoFIL in order to have no BaseFee threshold for batching precommit of mutiple sectors in one `PreCommitSectorBatch2` message and a lower BaseFee threshold for aggregating proofs for provecommit. ## Change Motivation -Since August 2024, gas used for onboarding methods has been higher than in the past year (see [#1092](https://github.com/filecoin-project/FIPs/discussions/1092) for more details on data and causes). A simple mechanism to reduce gas consumption is batching: at times of high demand for network gas, storage providers (SPs) should be incentivized to batch as much as possible for both precommit and provecommit. +Since August 2024, gas used for onboarding methods has been higher than in the past year (see [#1092](https://github.com/filecoin-project/FIPs/discussions/1092) for more details on data and causes). A simple mechanism to reduce gas consumption is batching: at times of high demand for network gas, storage providers (SPs) should be incentivized to batch as much as possible for both precommit and provecommit. + +Removal of gas-limited protocol constraints within this FIP is also proposed as a related set of changes; however, these changes are not the primary focus of this FIP. The removal of these constraints is proposed to simplify the protocol and allow the gas mechanism to be the primary constraint for the network. ### Precommit Due to the batch fee, currently precommit batching is only rational when the base fee exceeds 0.09 nanoFIL. Removing this fee will eliminate this obstacle, enabling more batching and therefore gas saving. To have a rough estimate of the saving, we can compare two PreCommitSector messages posted by the same miner actor with little difference in the number of sectors when the message landed. - [Msg 1](https://www.filutils.com/en/message/bafy2bzacebzacw3b7ymcwukk2uimahiebpke65utbfn3srgslzj5w3hh234x6): PreCommiSectorBatch2 for 1 sector : 16.7 M gas used - [Msg 2](https://www.filutils.com/en/message/bafy2bzacebdqgivdbxzj25exae55j7vjasos45lvj4bzi6fj5oaya4rqwxrf6): PreCommitSectorBatch2 for 4 sectors): 18.6 M/ 4 = 4.6 M per sector (3.6x smaller) - - ### Provecommit There are two options for `ProveCommitSector3`: (1) "simple" batching as in precommit (ie, one message for ≥ 2 sectors) where there is a porep proof for each sector in the batched message, and (2) aggregating proofs of multiple sectors and post in one message. Batching for provecommit is already rational (cost-effective), as the batch fee applies only to aggregated proofs (opposed to precommit, where the batch balancer applies to batching). @@ -44,11 +44,23 @@ To have a rough estimate of the saving, we can compare these `ProveCommitSector3 [^*]: In practice, aggregation is currently giving less gas saving respect to batching due to a bug causing single proofs to be charged an incorrect amount of gas units. So currently, batching is to be preferred with respect to aggregation. Once this code bug is fixed, batching will cost more gas units and aggregation would be the option with the largest gas unit saving per sector. +### Gas-limited constraints + +Various protocol constraints that were previously necessary when there was no gas applied on actor computation are no longer necessary since the introduction of proper gas accounting with FVM (see [FIP-0032](./fip-0032.md)). This FIP proposes to remove the following constraints as they are no longer necessary in practice due to the gas mechanism being the primary constraint for computation: + +* `PRE_COMMIT_SECTOR_BATCH_MAX_SIZE`: The maximum number of sector pre-commitments in a single batch. +* `PROVE_REPLICA_UPDATES_MAX_SIZE`: The maximum number of sector replica updates in a single batch. +* `DECLARATIONS_MAX`: Maximum number of unique "declarations" in batch operations (i.e. terminations, faults, recoveries). + +In most cases, users will be limited by the gas limit rather than these constraints ([`message execution failed: exit SysErrOutOfGas`](https://github.com/filecoin-project/lotus/issues/10612)). Removing these constraints will simplify the protocol and allow the gas mechanism to be the primary constraint for the network. ## Specification - Remove the burning `aggregate_fee` from `PreCommitSectorBatch2`. - Decrease `BATCH_BALANCER` value to 2 nanoFIL. - +- Remove the following gas-limited constraints: + - `PRE_COMMIT_SECTOR_BATCH_MAX_SIZE` + - `PROVE_REPLICA_UPDATES_MAX_SIZE` + - `DECLARATIONS_MAX` ## Design Rationale Long-term solutions for reducing onboarding gas will focus on decreasing state storage gas costs (we estimated that state storage gas may get to ~66% of the total cost for pcs3 messages with no deals) and optimizing state updates. @@ -58,41 +70,35 @@ This FIP also reduces state storage cost by batching. Much of this cost comes fr In the future, we envision stronger support for aggregation by potentially replacing the batch balancer mechanism from provecommit with alternate fees that align all participants with the network's long-term health. For additional context, see https://github.com/filecoin-project/FIPs/discussions/557 and https://github.com/filecoin-project/FIPs/discussions/587. - - ## Backwards Compatibility This FIP modifies actor behavior and will require a new Filecoin network version. - - ## Test Cases - Certain test cases (similar to as FIP24) may need to be adjusted when changing the BatchBalancer value. - - ## Security Considerations This FIP does not affect underlying proofs or protocol security. - - ## Incentive Considerations This proposal is expected to enhance the incentives for batching and aggregation, thereby reducing gas costs and improving the network's overall efficiency. The current BatchBalancer of 5 nanoFIL was set in FIP24 more than three years ago and a lot has changed since then. With the current network parameters, the crossover network BaseFee when aggregating becomes rational for ProveCommit is around 0.065 nanoFIL. At equilibrium 0.065 nanoFIL, it is estimated that to onboard a 32GiB sector full of deals, it will cost around 3-5% of initial pledge in gas burn to onboard. -By lowering the BatchBalancer value, the network is incentivizing more aggregation at a lower equilibrium BaseFee value, thus freeing up more chain bandwidth. By reverting to the original BatchBalancer of 2 nanoFIL, the equilibrium network crossover BaseFee for ProveCommit (when aggregating for ProveCommit becomes rational) is at around 0.025 nanoFIL, incentivizing ProveCommit aggregation at a broader range of BaseFee values. In the medium term, however, BatchBalancer is intended to be replaced with an explicit proof fee at the time of onboarding. +By lowering the BatchBalancer value, the network is incentivizing more aggregation at a lower equilibrium BaseFee value, thus freeing up more chain bandwidth. By reverting to the original BatchBalancer of 2 nanoFIL, the equilibrium network crossover BaseFee for ProveCommit (when aggregating for ProveCommit becomes rational) is at around 0.025 nanoFIL, incentivizing ProveCommit aggregation at a broader range of BaseFee values. In the medium term, however, BatchBalancer is intended to be replaced with an explicit proof fee at the time of onboarding. +Removal of gas-limited constraints will simplify the protocol and allow the gas mechanism to be the primary constraint for the network. This will allow the network to be more flexible and adapt to changing conditions. ## Product Considerations From a product perspective, this FIP is expected to: - Lower onboarding costs for SPs by removing barriers to precommit batching (e.g., precommit batch fee); - Encouraging batching and aggregation reduces block space consumption, reducing the risk of higher base fee values; - Simplify analysis and cost calculations for SPs by removing of precommit batch fee. - - +- Simplify the protocol by removing gas-limited constraints that are no longer necessary. ## Implementation -Specs-actors PR: TODO +builtin-actors PRs: +* Remove batch fee for precommit and lower BatchBalancer (TBD) +* [Remove gas-limited constraints](https://github.com/filecoin-project/builtin-actors/pull/1586) ## Copyright Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). diff --git a/README.md b/README.md index 68acf0b7..993298d6 100644 --- a/README.md +++ b/README.md @@ -134,5 +134,5 @@ This improvement protocol helps achieve that objective for all members of the Fi | [0096](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0096.md) | Convert fundraising remainder address(es) to keyless account actor(s) | FIP | @Fatman13 | Draft | | [0097](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0097.md) | Add Support for EIP-1153 (Transient Storage) in the FEVM | FIP | Michael Seiler (@snissn), Steven Allen (@stebalien) | Draft | | [0098](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0098.md) | Simplify termination fee calculation to a fixed percentage of initial pledge | FIP | Jonathan Schwartz (@Schwartz10), Alex North (@anorth), Jim Pick (@jimpick) | Draft | -| [XXXX](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0098.md) | Remove Batch Fee For Precommit and Lower batchBalancer | FIP | Irene (@irenegia), AX (@AxCortesCubero), ZX (@zixuanzh) | Draft | +| [XXXX](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0098.md) | Remove Batch Fee For Precommit, Lower BatchBalancer and Remove Gas-limited Constraints | FIP | Irene (@irenegia), AX (@AxCortesCubero), ZX (@zixuanzh) rvagg (@rvagg) | Draft |