FIP-0065 Ignore deal collateral in circulating supply (was: Preparing deal collateral for flexible data onboarding) #719
Replies: 7 comments 11 replies
-
Thanks for sharing @anorth. On part 1 you mention:
When this market scenario is strongly developed, I could broadly agree, but I don’t think this is the case right now. Until this happens, it could be better to maintain the status quo (effectively option 2). Two reasons for this:
|
Beta Was this translation helpful? Give feedback.
-
Can you help me explain why an SP wouldn't activate a deal? |
Beta Was this translation helpful? Give feedback.
-
@kaitlin-beegle you mentioned above here - and i am wondering your thoughts on what's the justification behind/how to balance the tradeoff - a proposal might reduce the storage guarantee for data clients when there is "a reduction/elimination of the penalty". |
Beta Was this translation helpful? Give feedback.
-
I started drafting a FIP to spec this out, and realised that if we chose option 1 for each of parts 1 and 2, the there is almost no protocol change necessary – merely a decision to unblock future protocol improvements that will support committing data into sectors without necessarily using a built-in market deal. Maximally simple implementation! I will draft a FIP anyway, to (1) formalise this as something that future FIPs can reference and depend on, and (2) remove the market's locked amounts from the circulating supply calculation, as they will be increasingly irrelevant. |
Beta Was this translation helpful? Give feedback.
-
Copying a comment from @jennijuju from PR review:
|
Beta Was this translation helpful? Give feedback.
-
Sorry if it is a stupid question, but could I have some clarity on what exactly is on "Last Call" here? I see the discussion actually have several options and different ideas, I can't tell which one is on last call to be accepted in the next days? Is it simply to ignore the amount that is locked in deal collateral, in calculations involving circulating supply in future calculations, such as all the consensus pledge, and minimum deal collateral itself? So the result of this would be overall slightly higher pledges, since the effective circulating supply would be higher, right? So the question for right now is if we are all ok with slightly higher pledges? |
Beta Was this translation helpful? Give feedback.
-
Implementation here: filecoin-project/lotus#11976 |
Beta Was this translation helpful? Give feedback.
-
The Filecoin network currently implements a mandatory data assurance penalty in the form of provider deal collateral held by the built-in market actor. This deal collateral is burnt if a provider fails to activate a published deal or terminates a sector holding deal data before it completes. The built-in market actor specifies a minimum deal collateral amount, calculated as
CircSupply * 1% * DealSize / max(NetworkRawPower, BaselinePower)
. Since the built-in market actor is currently the only permitted way to onboard data to a sector, this amounts to a network policy.Doing deals with the built-in market actor is expensive in gas, and limited by its simple functionality. Without expanding on the motivation here (see #241), we would like to make the built-in market not mandatory and support direct use of FIL+ allocations (for the common simple case of FIL+ with no client payments) and other contracts as cheaper or more flexible markets.
For a 32GiB FIL+ verified deal, the deal collateral is 0.0083FIL (using April 2023 numbers). This is equal to about 2.7 days of expected block rewards for the associated power, while the sector termination fee is 90 days worth. The collateral amount is about 0.4% of the sector’s initial pledge. (The penalty is proportionally much higher for non-FIL+ data, but if we retain it I will propose normalizing it by QAP)
Part 1 – network-enforced data termination penalty
A pre-requisite for more efficient and flexible data onboarding is deciding what to do with this currently-mandatory data assurance penalty. I see two clear options.
I have expanded on a design for a data termination penalty, but this is only worth developing further if we decide as a network that mandatory data assurance is something the network should enforce.
Given the relatively small amount of this minimum penalty, and the ability for arbitrary collateral and penalty terms to be implemented in smart contracts, I don’t see a strong justification for retaining it. But are there good justifications?
Part 2 – built-in market product features
Regardless of whether we implement a mandatory deal assurance in the miner actor, the built-in market will become optional, and we need to decide what to do with its existing deal collateral mechanism. The built-in market will likely remain the primary on-chain market for some time, as alternatives take time to develop and grow.
Note that a miner-enforced data termination penalty would not cover the possibility of a storage provider publishing a deal but then failing to activate it, which is currently covered by deal collateral.
Here there are many options, including:
These options have implications for effort and usage:
What’s a good-enough trade-off here? In all cases, in time we can expect parties that don't like the built-in market's rules could use an alternative smart contract market, once they are developed.
We all want to get to more efficient and flexible data onboarding. This is just one decision to unblock the path to get there.
Beta Was this translation helpful? Give feedback.
All reactions