We’ve always touted fee-free transactions on Basechain as one of its big selling points when compared to Ethereum.
Fee-free transactions are great for users because they can start interacting with Basechain before acquiring LOOM tokens, which makes it a lot easier to onboard new users that may not be familiar with how blockchains work, or how tokens can be obtained and stored safely. While fee-free transactions are great for users, they’re not so great for the validators that run the hardware and pay for all the CPU usage, storage, and bandwidth costs associated with processing Basechain transactions. Currently, validators earn some rewards for processing transactions, and those rewards are paid out of a pool of LOOM tokens that Loom Network has allocated for that purpose, but the rewards aren’t sufficient to offset all the costs validators incur.
For a while it made sense to have fee-free transactions to grow our user base, but it was never going to be sustainable in the long term. To ensure that Basechain becomes self-sustaining, we’ll be introducing a variety of usage-based fees.
To start with, the document management platform we’re building on top of Basechain for health providers and government institutions will have a number of fees, payable in LOOM, including:
- Fees for storing authenticated documents viewable by the public
- Fees for storing private documents viewable only by authorized parties
- Fees for storing time-bound documents and extending their lifetime
- Surcharges for storing large documents, e.g. PDFs with official stamps and signatures
Furthermore, in the next version of the Loom Protocol, we’re going to introduce transaction fees. Unlike Ethereum, the fees will be payable by dapp developers rather than end-users, and those fees will then be paid out to validators to cover their running costs. This means that end-user onboarding on Basechain can remain fairly simple, while ensuring dapps that utilize Basechain pay for the resources they consume.
The fee for each transaction will be determined based on the amount of resources that are consumed while processing it. Developers will need to deposit LOOM tokens on Basechain to cover the cost of transactions sent by users of their dapps. Every time a user sends a transaction to Basechain to interact with a smart contract, a fee will be deducted from the developer’s balance. If their balance reaches zero, any further transactions to their smart contract will be rejected until the balance is topped up. Of course, we don’t want malicious users to be able to drain a developer’s balance by spamming a smart contract, so developers will be able to whitelist the users that are allowed to send transactions that interact with their smart contracts.
It will be up to each dapp developer to come up with a suitable way to charge their users in order to cover their dapp’s transaction fees. To help developers manage their costs, Basechain will provide per-user transaction throttling and quotas that can be specified on a per-contract basis.
In addition to transaction fees we’re also going to be introducing storage fees. As the amount of data stored on-chain grows, so do the storage costs incurred by validators. Developers will be granted a modest fee-free storage quota each month, and any storage over that quota will be charged from their LOOM balance.
Staking on Basechain will continue to work much the same as it currently does. The new usage-based fees will be distributed to validators, who will in turn distribute a portion of them to delegators. All these distributions will be handled automatically by the Basechain DPoS system.
Hopefully, this overview of LOOM use cases provides a better idea of the token’s future utility. We’ll be releasing more specific details about the new fees a bit further down the line.