Ethereum adoption is growing like never before. Decentralized finance (DeFi) continues its rapid rise, stablecoins are being adopted around the world, and NFTs are becoming an everyday topic of conversation.
Ethereum’s usage is a great sign for the long-term prospects of the network. But in the short-term it’s caused some growing pains. Ethereum transaction fees have shot up to new highs in early 2021.
For context, at the peak of the 2017/2018 bull run, the average Ethereum transaction fee reached $5.70. Ethereum average transaction fee has been more than $5.70 every day since January 18th, 2021. The median transaction fee has been above $10 for most of the year.
Part of the growth in transaction fees has been due to the sharp increase in ETH price. As ETH gets more valuable, transaction fees get more and more expensive when measured in USD. But it’s also due to a large increase in gas prices caused by network congestion.
Further complicating things, Ethereum’s fee structure is set to change this July now that Ethereum Improvement Proposal (EIP) 1559 is officially set for inclusion in the upcoming London hard fork.
In this report we’ll first take a look at Ethereum’s current fee mechanism and what’s driving the high fees. We’ll then look at EIP-1559, and how it will change Ethereum fees moving forward.
Ethereum Gas Overview
To send a transaction or interact with Ethereum decentralized applications (dapps) users need to pay a fee. Ethereum fees are commonly referred to as “gas.” Similar to how a car needs gas to run, Ethereum applications need gas in order to be executed.
Gas is essentially a measurement of the computational effort needed to execute an operation on Ethereum. More complex operations require more gas to run, while relatively simple transactions like a single token transfer require less gas. Ultimately, “gas” is just another way to measure transaction fees. Gas fees are paid in ETH and are denominated in GWEI. GWEI is just a smaller denomination of ETH, similar to how a penny is a smaller denomination of a dollar. One GWEI is worth 0.000000001 ETH.
There are two components that currently go into determining how much fee is paid per transaction: gas cost and gas price.
Different Ethereum transactions require different amounts of computation. Simple transitions like a token transfer require relatively small amounts of gas. But more complex transactions, like those that require multiple smart contract interactions, need a larger amount of gas. For example, a simple ETH transfer takes 21,000 gas. But executing a trade on a decentralized exchange can cost 100,000 gas or more.
The “gas limit” is the maximum amount of gas that a user is willing to use for a single transaction. Ethereum users can specify their desired gas limit when sending a transaction. However, changing the gas limit does not change the actual amount of gas that is needed to execute an operation. The gas limit is just a safeguard that protects users from dapps that may try to unknowingly use a lot of gas. Any unused gas below the gas limit is returned to the sender’s wallet. However, if they set it too low the transaction will not be executed but they will still be charged the fee.
Since January 2020, the amount of gas used per transaction has trended downwards. This shows that increased transaction complexity is not responsible for high transaction fees.
The second input is “gas price.” A sender can specify any gas price they want, high or low.
The gas price solely determines the amount the user pays per unit of gas used and does not change the amount of gas needed to execute the transaction. Therefore the exact same smart contract interaction performed at different times may have wildly different gas fees, depending on the gas price used. This can often lead to confusion, especially for newer users.
Gas price also tends to fluctuate and is dependent on the demand for block space. Average gas price surged to its highest levels ever over the summer of 2020 due to the rise (and fall) of DeFi. The growth of decentralized trading, on-chain arbitrage, yield farming, and new token launches all contributed a sharp rise in competition for transaction priority, which led to escalating gas prices.
Average prices peaked at over 500 GWEI on September 17th, 2020 following Uniswap’s unexpected UNI token airdrop. Gas prices have soared again in 2021 as DeFi continues to surge, and a sharp increase in ETH price has brought in new traders and speculators.
The Gas Auction
So why would a user choose to pay a high gas price when they can choose to pay the minimum? In short, higher gas leads to faster transaction confirmation.
Imagine a bus stop with thousands of people waiting to catch the next bus. A new bus pulls up every 15 minutes or so but each bus only has 50 seats. The seats on the bus are auctioned off to the highest bidder.
If there were at least 50 people willing to pay $1,000 to get on the bus, then the price of admission would be at least $1,000. If people were at most willing to pay $10, then the price would be $10 or less. But if you only had $10 and there were hundreds of people willing to pay $1,000 you might have to wait a while before you could afford to get on a bus.
Unfortunately, waiting in line at the bus stop wouldn’t necessarily give you an advantage. If people kept showing up willing to pay more than you they would keep getting prioritized, even if you had been waiting there much longer.
This is a slightly simplified version of how Ethereum gas prices work. Ethereum blocks are mined roughly every 15 seconds. Each Ethereum block has a maximum size, which limits the amount of data that can be included. The current maximum block size is set at 12.5M gas and was last increased in July 2020. Since the maximum block size is denominated in gas and different transactions have different gas usages based on complexity, there isn’t a consistent maximum number of transactions that can be included in a block. But on average, about 160-200 transactions are included per block.
Ethereum gas fees are ultimately paid to Ethereum miners, who earn their revenue through a combination of transaction fees and block rewards (i.e. newly issued ETH). With ETH fees surging, transaction fees now make up 50% of Ethereum miner revenue.
When mining a new block miners need to specify which transactions to include. Each block can only include a limited number of transactions due to the maximum block size. So miners naturally prioritize the transactions with the highest gas prices since they will earn them more money if these transactions are included.
Sending a transaction with a relatively high gas price will make it more likely that miners include it in the next block since they’re incentivized to include the transactions with the highest gas price. But there is no guarantee that it will be included. If there are a certain number of users willing to pay even higher gas prices, the transaction won’t get confirmed until a later block.
This becomes even more problematic when blocks are consistently full. Full blocks escalate the intensity of the gas price auction as transaction senders are bidding for scarce space. Since the rise of DeFi in summer 2020, blocks have consistently been about 95% full or more. In March 2021, blocks have been 97%-98% full on average.
The block gas limit has occasionally been increased over the years, which allows slightly more transactions per block. But there are tradeoffs that prevent it from being increased too often. The larger the gas block limit, the faster the state of the Ethereum blockchain grows. A larger blockchain requires more resources for node operators, which favors larger operations and can hurt the network’s decentralization.
Further complicating things, Ethereum gas prices can fluctuate wildly from block to block. There are services like ETH Gas Station that recommend what gas price to set based on desired confirmation speed. But it can be difficult to estimate the current gas price, especially in situations where block space demand escalates suddenly or unexpectedly.
The UNI Airdrop & Escalating Demand
Ethereum’s gas price rise corresponds with the rise of DeFi, which is still likely the largest contributor to high gas prices. For example, Uniswap’s UNI airdrop provides a mini case study of what happens when demand for block space suddenly increases.
At 00:13 UTC on September 17th, 2020 (8:13 EDT on September 16th) Uniswap announced an airdrop of their new UNI token. Suddenly, thousands of people rushed to begin trading UNI on Uniswap.
Uniswap, which is the largest decentralized exchange (DEX) on Ethereum, executes all of their trades on-chain, meaning that a transaction is sent to the Ethereum blockchain every time a trade occurs. This is in contrast to centralized exchanges like Coinbase and Binance where trading occurs off-chain and transactions are only sent when users need to deposit or withdraw funds.
There are many benefits to on-chain trading used by Uniswap and other DEXs. But one drawback is that it puts upward pressure on gas prices. There are often immediate financial benefits to executing a trade faster than others, so many DEX users are willing to pay high gas prices.
The following chart shows gas prices per block before and after the UNI airdrop. Each dot represents the average gas price of an individual block, denominated in GWEI. Each dot’s color denotes the median transaction fee per block, denominated in USD. As gas prices skyrocketed the median transaction fee temporarily reached $12 and above.
When the UNI token was launched, traders rushed to Uniswap to begin trading it. This led to a large, sudden increase in gas prices as traders competed for block space. This can be seen shortly after midnight UTC (00:00) on the below chart, where gas prices suddenly go vertical and remain elevated for the next 24 hours.
If you had sent a transaction right before midnight with a 200 GWEI gas price, you would expect it to be included in a block relatively soon based on the average gas prices of the last 12 hours. But due to the sudden escalation in gas prices, your 200 GWEI transaction may not actually get included in a block for a day or more, until demand waned and the gas prices finally came back down.
While events the size of UNI’s airdrop are relatively rare, DeFi applications and usage contribute to high gas prices in many other ways. One particularly large contributor is on-chain arbitrage between different DEXs which is often executed by bots. On-chain arbitrage can lead to escalating gas prices as bots compete against each other to be the first to execute a trade, before the opportunity disappears.
EIP-1559 & Ethereum’s New Gas Mechanism
After much debate, Ethereum Improvement Proposal (EIP) 1559 has been greenlit for inclusion in Ethereum’s upcoming London hard fork scheduled for this summer. EIP-1559 will fundamentally change Ethereum’s gas mechanism. Instead of a user-specified gas price, Ethereum transactions will have an algorithmically computed base fee. It will also introduce a new block target size mechanism, which will aim to keep blocks from consistently reaching maximum capacity.
Target Block Size
Instead of having a fixed maximum block size, EIP-1559 will introduce a target block size mechanism that will aim to keep blocks at 50% capacity. Under EIP-1559, maximum block size will get doubled from 12.5M gas to 25M gas. But the target block size will still remain at 12.5M gas.
The block size mechanism will aim to keep blocks at 50% full by adjusting the base fee, which is described below.
EIP-1559 will introduce an algorithmically-computed price (per unit of gas) called the base fee. Transaction senders will be required to pay the base fee in order for their transaction to be included in a block.
The base fee will be a function of the preceding block, and increases or decreases depending on the block fullness. If the preceding block was larger than the target block size (i.e. more than 50% full), the base fee increases. This escalating base fee will eventually make it too expensive for some users to transact, reducing congestion and causing block fullness to fall back towards 50%. Conversely, if blocks are below the target of 50% full the base fee decreases, making it cheaper to send transactions.
The base fee will effectively automate the gas price bidding system. Instead of relying on recommended gas prices based on estimations of current gas prices, the base fee will be computed by the protocol itself.
Additionally, instead of getting paid to miners, the base fee will get burned. Burning fees will permanently remove them from supply, effectively decreasing overall ETH supply. This will be good for Ethereum’s supply economics since it will effectively decrease ETH’s supply inflation. It could even potentially make ETH deflationary if fees became high enough.
The following chart shows ETH’s current supply compared to the supply if all transaction fees were burned, a total of about 3M ETH. This is an oversimplification of what will happen once EIP-1559 is enacted since only the base fee will be burned and not tip. But it gives an idea of how supply inflation will slow after the launch of EIP-1559.
But it has also been opposed by some miners since it will likely reduce their overall revenue, at least in the short-term. After heated debate most of the major mining pools have endorsed the transition to EIP-1559, albeit reluctantly.
This base fee target block size mechanism will hopefully keep blocks below maximum capacity for extended periods, and prevent the Ethereum blockchain from getting as clogged as it currently is. But if demand gets high enough or suddenly escalates there could still be situations where most blocks end up nearly full (at least for short periods), similar to the current gas mechanism.
In addition to the base fee, transaction senders will have the option of including a tip. The tip is paid directly to miners, similar to current transaction fees. Paying a high tip will incentivize miners to prioritize a transaction if blocks are near capacity.
When sending a transaction users will set a fee cap. The fee cap is the maximum fee that the sender is willing to pay, including both the base fee and tip. If the fee cap is lower than the base fee, the transaction will not get included in a block. If the fee cap is higher than the base fee, the difference will be sent to the block’s miner as a tip.
If blocks are consistently full, tips may function similar to the current gas mechanism where miners are incentivized to include transactions with a high gas price. However EIP-1559’s target block size mechanism will hopefully keep blocks from reaching maximum capacity for extended periods.
Will EIP-1559 Reduce Gas Fees?
Will EIP-1559 fix today’s high gas prices and make Ethereum transaction fees significantly less expensive? The short answer is probably not.
High transaction fees are fundamentally a scalability problem. If Ethereum can only process a few hundred transactions (on average) per block, there’s going to continue to be high fees as long as dapp usage keeps increasing. Gas prices will continue to be high as long as there’s high competition for block space.
Although it likely won’t fix the high fee problem, EIP-1559 will help improve Ethereum’s user experience by making fees more predictable. EIP-1559 should help reduce variance in gas fees and give users a clearer picture of the actual fee they’ll need to pay.
But layer-2 (L2) scaling solutions, and ultimately Ethereum 2.0, will be needed to truly reduce transaction fees over the long-term. Through various means, scalability solutions will increase the amount of transactions that can be processed per block, which will help relieve the congestion contributing to high fees.
There’s a lot of progress being made towards L2 solutions, including Optimism, Loopring, and Immutable X, just to name a few. Thanks to the debate around EIP-1559, Ethereum 2.0 may even come sooner than previously planned. But most solutions have a lot of complexities, and it will take time to incorporate scalability solutions across the network.
Ethereum transaction fees are at their highest levels ever. DeFi usage and high competition for block space has led to full blocks and congestion, which has driven up gas prices. EIP-1559 will help improve Ethereum’s transaction fee user experience, but it ultimately likely won’t fix the high gas price problem. But Ethereum scalability solutions are on the way, which will be the true long-term solution towards decreasing transaction fees.