Web3 Functions consume a variety of resources that Gelato Nodes have to incur in order to run your logic. In order for the network to function sustainably, Gelato will introduce a computation based fee model, which will enable users to enjoy autoscale functionality which gets priced per consumed resource.
During the private Beta, Web3 Functions are operated by Gelato Hosted Services. The objective is to transition the computation to Gelato's decentralized network of Node Operators after the beta in order to ensure censorship resistance and remain in line with Gelato's values.
Gelato Nodes are calling web2 APIs which return data that oftentimes cannot be verified on-chain, establishing a layer of trust between Gelato and Web3 Function users. In order to minimize the trust that users have to accept for single Gelato Node operators, we will introduce a consensus layer on top of Web3 Functions which enables multiple Node Operators to sign off on certain data before it can be executed on-chain.
This way, users will be able to select their own desired level of data integrity for their Web3 Functions. They can for example select that at least 40% of Gelato Nodes need to sign off on the date before it can be submitted, or that they only trust specific whitelisted Node operators with their tasks.
Right now, Web3 Functions can only be run automatically at certain intervals pre-defined by the protocol (e.g. every minute). Sometimes, however, logic needs to run e.g. every block or on-demand when a webhook gets called. These triggers will also be supported in future versions of Web3 Functions.
The gold standard for trustless off-chain computation are Zero Knowledge Proofs that provide mathematical guarantees that a certain computation was actually performed, without having other replicate it. We are actively researching how to leverage Zk Proofs natively in the protocol. Stay tuned for more information about this.