Perpetual storage agreements, used to enable indefinite term file storage deals. They are structured as a Filecoin loan where the interest is repaid through the perpetual storage of data, and the loan is used to partially collateralize the storage actor.
This project uses two types of storage agreements, used for different kinds of indefinite long term storage.
The first type is meant to be used when the permanent data size is small, and replication requirements are high. The lender creates a Filecoin loan which is used to partially fulfill the collateral requirements of a storage actor. The block rewards the storage actor earns can then be contributed towards interest payments in the form of funding new storage deals which replicate the desired data.
The second type is designed for use when the size of the data is large, but replication requirements are low. Once again, the lender creates a Filecoin loan which is used to partially fulfill the collateral requirements of a storage actor. This time, the interest is fully repaid through perpetual storage, and the borrower is entitled to all block rewards from additional storage deals. If the lender wishes to replicate the data, then it must be in the form of a duplicate of this deal with a new storage provider.
As long as the storage provider continues to repay interest through storage, the deal is active. If they terminate the deal, they will be obligated to repay the borrowed Filecoin to the original lender.
In order to retain the behavioural incentives of the filecoin network, this loan does not constitute the entirety of a storage provider's collateral requirements. In order to reduce counterparty risk and incentivize pro-network behaviour, the storage provider must provide storage pledge collateral of their own. If the collateral ratio drops below the storage provider's percentage of the total collateral, the deal is considered terminated and the storage provider is obligated to repay the original loan.
This project uses storage deals built using the FVM on the Filecoin network. The logic is contained in smart contracts, which specify the details of the storage agreements and loan terms. They are structured a factory and agreement contracts, allowing specific terms to be programmed for each loan.
The contracts interact with Filecoin storage actors using Zondax filecoin-solidity API, and check this data as part of the loan terms.
The front end was built using scaffold eth.