Why Ethereum Fees Are High Now and Future Solutions
What is happening?
- ETH fees are high right now. The best place to see gas costs (how much you’ll need to pay for a transaction vs how quickly you want it) is here: https://ethgasstation.info/
- Smart contracts and ERC-20 tokens consume much more gas than a basic transfer. While a typical transfer might be $3 a poorly written smart contract could consume $100 in gas. This variation leads to lots of confusion on various forums. An absolute metric crap ton of tokens run on ETH, so ETH being congested causes lots of downstream effects, tokens that consume lots of gas are disproportionately effected.
Why is this happening?
- Utilization is through the roof right now. At post time ETH is achieving 16.14 TPS vs BTC’s 4.00. Despite being 4 times faster the demand for on-chain (L1) transactions is overwhelming. At the bottom of this page, make sure to scroll down you can see that blocks are at 100% right now. That means people are constantly outbidding each other to make it in.
- At post time Uniswap is the biggest gas guzzler. People are using Decentralized Exchanges (dex’es) a ton and its consuming a huge chunk of block space and people are paying a premium for it.
How can I save money?
- ETH demand fluctuates heavily throughout the day, it’s not uncommon for fees to drop 10x in an hour. If you are not in a hurry waiting a bit for a slow period and broadcasting a median gas transaction can save you a TON of money
- Some wallets/apps are designed to be super user friendly, and unfortunately they hardcode the fastest possible gas costs for a good user experience (UX). Unfortunately that’s a very bad idea when gas is high and only causes rates to climb even more. EIP-1559 will fix this, more on that later
- Don’t interact with smart contracts if you don’t have to. It sucks, I know. But the fact is that using a smart contract is way more expensive than normal transactions. When gas is a fraction of a penny nobody cares, but its not right now and this is where we are. Last I checked, L1 ETH transfers are still cheaper than BTC. Not much of a consolation, but it’s not a total disaster yet. EDIT: It appears the last 2 days ETH has flipped BTC on transaction costs. $17 USD still seems really really high, as of post-time a $5 transaction would go through within a few minutes)
What is being done about this? (sorted by est delivery date)
- Berlin upgrade: Est 1-2 months, will adjust gas costs of various transactions for certain core operations. Should help fees overall on many contracts.
- EIP-1559: Est “this summer, but maybe Q3”: A huge overhaul to the fee system. Block sizes are FLEXIBLE, targeting 50% full. When a block exceeds 50% full the base fee increases. When it drops below 50% the base fee decreases. Fees are burned (nice deflationary side effect). This means a few things: A) Spikes in transactions can make the next block instead of clogging the mem pool B) costs are MUCH more easy to calculate, and block include time estimation is much easier. C) The improved predictability/include time means shitty apps won’t have a reason to set absurd fees for a good UX, driving “gas inflation” like we see now. There’s a lot more to EIP-1559, but that’s the gist of how it should impact transactions
- 2.0 Phase 0: Already live, but the beacon chain won’t impact 1.0 until “the merge”. Baseline TPS should be higher than 1.0, and its also environmentally friendly :)
- 2.0 Phase 1: Est end of 2021, Sharding will first scale to 64 shards (eventually 1024) for a 64x scaling effect on the beacon chain.
- The Merge: Some call this Phase 1.5, but it is planned for 2022. This will move ETH 1.0 as a shard on to 2.0, and all finality will occur on the beacon chain. At this point ETH’s core TPS should be 64-100x faster than what we have today
- 2.0 Phase 2: Est end of 2022/2023, Execution Environments aka sharded smart contracts allow for smart contracts to share data across shards so that DeFi/Dex’es etc benefit from 2.0’s massive scalability
What other out-of-order improvements are coming?
- Various L2 technologies are already live, and several smart contracts are upgrading to them now. This will let you pay on L1 to “get in”, then perform a lot of cheap transactions on L2. Right now every trade on uniswap clogs L1. When it runs on L2 all those trades are off-chain and gas fees are only driven up by deposits/withdrawals. This should have a massive impact on overall gas costs. The good news is the insane fees on some contracts act as an INCENTIVE to get L2 up and running faster.
I know a lot of people are unhappy with the current situation, but a lot of progress has been made and a lot of exciting progress is on the horizon! I hope this post helps :)