Are your recent transactions on Solana always failing? The current ecosystem is filled with many garbage transactions, which exacerbates a vicious cycle. This article is sourced from an article by Nishil and compiled, translated, and written by Foresight News.
(Prior Summary:
SOL falls below $170》FTX discount 66% “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 shake Ethereum’s position?
)
Many users may still be unclear why their transactions on Solana are always failing recently. Let’s start analyzing from the most basic content — from the user’s perspective, there are basically three things that happen when we make transactions:
1. The transaction is successfully executed without any errors.
2. The execution fails, such as paying gas fees, but returning an error during the execution process. This usually occurs when the execution conditions are not met, for example, when attempting to mint tokens that have already been minted or when slippage exceeds the set value due to price fluctuations.
3. The transaction is not delivered, and such transactions do not appear anywhere, indicating that they have not yet reached the “Block Leader” responsible for processing transactions during a certain period of time. This is the situation many users are currently facing, which is a network layer problem rather than a consensus/execution layer problem.
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 these failed transactions are not the main problem causing 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 garbage transactions to Solana because the cost of sending garbage transactions is negligible compared to the returns brought by successful arbitrage.
For example, they can send garbage transactions to Solana multiple times a day, which will cost them a few hundred dollars (because Solana fees are low), and they only need to complete one transaction to earn profits of up to $100,000.
Therefore, an important point is that these failed transactions do not mean that Solana’s activity is problematic. The Solana network is functioning as expected, so these failed transactions are ultimately caused by the unmet transaction conditions of the bots, rather than being the main reason for the poor user experience on Solana.
In fact, since November last year, the failure rate of Solana transactions has been around 50%. If you review the failure and success charts I listed above, you will find that the situation was similar before.
Now let’s discuss the main reason for the recent congestion on Solana — the “undelivered transactions”. As mentioned earlier, these transactions did not 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 QUIC as its network layer, which helps establish connections between users and “Block Leaders”. And due to Solana’s continuous block production capability and lack of a memory pool, losing connections means transactions will not be written into blocks.
QUIC enables “Block Leaders” to disconnect certain users or limit their rate of connection 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 in such a bad state 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 for dialogue. During peak activity periods, “Block Leaders” will start receiving 10-100 times more connection requests…
At this time, “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, for your transaction to be included, you have to send more garbage transactions than others. And because multiple bots are sending connection requests to the network, it becomes increasingly difficult for regular users to establish connections and complete transactions.
This is the crux of the main problem. Teams such as Firedancer, Anza, Solana, etc., are working to fix the network layer, and these updates are being rolled out gradually. Some major updates are said to be released in the next few 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 the future:
1. The current fixes cannot guarantee how effective they will be in preventing congestion on Solana until they are actually applied.
2. Jump Crypto’s Firedancer may indeed solve these issues, but it will not be released until the end of this year.
3. The problem of network garbage transactions, that is, the transaction economics of Solana, has many issues that cannot prevent malicious users from sending garbage transactions to abuse the network.
Related Reports