Worker/Control Addresses and potential implications for enabling lending markets on FIL #334
Replies: 3 comments 3 replies
-
Thanks, @jnthnvctr! Flagged this proposal in this week's Governance Update :) |
Beta Was this translation helpful? Give feedback.
-
I think this is one case of a slightly more general request for access control capabilities on worker addresses. I'm aware that some miner operators would like their "hot" control addresses to be unable to terminate sectors so that that sensitive operation can't be carried out by a rogue insider or in case their key is compromised. Once we go there, it's probably best to apply ACLs to all mutation operations. As @jnthnvctr points out, that raises the question of access control over the ACLs. For borrowing, there's a wrinkle that a beneficiary, who also has termination rights wants assurance that those access rights can't be removed.
|
Beta Was this translation helpful? Give feedback.
-
I am thinking of an alternative perspective on this matter. The issue at hand revolves around the potential for significant penalties in the event of faults leading to extensive slashing. This is why investors require sector termination control to mitigate the risk. Could we address this problem by implementing a capped penalty for sectors? In the current implementation, a sector is automatically removed from the chain state and incurs a termination fee if it remains faulty for 42 consecutive days. However, if the faults do not persist for that duration before recovery, it may result in excessive slashing throughout the sector's lifecycle when more faults occur later, which may not be reasonable and adds complexity. Proposal:Introduce a capped penalty for sectors, encompassing fault slashing and termination fees. For example, it could be set at 90-day block rewards. This approach resembles a general service contract where a boundary for penalties for being out of service needs to be defined. In this case:
An alternative option (maybe for future):No termination fee or slashing, keeping it simple, as I mentioned in #691 comment This option may not be feasible until we transition market, deal, and data handling to the upper layer, with operational services in place. By that time, we hope to achieve a data service level agreement of deal between the client and storage provider at the in user contracts without impacting consensus. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi all,
This discussion is a follow on to the initial proposal from @steven004 here: #253
To motivate the specific use case I'm thinking of and where I think we may need some additional design. If we imagine a DAO lends to an SP, I can imagine two scenarios where (depending on how control over the sectors is set up) we may have undesirable outcomes.
In both scenarios, this also puts a third party (the client's of Filecoin) at additional risk.
In this case, it might be desirable to have a smart contract be able to take control of enforcing terminations - to ensure neither side can adversely affect the other. I'm less familiar with the specifics of the actors / set up of things - so I'll just describe what I'm thinking of at a high level, and hopefully it maps! Based on my understanding of how many of the centralized lending offerings work, this might be the flow a smart contract would enable:
In this way, investors can't early terminate a sector to protect themselves and SPs maintain skin in the game.
Of course, there's probably a bunch of slight variations that might make sense here:
As a side benefit, being able to enforce these terminations (and ensure programmatically there is sufficient coverage) - you might imagine it becomes easier for lenders to price the risk theyre incurring and incentivize more active participation at more favorable rates.
One open q I have here is around the operational side of this:
cc folks who've expressed interest in this @anorth @steven004 @jennijuju
Beta Was this translation helpful? Give feedback.
All reactions