fip | title | author | discussions-to | status | type | category | created |
---|---|---|---|---|---|---|---|
0065 |
Ignore built-in market locked balance in circulating supply calculation |
Alex North <@anorth> |
Final |
Technical |
Core |
2023-06-16 |
Ignore the built-in market actor's locked balances in the network circulating supply calculation, in preparation for direct commitment of data into sectors without a corresponding built-in market deal.
The built-in storage market actor's minimum deal collateral currently functions as a mandatory data assurance mechanism. The market's collateral and deal payment balances are subtracted from total token supply when calculating the network circulating supply. This proposal is to simplify the network circulating supply definition by ignoring the built-in market's locked balance. This is logical support for subsequent protocol changes that would allow storage providers to commit data without a built-in market deal or the associated collateral. The built-in market actor does not warrant special treatment in the circulating supply calculations.
The built-in market actor is expensive in gas, and offers only basic functionality. It cannot support the expansion in usage or functionality that network participants hope for, and may be replaced by more efficient and flexible user-programmed actors over time. Work is in progress to permit SPs to commit data directly into sectors without a built-in market deal, With such changes, the built-in market actor would no longer occupy a privileged position as a required intermediary.
The primary motivation for this proposal is simplicity: deal collateral and escrow are only a very small fraction of the network's locked tokens. They are not justified to treat as a special case in the circulating supply calculation, especially as the built-in market may represent only a small fraction of data commitments in the future. Other storage application contracts may represent much more, yet their balances would be ignored in this calculation.
The built-in market's balances represent a small and likely decreasing fraction of locked tokens, and the protocol will be simpler if they are ignored.
The network circulating supply is currently specified as
CirculatingSupply = Vested + Mined - Burnt - Locked
where
Locked = PledgeCollateral + ProviderDealCollateral + ClientDealCollateral + PendingDealPayment
The calculation of Locked
is changed to account only for pledge collateral (initial pledge plus vesting rewards):
Locked = PledgeCollateral
The built-in market's locked balances are a trivial level of the network's total locked amount. Given its cost and limitations, it is unlikely that the built-in market actor could account for a large share of the network's data commitments in the future, reducing the relevance of its balances even further. We can simplify the network's specification and implementation by removing them.
As of epoch 2911690, the built-in market's locked balances are:
Built-in market account | Balance |
---|---|
TotalClientLockedCollateral | 0 FIL |
TotalProviderLockedCollateral | 317,498 FIL |
TotalClientStorageFee | 38 FIL |
Total | 317,536 FIL |
This amounts to a tiny fraction of network stocks:
Network stock | Amount | Market fraction |
---|---|---|
Total locked | 150,981,531 FIL | 0.21% |
Circulating supply | 473,321,502 FIL | 0.067% |
Ignoring the market's balances in these calculation will thus have negligible effect on downstream values such as the sector initial pledge requirement.
Ignoring these balances in the calculation of network circulating supply will not actually unlock any tokens, it will only add them to the collection of tokens that are locked in ways that the network core does not account for.
The built-in market actor constrains the data that storage providers (SPs) can store in sectors, limiting their utility and value, and adding large costs in gas and complexity to the network core. This proposal prepares for user-programmed smart contracts to act as markets or other data applications, unconstrained by the built-in market's functionality or cost.
This proposal changes the calculation of the network's circulating supply, which forms part of the consensus rules. It thus requires a coordinated network upgrade.
No on-chain interfaces or state are altered.
The only relevant test is that the circulating supply calculation ignores balances locked in the built-in market actor.
None.
This proposal will increase the calculated circulating supply by approximately 320,000 FIL (0.067%, or ~7/10,000). This will in turn increase the sector initial pledge requirement by a slightly smaller fraction. This is considered inconsequential.
This proposal does not change any incentives associated with accepting or completing a deal with the built-in storage market actor.
This proposal, or some alternative, is logical preparation for clients and providers arranging storage directly, or via a user-programmed smart contract data application, that can avoid the costs and limitations associated with mandatory use of the built-in market actor.
The built-in market actor will continue to require minimum deal collateral, so in the near term all deals will as well. Participants and developers will need to explicitly alter their arrangements should they wish to make arrangements that uses a lesser amount, when that becomes possible.
TBA.
Copyright and related rights waived via CC0.