Solana Gets Slammed
By Jack Inabinet
Compiled by: Lucy, BlockBeats
Editor's note: According to Messari's latest Solana Ecosystem Report for the first quarter of 2024, Solana's average daily DEX spot trading volume in the first quarter increased by 319% year-on-year to US$1.5 billion. Solana has become a major venue for retail users and memecoin transactions. However, on April 5, according to Dune data information, the Solana network user transfer failure rate was as high as 76.8%. It is reported that the core problem is related to the QUIC implementation and the behavior of the Agave validator client when processing a large number of requests.
Jack Inabinet, the author of bankless, wrote an article describing the solution to the transaction chaos of the Solana network. Jack Inabinet pointed out that as the amount of spam increases, more and more transactions are discarded, causing unnecessary trouble to real users. Some people believe that the key to solving the problem lies in continuous technical fixes, while others believe that solving it through economic means is a more effective way.
Trading is turbulent. Solana’s most staunch defenders have long insisted that failed trades only affect bots, but in recent days the Solana chain has become all but unusable for regular users. Why can’t trades be completed on Solana, and how can the chain be improved?
ORE is a mineable token that was deployed to Solana on April 2, offering those who deposit SOL into smart contracts the opportunity to earn protocol rewards of 1 ORE per minute by correctly solving a cryptographic puzzle similar to a proof-of-work operation.
Since yesterday afternoon, ORE miners have been creating around 1 million transactions per hour, significantly increasing congestion on Solana, while the chain can only process around 30 million non-voting transactions a day.
Some charts have appeared on Crypto Twitter showing a rise in Solana’s non-voting transaction failure rate, but they fail to accurately reflect the severity of the problem because the statistic only includes transactions that have reached the chain, and most users’ transactions fail before they even make it to the chain.
Under Solana’s current fee paradigm, the cost of spamming the network is effectively 0, as transactions have no substantive base fee; ORE mining has commercialized spamming by giving users a reason to fund smart contracts that send tens of thousands of transactions in the hope that at least one of them will succeed.
Tweet translation: Last night, 1 of the $25,000 ORE transactions went live on Solana’s Beta mainnet.
The increase in spam leads to more transaction failures because block producers can only open a limited number of connections at a time when ordering transactions.
As bots generated spam more efficiently, real human users disproportionately borne the consequences, often finding themselves unable to transact on the network no matter how much they raised gas fees.
Tweet Translation
Solana’s network stack (QUIC) is poorly implemented and does not handle spam well.
If everyone spams, a lot of transactions will be dropped because a block leader can only handle a limited number of connections at a time.
Bots are much better at sending spam than humans, so users are the worst affected and most likely to be discarded.
To win, you have to send more spam than everyone else.
More specifically, nodes or bots that are more aggressive in spamming will be more likely to succeed with little to no penalty.
If this were done at a scale like Helius, where, for example, we were regularly processing more than half of all transactions, then this would bog down the chain, so it's not feasible, it's a shared tragedy.
Since this happens before the scheduler, it's unclear whether 1.18 will fix this (probably not).
This also means that increasing fees won't help, so increasing fees above a certain median is just a waste of money.
By the way, the failed trades chart that keeps popping up is not a good way to assess user impact, since most users never make it to the beginning LOL. About 95% of the entire chart is just failed bot arbitrage attempts
While many within the Solana ecosystem believe that there is “no silver bullet” to address the increased frequency of discarded transactions, and instead hope that ongoing technical fixes to address network issues will bring improvements, others point out that a proven economic solution is an obvious solution.
Ethereum’s EIP-1559 upgrade introduced a dynamic mechanism to adjust the base gas fee paid by users based on the variable demand for block space. Implementing a similar mechanism in Solana would increase the cost for spammers to pay the base fee to send a transaction, thereby reducing the amount of spam on the network.
Without base fees, Solana will fail 80% of transactions. Accept the fees, it’s a good mechanism.