Creator
Alex North
Created
Feb 20, 2024 6:13 PM
Problems & opportunities
Some problems with the current design of pledge & QAP, and desired properties/benefits.
- The initial pledge target results in effectively an upper bound on token locking of 30% of circulating supply. Remove this bound, make it possible to lock a much higher fraction.
- There is no staking or pledging opportunity for passive FIL holder, or SP with more tokens than hardware/datacap. Provide an opportunity to put tokens to work securing the network regardless.
- Could provide a liquidity buffer in/out from pledge attached to sectors
- Per-sector pledge accounting introduces bias between sectors depending on onboarding conditions, as well as complexity and on-chain cost. Can we remove per-sector pledge accounting? (See also #734)
- 100% of pledge is at risk for lenders (repeated faults + recovery). Can we bound the storage collateral for sectors and ringfence it from other pledge/stake?
- It’s impossible to be block producer without providing large storage; there’s no validator role with only stake. Could we improve security by allowing proof-of-stake validators (while still aiming to eventually secure the network with storage)?
- Conversely, it’s impossible to provide storage services without large pledge. This is a barrier to new SP entry. Maybe some sectors don’t need to be part of consensus?
- Token holders can’t use tokens for on-chain governance if lent to an SP (or used in any way other than held passively in a built-in account). On-chain voting is a major part of proposed changes to FIP governance.
- There is no native way to delegate pledge/stake to another party (on-chain lending implements this indirectly).
- It could be beneficial to support rehypothecation of pledge, allowing re-use of locked tokens to enable other services (like Eigenlayer).
- The QAP + Baseline construction is very complicated. It is hard for participants to understand how the economic system works, model it, and make business decisions that depend on it.
Potential approaches
One big divider between approaches to these problems is whether they essentially leave QAP as it is and add some new staking/delegation mechanism on top, or whether they start by re-designing QAP/pledge to have desirable properties first.
Build on QAP & pledge
- Adding things without removing something can only increase complexity and interactions, but might be more feasible for community.
- Add staking mechanism separate from sector QAP, and redirect some of the block rewards to it.
- (Lots to be figured out here)
Redesign QAP & pledge
- Opportunity to simplify first and potentially hit many goals with a small system
- Goal is network security, initially easier by stake, but want ultimately more storage
- One e.g.: α-consensus β-reward scheme for hybrid Stake-Space consensus
- Consensus power depends on both stake and storage, which need not be in fixed ratio
- Incentives to add stake or storage depend on current ratios
- How should stake/storage weight change depending on network conditions, progress?
- Remove bound on pledge, per-sector accounting.
- Support both pledge-only validators and storage-only providers (but more rewards for doing both)
- Would need an additional delegation mechanism to support governance, rehypothecation
Ideas
A bunch of bits and pieces of ideas relevant to one or both approaches:
- Allow SPs to pledge (stake) more than sector minimum
- Define an at-risk portion?
- A pledge token could also support delegation, voting etc
- Separate storage collateral portion from total pledge in miner actor, two balances. When storage collateral exhausted, SP terminates or pauses all sectors, stops losing money. Explicit action to transfer balance to storage collateral. ACLs can be handled by a wrapper contract.
- Support on-chain voting of pledge/stake by somehow allowing smart-contract owners of miner actors to vote. ACLs for who can vote are a matter for the wrapper contract.
- Vote by having miner emit on-chain event?
- Owner/treasury contract could have an FRC method for validating a governance vote?