The weekend of April 30 featured two different blockchain blowups that together illustrate the importance of how transaction fees are set on decentralized systems. Late on Saturday U.S. Eastern time, the Solana blockchain fell out of consensus and effectively shut down for what wound up being seven hours, reportedly thanks to a swarm of bots trying to mint non-fungible tokens (NFT). Then on Sunday, Yuga Labs’ launch of a sale for land NFTs triggered a spike in transaction fees on Ethereum. That led hopeful NFT buyers to spend a total of about 71,000 ether (ETH), or nearly $200 million USD, on fees alone.
So Solana users couldn’t use the chain at all for about seven hours, potentially costing them huge sums in missed trades or other financial opportunities. Ethereum users, by contrast, were free to use the chain even at the height of Yuga's sale … if they were willing to spend huge sums, sacrificing other financial opportunities.
This article is excerpted from The Node, CoinDesk's daily roundup of the most pivotal stories in blockchain and crypto news. You can subscribe to get the full newsletter here.
It’s a devilish trade-off, broadly representing the two currently existing approaches to handling transaction demand on a blockchain. Neither, it seems pretty clear, is an acceptable status quo.
It’s worth emphasizing that, despite the chaos, there’s a lot of good news here. Both Solana and Ethereum experienced incredible surges of real system demand, and that’s the overriding goal.
Even the swooning sales price of Solana’s SOL token, which dropped as much as 11% after the chain pause, is arguably structurally bullish. That a blockchain token price dipped because of a failure of its technology stack and (in)ability to handle real traffic is an inverted validation of many of the precepts and principles that underpin the entire crypto and blockchain industry, not least Joel Monegro’s “fat protocols” thesis. It’s a marked and refreshing change from the puffery, rumors, and affinity trends that have had predominant influence over token markets for most of the past decade.
There's no such thing as a free lunch
By the same token (ahem), it turns out the two systems’ different approaches to big demand spikes really, really matter.
Both systems have transaction fees, and the weekend’s events show why it’s hard to imagine any digital payment system without them. There is limited space within each transaction block on any blockchain, and fees at the very least prevent every single block from being packed to the gills with malicious spam. Without fees, any system could and probably would be spammed into oblivion sheerly for the lulz, or accidentally by a rogue bot or the like.
Ethereum solves this problem with a fairly straightforward fee market – users bid against each other for block space. When you set your desired fee ranges in MetaMask, you’re setting your fee bid range, with lower bids usually having to wait longer to win a slot and be validated. This pure market means that fees can range very high indeed when traffic peaks, and Yuga’s kerfuffle on Sunday, with fees briefly brushing $24, doesn’t even take the cake. As recently as late winter of 2021, Ethereum fees were nearly $10 for months on end, and spiked to more than $70 last May, according to Ycharts – also, notably, in large part thanks to NFT-driven demand.
Solana takes a different approach. While fees on Solana do respond to congestion, they are set algorithmically based on recent block space usage, rather than by a real-time bid-based market. This approach appears to have failed on Saturday by underpricing blockspace relative to supply. That enabled a flood of transactions that were nominally accepted by the network, but too much for validators to process. That, in turn, led to forks that could not be pruned fast enough, destroying network consensus and forcing a human-coordinated restart.
It's important to note that while the Solana pause has been blamed on “bots,” that doesn’t mean this was a malicious attack. Instead, automated bots were trying to win an NFT mint through the Candy Machine dapp, following the logic of a rational economic actor hoping to make a profit. In part because of the way transaction fees are set on Solana, it was apparently entirely rational for these agents to “spam” millions of transactions onto the chain.
It is somewhat strange, then, to see that the Candy Machine developers, Metaplex, announce it will implement “a botting penalty” within the dapp itself. It’s a fine gesture, just not a long-term solution. Solana, like all legitimate blockchains, can be used by anyone, so this change to a single dapp wouldn’t prevent anyone else from building another tool with the precise dynamics that brought the network down. At least at first glance, it seems Solana’s fee mechanism may be the more fundamental challenge.
But revising Solana’s fee structure could be a messaging problem for the system’s backers. Like many purported “Ethereum killers,” Solana has been marketed to a significant degree based on its ability to handle more transactions faster and for lower cost than the Second Chain. Solana’s homepage currently touts “Low cost, forever. Solana's scalability ensures transactions remain less than $0.01 for both developers and users.”
But it seems increasingly likely those fees are artificially low. Solana had a similar shutdown last September, caused by a similar surge in transaction demand. A postmortem written by developers said the outage was “in effect, a denial of service attack,” or what could again broadly be described as transaction spam. Bots and excess spam have been linked to nearly a dozen chain pauses on Solana in recent months.
So as frustrating as it can be to have Ethereum’s fees spike to $24 or $70 or, who knows, someday even higher, it may be worth the trade-off if those high fees help discourage activity that risks throwing the network out of consensus. Pick your poison: low fees on a chain that could collapse when transaction demand outstrips blockspace; or unpredictable, sometimes very high fees on a stable chain. The good news is there is a lot of ongoing work to escape the horns of that dilemma, with possible solutions including sharding and parachains.
Another fix on the table would be major projects like Bored Apes spinning up their own independent layer 1 blockchains, which Yuga Labs may be planning. But that has its own trade-offs because it would almost certainly involve some form of cross-chain bridge, and those seem increasingly risky in their own right.