This post aims to explain a very crucial problem statement in the scope of the DePIN ecosystem. There have been numerous examples of web3 applications which require some work to be done periodically on regular intervals. One of these workloads is execution of serverless functions.
List of examples:
- DeFi applications
a. Yield harvesting
b. Off-chain strategy implementation for trading token volatility - DAO - periodic invocation of protocol functions like voting, payouts.
- Periodic lucky draws, NFT drops.
Currently used solutions:
- Actions by centralized entity with admin roles
- Chainlink Automation
- Gelato Web3 Functions
An existing solution, named Oyster Serverless, allows the blockchain application to run serverless functions on-demand. Simply put, an user application can create a job request and get its response. But this is not capable of running those jobs periodically. Extending this solution to support the same seems to be an ideal solution.
Important aspects of the design would include the lifecycle management of such periodic jobs and handling of payments in the right manner.