Are your recent transactions on Solana always failing? The current ecosystem is filled with many junk transactions, exacerbating a vicious cycle. This article is derived from an article by nishil, compiled, translated, and written by Foresight News.
(Previous summary: SOL falls below $170》FTX’s 66% discount “super cheap” sold to institutions, will it crash the market? How long is the lock-up period?)
(Background supplement: Can the explosive growth of Solana challenge Ethereum’s position?)
Many users may still be unclear why their transactions on Solana have been failing recently. Let’s start analyzing from the most basic content— from the perspective of users, when we conduct transactions, three things basically happen:
1. The transaction is successfully executed without any errors.
2. The execution fails, for example, gas fees are paid, but an error is returned during the execution. This usually happens when the execution conditions are not met, such as attempting to mint tokens that have already been minted or slippage exceeding the set value due to price fluctuations, etc.
3. The transaction is not delivered. Such transactions do not appear anywhere, indicating that they have not reached the “Block Leader” responsible for processing transactions during a certain time period. This is the situation many users are currently facing. It is a network layer issue, not a consensus/execution layer issue.
You may wonder, what is the network layer? Rest assured, we will discuss these undelivered transactions and why they are the main cause of congestion on Solana. But before that, let’s focus on those failed transactions because it is important to understand that the failed transactions are not the main issue causing a poor user experience on Solana.
If you observe carefully, you may be surprised to find that only about 8% of these failed transactions come from real users, while the rest are cases of failed arbitrage transactions executed by on-chain bots. Arbitrageurs send a large number of junk transactions to Solana because the cost of sending junk transactions is negligible compared to the returns from successful arbitrage.
For example, they can send junk transactions to Solana multiple times a day, which will cost them a few hundred dollars (because Solana’s fees are low), and they only need to complete one transaction to earn profits as high as $100,000.
Therefore, an important point is that these failed transactions do not indicate a problem with Solana’s activity. The Solana network is executing as expected, so these failed transactions are simply due to the unmet trading conditions of the bots and not the main reason for the current poor user experience on Solana.
In fact, since November last year, Solana’s transaction failure rate has remained at around 50%. If you review the failed and successful transaction charts I listed above, you will find that the situation was similar before.
Now let’s discuss the main reason for Solana’s recent congestion— “undelivered transactions.” As mentioned earlier, these transactions failed to reach the “Block Leader” and were discarded due to network layer issues.
The network layer is the communication layer of the Internet, used to transmit data packets between different connections, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), QUIC (designed by Google), etc.
Solana has recently upgraded to use QUIC as its network layer, which helps establish connections between users and Block Leaders. And since Solana has continuous block production capacity and no memory pool, losing the connection means that transactions will not be written into blocks.
QUIC allows Block Leaders to cut off certain users’ connections or limit their speed based on specific criteria. Therefore, Block Leaders can now abandon certain connections when there is high demand on the chain. In other words, this new architecture prevents Solana from stopping execution when network activity increases—although the network may be very congested at this time, it will not come to a halt.
So you may ask, if everything about QUIC is designed so well, why is Solana so bad now?
The problem is that even though Block Leaders can now limit certain connections, the logic of “which connections to limit” is poorly executed and flawed.
To better understand, let’s imagine that under normal circumstances, each Block Leader has X connections available for communication. During peak activity periods, Block Leaders will start receiving 10-100 times more connection requests…
At this point, Block Leaders can choose to abandon some connections, but the problem is that these connections are currently not discarded based on a set of established criteria (such as discarding all connections with fees lower than X), but are randomly discarded…
So essentially, to have your transaction included, you have to send more junk transactions than others. And because multiple bots send connection requests to the network, it becomes increasingly difficult for regular users to establish connections and complete transactions.
This is the main point of the problem. Teams like Firedancer, Anza, Solana, etc., are working hard to fix the network layer, and these updates are being rolled out gradually. Some major updates are said to be released in the coming weeks.
Will this solve the problem? Will Solana soar again? Not entirely. There are three reasons why there is still a long way to go in preventing future congestion:
1. The current fixes cannot guarantee how effective they will be in preventing future congestion on Solana. The actual effect can only be known when they are implemented.
2. Jump Crypto’s Firedancer may indeed solve these problems, but it will not be released until the end of this year.
3. The issue of network junk transactions, that is, the transaction economics of Solana, has many problems that prevent malicious users from sending junk transactions to abuse the network.
Related report