tfchain icon indicating copy to clipboard operation
tfchain copied to clipboard

Grace Period Consideration

Open sameh-farouk opened this issue 6 months ago • 0 comments

Regarding the billing system's business requirements, I would like to highlight three points that may need adjustments:

Grace Period Billing: When a node contract enters a grace period, the workload is paused, meaning it technically only consumes storage units (maybe the Zos team can confirm here). However, the current system still calculates the bill based on all contract resources, not just storage. It is debatable whether this is fair or not.

Node Utilization During Grace Period: For rent contracts, all node contracts' workloads are paused when a contract enters a grace period. Despite this, the farmer as well cannot benefit from their node for the entire 14-day grace period. From the chain's perspective, the node is still reserved due to active contracts, preventing it from even entering standby mode.

Risk of Unpaid Amounts: There is no guarantee that the user will pay the pending amount at the end of the grace period, which could result in wasted resources and a huge profit reduction for the farmer.

Suggestions for Improvement:

  • Reduce the Grace Period: Consider reducing the grace period for rent contracts to 3 or 5 days to minimize the time nodes are reserved without payment. Or/And
  • Require a Deposit: Implement a requirement for grid contracts to make an initial deposit at the start of the billing cycle (equal to (two weeks?) of user deployment cost). This deposit can serve as a buffer during the grace period, from which amounts can be deducted temporarily (still Workloads should be paused to encourage the user to top up their balance or cancel the contract). If the user cancels their contract, any remaining deposit can be refunded. when a grace period expires, the contract is deleted, and any remaining deposit is forfeited.

sameh-farouk avatar Jul 31 '24 06:07 sameh-farouk