Explicit Filecoin Plus verified deal premium (was: subsidy) #243
Replies: 11 comments 17 replies
-
[For a follow-up proposal, I think the final step in decoupling storage power from deal market is to move the sector->deal mapping from sector metadata into some equivalent but reversed deal->sector mapping in the market actor] |
Beta Was this translation helpful? Give feedback.
-
Migrating this to the discussion channel until the FIP is ready for community stewardship! |
Beta Was this translation helpful? Give feedback.
-
Are there any efforts pushing this forward rn? |
Beta Was this translation helpful? Give feedback.
-
I have published a first draft of this FIP: #263 |
Beta Was this translation helpful? Give feedback.
-
As we understand, the proposal is oriented towards enhancing the technical capacity for network growth. The proposed changes will simplify the calculations that need to be done at each epoch, enabling faster network growth. This implementation, however, has direct cryptoeconomic consequences that we would need to understand further. The first cryptoeconomic concern we have identified is that this proposal alters the existing incentive structure. The total reward given out to miners has to be re-arranged into a part that involves only the raw power, and a deal subsidy that involves the QAP. We have done some work on how these two pieces of the reward could be arranged, such that the total reward remains the same as it is now, however there is some freedom of different possible choices on how to redistribute this reward. There is also significant work to be done on understanding and designing the corresponding changes in the initial pledge and penalty structure. Even if reward is rearranged such that the total expected miner reward is not changed, the consensus power will change, as it would now be determined only by the miner’s raw power, instead of their QAP. This is unclear if this is a desirable property, as the loss in consensus power, may disincentivize miners from seeking to store verified deals. Lastly, it is not apparent to us that the added growth capacity is urgently needed at this moment. We believe that network growth is not currently limited by this technical capacity. Given the scale of the change involved in this FIP (collateral, reward, and penalty) and the lack of clarity in economic benefits (or impact unknown without more detailed analysis), we (CryptoEconLab) recommend de-prioritizing it till later. |
Beta Was this translation helpful? Give feedback.
-
I think this proposal is great for the long term, and that it will be an improvement for storage providers to decouple FIL+ subsidy from raw-power consensus rewards, and that this will enable more providers (and a more diverse set) in the Filecoin storage market long term. But I also agree with @AxCortesCubero that this FIP seems alter the current incentive structure so more research should definitely be done in that space. Reasoning why I think this is good: Currently, storage providers income is heavily dependent on block rewards (probably in the >99% area). Since the FIL+ system (QAP) is coupled to block-rewards, it also hinders smaller providers who are limited by resources (either if that is money/space/electricity, or something else which cause their size to be smaller) to be able to get a steady and predictable reward/income since its coupled to block rewards. As an example, if you are a storage provider with only 50TiB raw-storage (and no FIL+ deals), you are currently looking at getting on average a block approximately every month, and with a 99.9%-probability, way longer then that. This skew will continue as long as the network grows and will hinder smaller participants to join. Decoupling FIL+ rewards from the block rewards might make it more reasonable for smaller providers in more remote places to join the network. Hypothetical scenario: Someone wants to start a storage provider in a remote area like Svalbard, and are limited by power, available space or some other limiting factor to their size. I would say that even if this provider can´t become a 1+ PiB storage provider, they offer some very interesting properties with regards to its location to the Filecoin network. Decoupling FIL+ subsidy would possibly enable this provider a more predictable stream of income rather then relying on block rewards which might be out of this providers scope when the network becomes larger. |
Beta Was this translation helpful? Give feedback.
-
The original motivation for this proposal (six months ago) was scalability, but that is not the motivation today. I have left the original post intact to give retain context for the subsequent comments, but the motivation and part of the mechanism is out of date. This proposal is motivated primarily by programmability, setting the stage for innovation in storage deal functionality and marketplaces once the FVM enables user-programmable contracts. Features like deal extension, multi-sector deals, re-negotiation, deal transfer, capacity deals, repair markets, etc should all be possible in smart contracts. But even if we had the FVM today, we wouldn't be able to realise most of them due to the coupling between (verified) deals and individual sector power, and between the miner actor and the built-in storage market. Breaking this coupling will also have other benefits. It will significantly speed up future development of both the storage power accounting and future deal markets, support much more scalable data representations, remove the storage market from consensus-critical risk surface, and move subsequent market development into the realm of smart-contract upgrades, rather than network-wide consensus protocol upgrades. This direction is thus motivated by speed, scale, flexibility and programmability. See, and please contribute to, #241 for discussion of this broad motivation. |
Beta Was this translation helpful? Give feedback.
-
Understood that the subsidy will be reaccounted - but Seems like the proposal is to remove QAP for existing verified deals as well - is that so? |
Beta Was this translation helpful? Give feedback.
-
have we done any analysis on how this will impact the reward distribution(higher or lower probabilities on winning counts based on the current network power) for SPs that are serving verified deals atm? |
Beta Was this translation helpful? Give feedback.
-
Reward is just one part of the economic structure that this FIP is touching. However, when we change the reward, we also need to update the pledge and penalty calculation and understand how different parts interact with each other on the macro level. We can do our best to keep the economic structure, policy and incentives intact but this is also a significant undertaking. Given when we are for the network (there is a major economic structural shift since HyperDrive; the network is still far from an equilibrium/stationary state; and storage demand is just picking up (FIL+)), we cautioned against making large economic changes to the network. I would also like to push back on the assumption that storage market innovation is blocked by the current design. People can do DataDAOs, storage bounties (by extension repair markets), deal renewals/extensions (just do a new one/snap it), user-defined deal markets with the current design and storage state bridges to other smart contract systems. What we lack as an ecosystem are more entrepreneurs and builders who understand the stack deeply to make it happen and successful examples of such applications (think CryptoKitties for NFTs) to validate business assumptions and drive adoption. |
Beta Was this translation helpful? Give feedback.
-
Progress update: I have re-expressed much of the motivation for this proposal in the draft PR. We've been working on validating that the rewards remain stable etc. I also rebranded the proposal to the Filecoin Plus premium, rather than subsidy, reflecting the positive incentive to valuable data that the system is aiming at, and how this proposed mechanism enhances that. This proposal is just one of the changes necessary to unlock storage market innovation with the FVM. As we've been working through the other pieces, it seems like maybe there's more initial value to be unlocked in re-architecting the actor APIs to provide the hooks for alternative storage markets, even if they'd be restricted to write-once storage. I'll be drafting up an outline of that shortly, but wanted to flag here that it seems probably that we'd sequence the FIL+ premium after that re-architecture work. So I'll probably pause work on this proposal for a couple of months. |
Beta Was this translation helpful? Give feedback.
-
This proposal is an idea of mine to reduce coupling between the storage power mechanism and deal market. Coupling between these two limits design freedom around problems like supporting exponential growth in storage capacity or making deals much more scalable.
⭐️Update – January 2022
This proposal is now primarily motivated by programmability of Filecoin, and storage deals in particular, once the FVM enables user-programmable contracts. See discussion in #241 for a bigger picture background. While greater scalability of storage accounting provided the initial spark, it's no longer the primary target, just a bonus. The first draft of the FIP dropped a bunch of changes that were only about storage accounting.
I have left the body of this post intact to preserve context for the subsequent context, but re-expressed the motivation here.
The description below is deprecated. See the PR for the first draft of this FIP for an explanation of this proposal.
Background
Filecoin network storage growth will eventually be limited by the chain computation costs associated with maintaining storage if a linear amount of state is accessed or retained per sector (where sectors are a fixed size). The Neutron proposal (#119) resolves this for committed-capacity sectors, but sectors with deals still have per-sector (and per-deal) metadata. Per-sector on-chain data includes the sector->deal mapping and per-sector heterogeneous weight, pledge and penalty values. These are all required because verified deals alter a sector’s power as a means of adjusting reward distribution.
Maintaining the facility for heterogenous sectors constrains freedom for more scalable designs, even though most sectors don’t have deals. The premise that most sectors don’t have deals is not something to rely on, though. In the long term we aim for many more deals and a much greater proportion of committed storage to be in active use.
Goals
This proposal aims to reduce deal market limitations on the scale and efficiency of onboarding and maintaining exponentially larger amounts of capacity.
These goals are to be sought within existing product and crypto-economic constraints around sound storage and economic security.
Design ideas
The current storage power mechanism assigns a different power value to equal-size sectors based on the size and duration of Filecoin Plus (FIL+) verified deals. This is a means of incentivising useful storage, delegating the definition of “useful” to an off-chain notary. The incentive for storing verified deals is the increased block reward that may be earned from the increased power of those sectors, despite constant physical storage and infrastructure costs. In essence, the network subsidises useful storage by taxing the other power.
Storage power has two different roles, currently coupled. One is to secure the network through raising the economic cost of some party maintaining a significant fraction of the total power, and the other is to determine the distribution of rewards. The block reward is split between rewarding security and subsidising useful storage. This coupling theoretically means the verified deal power boost reduces the hardware cost to attack the network by a factor of 10, if colluding notaries would bless all of a malicious miner’s storage (this is an impractical attack today, though).
This subsidy could be made much more direct, reducing complexity and coupling between the storage market and individual sectors, and clearly separating security from reward distribution policy.
Uniform sector power
Every sector has uniform power corresponding to its raw committed storage size, regardless of the presence of deals. This removes the concepts of sector quality and quality-adjusted power, and makes all bytes equal in the eyes of the power table. This would remove the DealWeight and VerifiedDealWeight fields from SectorOnChainInfo. Network power and committed storage are now the same concept and need not be tracked separately by the power actor.
Uniform power also means that all similarly-sized sectors committed at the same epoch would require the same initial pledge. Similarly the expected day reward and storage pledge (parameters to a possible future termination fee calculation) depend only on activation epoch. The complicated values maintained to track penalties for replaced CC sectors become unnecessary. Historical pledge/reward values may be maintained just once for the network by the power and reward actors. We currently store each of these numbers in chain state some ~500 times per epoch (@ 50PiB/day growth).
With uniform sector power, the power of groups of sectors may be trivially calculated by multiplication. Window PoSt deadline and partition metadata no longer need to maintain values for live, unproven, faulty and recovering power, but the sector number bitfields remain. Processing or recovering from faults does not require loading each sector’s specific values. The complexity of code and scope for error in these various derived data is much reduced.
This ability to aggregate by multiplying becomes instrumental to Neutron-like ideas around hierarchical storage accounting with deals. Without this, supporting partial faults requires on-chain metadata about the individual sectors (with deals) that comprise a supersector, restoring a linear-in-power network cost.
Note that this proposal does leave the per-sector deal IDs on chain. After this proposal and Neutron, this would be the only piece of per-sector data retained.
A miner’s chance of winning the election at each epoch is proportional to their share of the raw byte power committed to the network and non-faulty. Winning the consensus reward remains a lottery.
Market actor tracks deal space-time
The market actor maintains:
As payments are periodically processed for each deal (currently every 100 epochs), the market actor adds the deal’s size multiplied by the update period epochs to the provider’s space-time tally for the current reward period.
After a reward period completes, the ratio between verified deal space-time of each provider gives their share of the deal subsidy to be claimable. A miner can claim a corresponding share of the total deal subsidy earned at any point up until the reward period expires (e.g. 60 days). Upon claiming a deal subsidy, the reward funds are inserted into the miner’s vesting schedule, alongside block rewards.
FIL+ subsidy paid to market actor
At every epoch, the reward actor queries the power actor for the total network power (= storage) and the market actor for the total verified deal space. The total block reward to be paid is then split into the power reward and the verified deal subsidy according to the ratio of storage to 9*deal space. The block reward is paid as usual, and the deal subsidy is sent to the market actor.
Discussion
The primary motivation for this proposal is to remove per-sector account-keeping metadata in order to unlock exponential scaling of storage. It changes reward behaviour in a couple of ways that we must verify as being beneficial.
If not, we might need to communicate faults to the market actor, making them a bit more expensive and exposing the market actor to a concept of sectors it’s currently mostly abstracted from.
Beta Was this translation helpful? Give feedback.
All reactions