Ethereum is the blockchain of choice for tokens, and for the increasingly large number of DeFi projects that use the network to generate returns for their investors and themselves.
But it’s increasingly expensive to move value around on Ethereum. Gas fees, the price of doing business on Ethereum, have risen sharply.
The average transaction fee on the Ethereum network ran about $15.80 at the time of writing; but it’s been as high as $39.49 in the last month.
Note that these are average fees; the simplest transactions might cost less, and more complex transactions can cost significantly more, up to around $300 per transaction.The rise coincides with the increasing popularity of DeFi applications — in October last year, the average fee was around $2.
Understandably, that’s making life difficult for smaller projects, retail investors, and DeFi projects reliant on multiple, large-volume transactions to generate yields.
So with everyone from decentralized exchanges to token issuers feeling the pinch, what’s happening with Ethereum gas fees — and what’s the solution?
To answer that, we need to get some clarity on what gas fees actually are.
What is the Ethereum gas fee?
Gas fees are the price users pay for transactions on the Ethereum blockchain. The gas price comes in two parts, gas price and gas limit: both together give the gas cost.
When you set up a transaction on the Ethereum blockchain, you bid on the number of gas units — computational units — that your transaction requires. This is your gas limit. You agree a per-gas-unit price, the gas price. If your gas limit is too low, your transaction will fail and you will lose all the gas fees you paid for that transaction. If it’s too high, unused ETH will be refunded.
To learn more about gas fees, check out our Concepts post: Ethereum Gas Prices.
Why are gas fees high?
Gas fees are high because there’s a market on Ethereum for gas. And that market is overheated. To understand how and why this has happened, we need to take a step back. I’m going to assume you mostly know the basics of how gas works; if you don’t, check out our Concepts post.
Briefly, then: Ethereum blocks aren’t size-limited, but decided by the network and the miners. Miners charge for gas and each block has a gas limit for the block. These can change, but miners are incentivized to leave blocks smaller and charge for scarce space on the block, driving up gas fees. In normal circumstances, this doesn’t produce instability or massive leaps in gas prices. But these aren’t normal circumstances, because of some things that are happening (mostly) off-chain.
Decentralized Finance (DeFi) projects are making more transactions on Ethereum, and they’re making large single purchases because they’re aggregators with tons of funds under management. They might not define themselves that way, but it’s the effect they have on the on-chain market.
If you’ve read our post on John Maynard Keynes work you’ll know what happens when purchasing power rises sharply in an economy; suffice to say, the little operator can’t absorb transaction fees in the hundreds of dollars for thousand-dollar transactions. Ethereum’s own internal economics push it toward a shark tank scenario — several large, powerful players, poised for advantage over each other and far too dangerous for anyone else to swim with.
DeFi projects are a particular problem because they multiply the number of transactions required. A certain number of ETH gets locked in, then the tokens borrowed against that get locked in too: complex financial instruments are being run in an environment that isn’t up to the task.
The issue facing Ethereum and everyone who relies on it (if you’re using or issuing ERC-20 or ERC-721 tokens, this means you) is block size. The Ethereum Virtual Machine is powerful and big. There’s plenty of room on the Ethereum “train”; the underlying issue is the tension between the number of people who want to ride, and the number of seats in each carriage. Block size can be adjusted up, but there’s little incentive for miners to do that. And while there’s no mandated limit on block size, each block imposes computational demands on the whole network.
The consensus: Proof of Work blockchains have a built-in scalability problem
The reason Ethereum can’t just build bigger carriages is that it’s a PoW (Proof of Work) blockchain. Blockchains like this rely for their security on miners earning the right to mint new blocks by doing a ton of complex math that burns processing power. More nodes and more gas means more processing power. There’s no way out of this spiral. It’s why Bitcoin blocks are so small, just 1MB. But Bitcoin just supports a currency. Ethereum supports a pseudo-Turing complete decentralized supercomputer. PoW is dangerously inefficient. The explosion in DeFi projects pumping gas bids through Ethereum just emphasises the problem.
What can you do to reduce Ethereum gas fees?
Users can’t change the price of a single unit of gas. But you can do things to reduce your gas cost.
Your first option is to get an independent handle on gas prices. EthGasStation gives you the current recommended gas prices, including the premium you should expect to pay if you want your transaction handled fast. If you’re no longer relying on a consumer-level app to manage gas limits and prices for you, this could be a good bridging solution.
EthereumPrice.org/gas is a similar tool that shows gas prices through time, and by time of day, projected into the future. This lets you shop around for times when gas prices are cheaper. They rise when trades are frequent, fall when transaction numbers drop, a little like electricity prices. So you can search for times when you can schedule transactions to reduce gas fees. Transact on Tuesday at midday and pay just 7 or so gwei, or wait until 4PM the same day and pay 400 gwei. If you’re not in a rush, it makes sense to plan this way.
The other option is to reduce the number of transactions you make. This is possible for some investment strategies and not others. It’s certainly not a long-term solution for a general-computing blockchain aiming for mass-market adoption, but if you’re in a position to, you can save gas fees by simply sitting on your ETH and not transacting.
Finally, there are tools like Uniswap, which charge a flat fee to users to aggregate their transactions and execute them all together. Uniswap does at least provide predictable pricing, which you certainly don’t get by going direct to Ethereum, but it’s expensive to the user — and it’s a major gas guzzler on Ethereum, though it’s lost the top spot it occupied in December last year. (Here’s a list of the top Ethereum gas burners.)
Beyond this, there’s relatively little an individual investor can do apart from supporting some of the potential workarounds or full solutions to the problem currently under development.
There are several workarounds for the scalability problem Ethereum faces. They all seek to fix the problems Ethereum faces without addressing the central factor, the PoW blockchain that underlies everything Ethereum does.
Layer 2 Scaling Solutions
Layer 2 scaling solutions, like Raiden and ZK Rollups, are already up and running. These work by taking the majority of computation off-chain. This can mean side chains, or it can mean bundled or batched transactions, or other approaches.
Raiden, for instance, uses deposit state channels to create a payment channel that lets users send signed messages off-chain that can be claimed on-chain later. ZK Rollups bundles multiple transactions into a single transaction. Older than both, Plasma let users build side chains operating in tandem with the Ethereum mainnet, but requiring only a single hash of the sidechain to be entered into a block — in effect, compressing the data of multiple transactions.
These solutions get around the shortcomings of the PoW chain by doing their computing off the blockchain, or on subsidiary blockchains. They’re effective, in that they are more secure than totally off-chain activities and use less gas than the Ethereum mainnet. And they have made significant progress — enough for Vitalik Buterin to say on Twitter that “[w]hile everyone wasn’t looking, the initial deployment of ethereum’s layer 2 scaling strategy has basically succeeded”.
Buterin pointed to projects like the “OVM” (Optimistic Virtual Machine), a “fully-featured, EVM-compliant execution environment, designed for use in our Layer 2 systems”. Its Synthetix DEX runs on the OVM and boasts both much greater speed (Mainchain Ethereum: ~15s; Optimistic Ethereum: ~400ms) and sharply reduced exchange gas costs (Mainchain Ethereum: ~472 gas; Optimistic Ethereum: ~3.3 gas).
However, for many users, these Layer 2 solutions don’t yet offer the user experience, interface and suite of business tools that would be required to make them a full-fledged solution. If they were widely adopted, they could cut pressure on gas, and consequently gas fees, by orders of magnitude. But they have not yet met with wide adoption, and in particular are not usually the choice of large DeFi projects. Buterin is right to say that “[t]his is an adoption challenge, not a technical challenge”, but the challenge remains — and for now, so do the punishingly high gas fees on the Ethereum mainnet.
EIP-1559: Ethereum tilts the balance in favour of users
That may be about to change without anything all that radical happening. Ethereum’s mainnet is overhauled on the basis of “EIPs” — Ethereum Improvement Proposals. Ethereum’s lead developer, Tim Beiko, told a Core Developers call on March 5 this year that EIP-1559 was ready to go.
EIPs have all the thrill of local legislation at first hearing; EIP-1559 sounds about as exciting as Prop. 141. But inside the uninspiring packaging is a change that could fundamentally alter the way DeFi, and a host of other users, interact with Ethereum.
EIP-1559, co-authored by Vitalik Buterin, will transition Ethereum’s gas fee structure away from the auction it is now. Right now, miners can survey the bids offered and select the highest ones, a seller’s market in which complex or small transactions suffer. The proposed new fee structure will handle bidding programmatically, arranging each transaction so users pay the lowest possible fee.
Additionally, the base network fee will now be burned on each block minting, meaning Eth would become a deflationary asset; CoinTelegraph calculated in October 2020 that almost 1 million ETH would have been burned over the preceding 12 months if EIP-1559 had already been implemented.
Are we going to get EIP-1559?
Miners, predictably, aren’t keen on the notion; they stand to lose something like 50% of their profits. But over the objections of some 30% of Ethereum miners, and amid speculation about a hard fork, EIP-1559 is going ahead. Miners’ counter-offer is EIP-3368, which would raise the price to mint a block to 3 ETH, then gradually lower it to 1 ETH over the next 2 years.
This is recent and debate is still ongoing. Whatever happens, gas fees should fall considerably within the next four to five months, though whether this addresses the fundamental problem is another matter.
Interoperability and “ETH killers”
What about alternatives to Ethereum? In 2017-18 there were several projects, among them EOS and Cardano, that promised to deliver what Ethereum ostensibly couldn’t: “sub-second block time latency rate” combined with “custom programmable governance and business logic through executable smart contracts” — and with no gas fees. Their goal wasn’t to accelerate Ethereum or play nice with it, but to relegate it to history and offer something fundamentally better.
However, they ran into the same problem as the second-layer service providers we already talked about; they couldn’t get traction. Meanwhile ERC-20 moved from strength to strength, to the point that Ethereum’s problems now stem chiefly from its own success.
Some of these platforms used faster consensus algorithms like Delegated Proof of Stake, more complex than PoW but less energy- and work-intensive; DPoS and similar algorithms also offer, in some eyes, more real decentralization and better protection against 51% attacks (which have never been a problem on the big PoW chains, though smaller chains have been attacked in this way). And Ethereum eventually plans to move the Proof-of-Work, with the transition complete across the ecosystem within the next two years.
The solution to Ethereum’s problems doesn’t seem to be an “Ethereum killer” like EOS or other, more highly-optimised general purpose blockchains. They may have had more suitable consensus protocols, and they may have been built from the ground up with the advantage of having seen the challenges they would face. But they weren’t able to generate sufficient user base. Ethereum might be the Qwerty keyboard of blockchain computing: we’re each using it because we’re all using it. Without some way out of the Metcalfe curve, these alternatives simply couldn’t usurp Ethereum.
A solution with a brighter future might be platforms that are interoperable with Ethereum. Key projects to watch in this space are Cosmos and Polkadot.
Cosmos intro is a network of independent, parallel blockchains, underpinned by a Byzantine Fault Tolerance (BFT) consensus algorithm designed to provide maximal speed combined with maximal systemic resistance to bad actors — BFT is built to counter the threat of concerted, covert malicious actions by up to a third of network participants. Cosmos’ goal is ambitious: they hope to create an “internet of blockchains”, allowing interoperability between all blockchains.
Polkadot offers an environment where users can transfer any type of asset or information, so it’s not reliant on tokens or on tokenizing Coins native to other blockchains. With no miners and without needing hard forks to upgrade, Polkadot hopes for “a completely decentralized web where users are in control”, and hopes to get there with the backing of the Web3 Foundation.
Ethereum has a function built in called storage refund. Storage refund lets users store gas, they have it refunded when the transactions it’s associated with are cancelled. When a smart contract is ordered to self-destruct, for instance, up to 50% of the gas fees are returned to the creator of the contract.
The stated purpose of this function is to incentivise users to delete redundant smart contracts and slim down the blockchain, so nodes don’t have to store redundant information. It’s intended to reduce the rate of growth on the blockchain.
However, it has allowed the development of a form of speculation superficially similar to short selling; some users create dummy smart contracts when gas prices are low, then destroy them when gas prices rise and claim the profit. Using the example from earlier, if I created a smart contract with a gas limit of 21,000 — the minimum for a standard ETH transfer — at midday on Tuesday, I’d have paid 147,000 gwei, worth around 23¢. If I then waited until 4PM when gas prices rose from 7 gwei to 400 gwei, I might only get back half my gas fees — but I’d turn a $6.63 profit. You can see how that’s worth doing at scale; but because it soaks up gas and clogs up the chain, it’s bad for the platform.
Another potential solution, this time in the medium to long term, is “Ethereum 2.0”. This has been in the works for a while now. “Eth2 refers to a set of interconnected upgrades that will make Ethereum more scalable, more secure, and more sustainable”. The major changes forecast are the Beacon Chain, Sharding and Eth2/Ethereum mainnet docking, in the chronological order that Ethereum expects to achieve them.
The Beacon Chain introduced a complex variant of Proof-of-Stake consensus to the Ethereum ecosystem and will coordinate the various Ethereum chains, including shards, without (for the moment) disturbing the mainnet. It’s live as of December last year. Beacon Chain can’t do some of the things the ETH mainnet can do, like handle smart contracts or accounts, but it is much faster and replaces miners with staking.
Sharding will spread the Ethereum network’s operating load across 64 new chains, with loading and coordination handled by the Beacon Chain. Shards will cut hardware requirements for nodes and giving Ethereum better capacity for data access and storage, but without executing code. They’re forecast to arrive in two phases, with the first appearing in 2021 and dependent on the pace of work after Beacon Chain.
Eventually, the Eth2 ecosystem will “Dock” with the Eth1 mainnet. This will mark the end of mining on the Ethereum blockchain altogether, replaced with a version of Proof-of-Stake consensus that allocates validator status (analogous to miner status, abe to mint and attest blocks) at random to all who have invested a set stake (currently proposed to be 32 ETH).
Ethereum’s Eth2 will solve the gas problem by implementing the same systems proposed by the prior generation of “Ethereum killers” — it’s a classic example of rebuilding the plane in midair, because everyone’s already on board. We’re looking at a timescale of one to two years before the issue is fully resolved, though sharding should help significantly.
In the meantime, it’s possible that one of the interoperable blockchain environments mentioned above, or another like it, could let Ethereum users out of the gas trap. And there are things individual users can do to reduce gas fees in the short term, though they’re absolutely workarounds.
Ethereum’s gas fees are likely to remain high because the system was never designed to run this hot, with this high a number of transactions; DeFi’s ascendence has made an existing problem much more serious.