- Recently, 75% of the transactions in Solana had transaction failures.
- The core problem reportedly stems from an Agave client implementation and a QUIC implementation.
About 75.7% of all transactions involving the transfer of native SOLs across smart contracts failed on April 5, up from 75.5% the day before. Let’s see what’s happening behind the scenes.
Three things can happen when a person makes a deal, according to their perspective:
1. Success: Transaction is executed error-free and successfully.
2. Failure to execute: although the gas is paid for, the execution returns an error. This occurs when there’s a possibility that the requirements weren’t fulfilled, such as when the mint they’re attempting to purchase is sold out or the slippage surpasses since the price rose quickly.
3. Dropped Transactions: In this instance, the transaction hasn’t reached the block leader because it doesn’t show up anywhere. Currently, the majority of users are seeing this. This is not an issue with consensus or execution; rather, it is a networking layer issue.
Pic Credit: Dune Analytics
These missed packets are the primary cause of congestion on Solana Road. It’s important to comprehend why failed attempts aren’t the primary problem.
Network Spam Remains an Issue
Onchain bots are responsible for the remaining ~8% of these unsuccessful transactions, which are not attempted by real people. Because the costs associated with spamming are small in comparison to the profits from a profitable arbitrage, the arbitrageurs spam the chain.
Because Solana has cheap fees, they can spam the chain several times a day for only a few hundred dollars. All they need to do is complete one transaction to make a profit of up to $100,000.
It’s important to remember that these failed transactions do not indicate a liveness failure; rather, the blockchain is operating as planned, with the exception of a small number of bot transactions that failed due to improperly intended transaction conditions. But this isn’t the cause behind Solana’s poor user experience.
Since October-November last year, Solana has consistently had about 50% of transactions fail. It was similar in the past as well, and this is evident if we look back at the failed vs. successful transactions.
But what about “the transactions that never made it,” which is the primary reason for the traffic jams on Solana during the past few days. These are transactions that were dropped due to networking layer problems, and did not reach the block leader.
Data packets are sent from one connection to another via the internet’s networking layer, which is also its communication layer. Recently, Solana upgraded to employ QUIC as its networking layer, which facilitates the establishment of a connection between the block leader and a user.
Furthermore, because Solana lacks a mempool and produces blocks continuously, losing a connection would prevent transactions from appearing on the block.
Block leaders can utilize QUIC to rate limit or disconnect select user connections based on predefined parameters. Block leaders can now discontinue certain connections during periods of excessive demand. Because of this improved architecture, Solana won’t stop when network activity is higher. It may be impractically clogged, but at least it won’t stop entirely.
Block leaders can now throttle certain connections, although the algorithm determining which connections to throttle has been implemented erratically and is not well-tested. However, at the moment, these connections would be discarded at random rather than according to a predetermined criterion (such as dropping all with less costs).
In essence, you need to spam more people than them to win. Additionally, it is more and more difficult for normal users to connect to the network and complete their transactions because numerous bots constantly bombard it with connection requests.
The Solana ecosystem is in the process of delivering networking layer updates. Some significant patches are expected to be released over the next few weeks, while the rest are being rolled out.
But there’s no assurance that the existing solutions will be effective in averting the next Solana traffic issue. We won’t know until we witness it in action.
Other networks have also failed these issues in the past. Why are there so many Layer 2’s on Ethereum?
For a while in the past, Ethereum was unusable due to CryptoKitties. It caused various design choices to be reconsidered, which contributed to the development of the robust eth L1 that exists today. The Shanghai attacks in 2016 also brought about a rethink.
L1 networks are put to the test in these crucial moments and they either succeed or fail.
Solana’s average “true transactions per second” is 700+, which is around six times the daily average of all L2s plus the L1 combined, even in its poor form right now.
The network might still overcome Solana’s own set of difficulties, much as Ethereum did many years ago.
As transactions on Solana are executed continually, they are executed in a manner akin to first in, first out. Moreover, the most effective way to optimize the network’s fastest inclusion probability is, ironically, to bombard it with transactions due to its feeble assurances and absurdly low base fee cost.
Disclaimer : This article was created for informational purposes only and should not be taken as investment advice. An asset’s past performance does not predict its future returns. Before making an investment, please conduct your own research, as digital assets like cryptocurrencies are highly risky and volatile financial instruments.