[BAB] Lesson 2: How to work around gas fees
If you want to charge substantial direct fees every time someone uses your app, then gas fees are just an additional cost. It makes using your app more expensive, but your target audience may be fine with that. If you build something just for people with lots of money, gas probably won't matter.
Gas fees are a problem when you want to build something that can be used frequently and inexpensively by people who aren't already big spenders on blockchain. There are lots of dApps that are worth thousands of dollars to a small group of people. There's a larger group of people that would happily pay a couple bucks for a similar experience. If you can offer the experience for free, your potential audience grows exponentially.
If you just want to offer a cheaper experience, you can do this with many alternative L1 blockchains (Binance, Solana, etc.) or even on L2 (Arbitrum, zkSync, etc.). Their fees aren't guaranteed to stay low forever, but it's still a big improvement over Ethereum. The problem with "cheaper" and not "free" is that requiring users to pay anything will exclude a large potential audience. Don't get me wrong, you can build a profitable business this way, but there is extremely little competition right now to convert "people who like the idea of blockchain, but don't want to pay $100 to use it" into loyal customers. If you can work around gas fees entirely, your app can achieve mass adoption. There's a reason most web2 apps are free to use.
To work around gas fees, you have two options: pay the fee for your users OR use a blockchain without fees.
Pay the fee
On Ethereum, this probably isn't economically feasible for your app. You could incur serious costs. So, unless you're planning on making serious profit off of each and every interaction with your app, this may not be a good way to go. At that point, your users probably don't care about the gas fee too much anyway.
On cheaper L1s or L2, you can make this work. You just need to make enough money on average to cover your gas costs. This is still tricky though, because most blockchains don't provide a way for you to pay for your users. Most apps get around this by using centralized services (aka traditional web2 backends & databases), and only interacting with the blockchain when absolutely necessary.
Centralized dApps isn't a great idea, and we'll get into why in lesson 5.
will either have to pay your users' gas fees (which isn't economically feasible on Ethereum for most apps) or use a fee-less solution. Koinos is the only fee-less smart contract platform I'm aware of, so we'll be using that going forward.
Once you decide which approach you want to use,