Description
Summary
To provide more flexibilities for Filecoin finance market, I propose a new role beneficiary, for a storage provider, which takes over the financial control from the owner.
Motivation
Filecoin's pledge collateral mechanism makes it a perfect lending market. We already see some projects launched to solve the problem, e.g. Coinlist is running lending business to Filecoin storage provider while asking excess pledge paid in other digital currency. However, the filecoin node itself has great value including pledge collateral and locked rewards, which, ideally, can be used as pledge for filecoin lending. DARMA project is trying to do this but asking the ownership transferred, which is also practical in some Filecoin service providers.
The problem is the owner of a Filecoin node has full control of the node, including changing worker and controllers, or terminate sectors. This proposal is to separate the node control and financial benefit into different roles, that's how the beneficiary comes in.
Design
Based on the current design, add one more role, beneficiary, to a Filecoin storage provider node, which takes over the withdraw function. Currently a rough thought, a beneficiary address has the following features to be implemented:
- By default, the owner is the beneficiary if there is no specifically reassigned. In this case, there is no different than the current design;
- The beneficiary address change can only be initiated by the current beneficiary address, and be approved by the new beneficiary address, just as the design for owner address change in the current design
- (Optional) We may also want to have a security design to set beneficiary address expiry date; In this case, when a beneficiary address is expired, the beneficiary address automatically back to the owner address. The expiry date can be set by the beneficiary address and be approved by the owner.
Use Cases
Mainly there are two scenarios for the beneficiary address being separated from owner address based on the current design
- Enable lending market using the node rewards as collateral. This is actually done by some Filecoin network service providers, but, currently, it only works when the lender is the service provider. When we have the beneficiary address, the lender could be anybody else who value the node itself.
- For storage provider internal use, there are lots of advantages when having a separated beneficiary address, which can be controlled by the finance department, while owner be controller by the maintenance/engineering team.
But, there are more use cases can be developed when this is in place. E.g.
- Block Reward pooling design: Rewarding sharing is a very good thing for small/medium storage providers since it can provide much more certainty of income. Almost in all mining pool design, the small/medium miners need to hand over the beneficiary address to the pool provider. In Filecoin, Owner address need to be transferred if there is no another beneficiary address, which is too risky, since owner has fully control of the node. A separated beneficiary address makes it much safer.
- Reward pooling can be integrated with Smart Contract when it is available, in this case, the beneficiary address could be transferred to an trustless actor. We can not transfer the owner to a smart contract address, since it is hard to change it back. But we can do it with beneficiary address with a good design.
In addition, if we have the security feature, it will protest the storage provider from the beneficiary owner mistake (loss or expose of private key), or any other risks, e.g. bankruptcy, to some degree.
Consideration
So far, not seen security issues if we implement it correctly.
Only a little bit complex added to the protocol, but it should be fine.
You are welcome for any comments.