I propose to separate the accounting of fees for storage proof verification from the fees charged for general execution (gas). These two fees apply to resources with very different properties, and using gas fees to account for both introduces complexity and misalignment between technological progress and network good. Explicit proof fees will allow the Filecoin network to set explicit pricing policies and continue to capture value as technological innovation drives the underlying costs downwards. This proposal doesn’t change economic policy, but introduces clear parameters to do so in the future in response to changing technological and ecosystem conditions.
A storage network
Filecoin is a storage network. The fundamental service that differentiates Filecoin from other Web3 infrastructure is coordinating the provision and validation of cryptographically-verified data storage. This service of coordinating and verifying proofs of storage is an input to storage providers, which can then offer trustworthy, verified storage to clients. The SPs provide the actual storage, while the Filecoin blockchain network provides value as an aggregator and as a basis for trust. The network’s value will grow as it mediates a growing number, size, and value of storage deals.
Gas mediates the rivalrous resource of blockchain execution
Filecoin, like many other blockchains, uses a gas mechanism to (a) mediate access to a technologically-limited blockchain execution capacity, and (b) earn network revenue by burning the associated fees. This “network revenue” accrues to the holders of Filecoin tokens by decreasing the total supply of those tokens, increasing their scarcity. Even if network revenue were not an objective, a gas mechanism would still be required to address the scarcity of execution capacity (colloquially: “blockspace”). Blockchain execution is rivalrous: a unit of execution consumed by one party is unavailable to others.
Filecoin storage proofs are non-rivalrous
Filecoin storage proofs are not a scarce nor rivalrous good. One provider’s proof does not limit another provider’s ability to do the same, except for the competition for blockspace needed to actually submit a proof to the network. In fact, SPs benefit from other SPs making proofs, because this increases the security and trustworthiness of the Filecoin network, supporting their investment. All parties benefit from increased storage onboarding and use [1].
Using the gas mechanism to charge for storage proofs distorts the economic incentives away from those most beneficial to the network. The gas price sets an arbitrary cost for a proof that’s unrelated to the value provided by the network to the SP, and fluctuates wildly due to competition with unrelated uses of execution capacity. But the value of a proof to a provider, presumably, does not depend significantly on moment-to-moment blockspace demand. When the gas price is too high, proofs are expensive and onboarding is limited, but when it is too low the network gives up revenue.
The batch balancer is complicated and limited
The batch balancer mechanism was introduced (FIP-0013 and FIP-0024) to mitigate the lost revenue using gas fees to storage proofs, in response to the technological innovation of proof aggregation. Aggregation reduced the physical cost of per-sector proof verification, and hence the per-sector gas cost and network revenue. The batch balancer is a complicated construction which adds a per-sector fee, but this fee remains coupled to the gas base fee above some threshold. This sets a floor on the per-sector cost, but over-charges and thus excludes some onboarding when unrelated demand for blockspace pushes the gas price up. Proof costs remain coupled to gas costs more than the necessary amount; indeed the mechanism increases the sensitivity of sector onboarding costs to base fee when above the threshold, compared with a pure gas charge. This is particularly worrying as user-programmed actors on the FVM introduce the likelihood of much wilder fluctuations in base fee.
In the long run, low gas prices make storage more valuable, because applications can do more with that storage at lower cost. In reverse, high gas fees make storage less valuable because it’s expensive to use. The batch balancer operates in reverse to this observation, charging higher fees when the complementary resource of compute is also expensive.
Below the base fee threshold, the batch balancer mechanism encourages wasting blockspace capacity by avoiding proof aggregation, in an attempt to raise the base fee and thus revenue capture from other transactions. A floor on the base fee, if desired, could be established far more simply and directly.
The batch balancer does not capture any revenue from replica updates, despite this operation being a direct source of revenue for storage providers.
Filecoin should capture revenue from proofs
The operation that most represents the differentiated value of the Filecoin network is the submission and validation of a proof of storage: either an initial proof of replication, or subsequent proof of replica update. These operations allow a storage provider to make a deal to store data for a client. The Filecoin network should earn revenue from these valuable operations, and this is the most defensible network revenue in the future.
The network does today earn revenue from proofs because the physical compute cost of verifying the proofs consumes execution gas, with fees burnt (and through the batch balancer). However, this revenue is partially matched by the physical cost of the proof verification, carried out by every validating node on the network. If we could reduce this physical verification cost, we could make that execution capacity available for some other fee-paying transaction, but the Filecoin network would still have provided value to the storage provider, and should still charge a fee.
Technological innovation will create abundance and reduce costs
As a storage network, Filecoin should aim to continually improve the technological foundations supporting the network[2]. Given the mission of a ubiquitous storage network, designers and developers will seek to continually improve capabilities and reduce costs, in order to provide a more valuable product. Thus, we can expect continued improvements and cost reductions specifically in replication and proving technology. When the Filecoin network delivers improved product capabilities, we should expect that the network can earn more revenue.
When the physical costs of replication are reduced, a storage providers’ costs are reduced, improving their profitability. The Filecoin network may be able to capture some part of that. When the physical costs of proof verification are reduced, this also reduces costs for storage providers, and the network should be able to capture a significant portion of this reduction while still improving storage providers’ profitability.
Technological innovation will also increase the supply of blockchain execution capacity. This has already been an area of great progress across the Web3 ecosystem, and innovations such as roll-ups and other layer-two execution systems promise to deliver blockspace far in excess of current demands. Improvements in bridging and interoperability may also reduce the network effects around blockchain execution environments, making it easy to move compute loads to whichever chain is cheapest and most well suited to a particular application. This commoditisation of blockchain execution will be a boon to the ecosystem and to Filecoin, resulting in huge consumer surplus, but competition may drive execution gas revenue down to subsistence levels.
Neither of these are long-term hypotheticals. No-buffer PoRep promises to reduce the hardware requirements for proving storage, and non-interactive PoRep could get rid of the pre-commit stage entirely. The Testudo SNARK is on track to slash the proof generation and verification costs of sector on-boarding. And the FVM will immediately present the possibility of side-chains and roll-ups on Filecoin, either novel constructions or simple ports of existing systems.
Proposal—replace batch balancer with proof fees
I propose to replace the batch balancer mechanism with an explicit per-sector proof fee, charged at both proof of replication and replica update. The fee levels should initially be set to maintain the current costs for storage providers, as far as that is possible while decoupling from the gas price (e.g. set the PoRep fee at the batch balancer threshold rate, and set ReplicaUpdate fee to zero). When future technological innovations reduce the physical off-chain on or on-chain costs for storage providers, these fees should be changed to apportion the surplus between reducing storage provider costs (and hence client costs, through savings passed on), and capturing network revenue. It might also be appropriate to adjust fees in response to changing conditions or competition.
Clarity and adaptability
Clear, explicit pricing for proofs, distinct from execution gas, will give the Filecoin network adaptability for the future and clarify the economic prospects for future participants. The network will be able to adopt a clear business strategy and project revenue based on the usage and value of its core value proposition.
This mechanism is neutral as to the policy to be adopted now or in the future. E.g. it remains to be seen whether gas fees from blockchain execution can form a large part of blockchain network revenue, and over what timescale they might be sustained. If ecosystem-wide execution capacity expands dramatically, bridging is solved, and gas prices drop, Filecoin storage should become more valuable due to being more widely useful, but a gas-based mechanism is less capable of capturing that value. Explicit fees will give us the policy levers to capture value according to the value created, rather than to the oppositely-polarised scarcity of blockspace. Alternatively, if storage turns out to be a great differentiating factor for a blockchain, we could reduce proof fees to attract more data, subsequently capturing revenue from increased demand for execution gas. The batch balancer mechanism lacks these strategic flexibilities.
This proposal is orthogonal to ideas about alternative targets for the base fee like #515. Such ideas could complement this approach by re-introducing a base-fee-support mechanism in periods of low utilisation.
Aligned incentives
Proof fees align the incentives of developers with other network participants. At present, there is awkward friction around any technological improvements which improve the ability of the Filecoin network to deliver verified and useful storage at reduce cost. Such innovations are obvious improvements to Filecoin as a product, yet the coupling to gas results in an initial reduction in network revenue.
With explicit proof fees, improvements to storage replication and proof technology can directly drive increased network revenue while also reducing storage provider costs and the subsequent costs to deal clients. Both storage providers and the Filecoin network as an aggregator must enjoy profitable operations in order to be sustainable and grow towards better service to clients. Proof fees will allow us to balance those margins explicitly as long-term conditions change.
[1] I’m ignoring rivalry for the block reward earned by sectors, subsequent to proving them. This subsidy will eventually be replaced by client fees as SP’s main source of revenue.
[2] If we don’t, some other network will