Incentive Design
Unlike the Confidential VM protocol, where Providers are only paid when an Instance is rented by a User, the Serverless protocol requires a set of Instances to always be on standby, ensuring that Requests are served on-demand. These Instances function as shared resources, effectively being 'rented' by multiple applications simultaneously.
Goals
A pricing mechanism for Serverless needs to take the following considerations into account:
- Commercially viable: The fees paid by Users over a given period should exceed the net operating costs incurred by Gateway and Executor operators during that time.
- Transparent: Users should be able to estimate the computation costs in advance.
- Dynamic: Prices should rise during periods of high utilization to attract more hardware operators and decrease during times of lower demand.
- Usage dependent: The fees paid by Users should be proportional to the time spent on performing computations and based on the type of environment used for their Request.
- Fair and competitive: The pricing model should ensure that Users receive competitive rates for running computations, while maintaining a diverse set of hardware providers and preventing the formation of oligopolies.
Latent Capacity
The Protocol establishes a target latent capacity to ensure that any incoming request can be processed without delays. Governance defines key parameters, including the target compute capacity, the price per unit of compute per second, and the utilization ratio that the protocol will incentivize.
Bootstrapping
The protocol maintains a bootstrap pool of tokens to initially incentivize the idle capacity of Executors and Gateways. This Payment Pool is funded with POND tokens reserved specifically for staking and network bootstrapping rewards. These tokens help ensure that Executors and Gateways maintain idle capacity, even when there aren't enough user requests to cover the target latent capacity set by the protocol.
Payment Pool
Payments from the bootstrap pool are designed to incentivize providers when the total fees from serverless users fall short of covering the cost of maintaining the target idle capacity, as set by governance parameters. In such cases, the bootstrap pool makes up the difference to ensure there are sufficient incentives to maintain the required capacity.
However, if the total fees from serverless users exceed the amount needed to incentivize the target capacity, a fee is charged on user payments, which is then contributed to the Payment Pool. This fee is distributed among providers based on the number of requests they serve during periods of lower network activity. This system helps stabilize providers' revenue by smoothing out fluctuations in demand, while also reducing the reliance on the Bootstrap Pool for incentives.
User Fee
The pricing of the Serverless User Fee is determined by protocol governance, based on the average cost of operating Executors over a given period and the incentives provided by the Payment Pool.