There is a lot of potential design patterns for fees in a Cosmos zones.
Fees are a piece of a solution to a number of problems a Zone developer must solve. They provide solutions for
- Spam. In a trust minimized environment, we can’t allow a user to consume resources without limits.
- Compensation for validators and full nodes. Validators must be compensated for securing systems.
- Compensation for other network actors like the UI layer
The fee distribution model that ships in the Cosmos ecosystem is a powerful basic system for designing a fee system appropriate for your ecosystem. One powerful thing it does it is distribute fees and inflation to hundreds or thousands economic participants in a system on a block by block basis.
The naive user pays fee design might have terrible usability for some users.
- A pattern where transactions can be cosigned by the application developer and cosigned transactions can pay their fees from an account controlled by the applications developer
- A pattern where there are white listed accounts and spam prevention requires just a pointer to particular white list and the whitelist owner can revoke it and fees are required to adjust the white list.