In-depth analysis: How did Solana get blocked?
Original author: Nishil Jain (Head of Ecological Cooperation at Biconomy)
Compiled by: Odaily Azuma

Why are transactions on Solana currently failing?
Let’s break it down step by step, starting with the most basic concepts.
From a user perspective, when we trade on Solana, there are essentially three potential outcomes:
Transaction executed successfully,everything is normal;
Transaction execution failed, the user has paid the gas fee, but the execution result returns an error. This happens when conditions are not met for a transaction, such as the token the user is trying to buy is sold out, or the price moves too quickly (beyond a preset slippage), etc.;
Transaction lost (Dropped): The transaction has no trace, that is, the transaction failed to reach the block leader node (Odaily Note: the duty node that rotates every 4 blocks).This is the situation that most users are currently encountering. Essentially, this is a network layer problem, not a consensus layer or execution layer problem.
Execution issues are not the main cause of congestion
Now you may ask, what is the network layer? Why are transactions lost? Why are they said to be the main cause of current congestion in Solana?
Let’s put aside these most important issues for the time being, and first look at those transactions that failed to execute (i.e. the second case), and explain why failed transactions are not the main cause of congestion.
Combining the data on the chain, it can be seen that only about 8% of all transactions that failed to be executed were submitted by real users, and the rest were arbitrage transactions initiated by on-chain robots.

The reason why arbitrageurs continue to initiate junk transactions is because the cost of frequently initiating transactions can be said to be minimal compared with the potential profits that can be obtained from successful arbitrage.
Specifically, arbitrageurs can continuously initiate transactions within a day. The cost of doing so is about a few hundred dollars a day (because Solana’s network fees are low), but as long as they can succeed in one transaction, they may earn tens of dollars. Thousand-dollar profits.
It should be noted that these failed transactions do not mean that the Solana network has failed and the blockchain is still running normally. These are just some robot transactions that failed because the conditions were not met. This is not the main reason for Solana’s current bad experience.
In fact, since November last year,Solanas transaction failure rate has remained around 50%.

The real reason: Transactions were dropped at the network layer
Now, let’s discuss the real cause of Solana’s congestion over the past few days – “lost transactions.”
As mentioned above, these are transactions that failed to reach the block leader node.Transactions fail to arrive because they are dropped at the network layer.
The network layer is the communication layer of the Internet. It is used to send data packets from one endpoint to another. Common network layer protocols include TCP, UDP, QUIC (developed by Google), etc. Solana previously upgraded its network layer protocol to QUIC, which helps establish connections between users and block leader nodes.
Since Solana uses a continuous block generation mechanism and there is no mempool to temporarily store unconfirmed transactions, this means that once the connection is lost, the transaction will never be included in a block again.

The advantage of the QUIC protocol is that block leader nodes gain a new functionality:Cut off certain users connections or limit their data transfer rates based on specific criteria.
The significance of this function is that,When peak network demand occurs, the block leader node can proactively cut off certain connections, thus preventing Solana from completely shutting down due to increased network activity.
You may be wondering again, if the design of the QUIC protocol is so perfect, why is Solana still so blocked now?
The real problem is that while “block leaders” can now choose to actively moderate certain connections, the logic of deciding which connections need to be moderated is problematic.

In order to understand this problem more concretely, we can imagine a situation where each block leader node has X connections that can communicate. But when the network demand peak occurs, the node receives The connection requests are 10 to 100 times its carrying capacity... At this time, the node needs to choose to cut off some connections. However, the current situation is thatThere is no set standard for how to select connections that will be cut off (for example, cut off all connections with a cost less than xxx), and whether all connections will be cut off is random...
Ultimately, in the current situation if you want a transaction to be confirmed, all you can do is send more transaction requests, but since there are many bots that are also constantly sending a large number of connection requests to the network, ordinary users establish a connection and complete the transaction It becomes increasingly difficult.
How to fix it? how long it takes?
This is the problem Solana faces now.
Currently, teams such as Jump (Firedancer client development team), Anza (Agave client development team), Solana Labs and other teams are working on repairing the network layer. Fixes will be rolled out gradually this week, and some heavyweight updates are expected to be released in the coming weeks.
Will this effectively solve the problem? Will Solana to da moon again... theres no absolute answer.
There are three main reasons why there are still many uncertainties:
First, no one can guarantee whether the upcoming repair patch will take effect. Only after it actually works can we see what actually happens.
Second, the Firedancer client developed by Jump seems to be able to solve the problem, but it will not be officially released until the end of this year.
The third is the issue of junk transactions. Solanas economic mechanism makes it difficult for the network to prevent malicious actors from continuing to conduct junk transaction attacks on the chain.
Finally, I want to appeal to everyone to realize one thing: I believe Solana is fighting to make the right trade-offs (Odaily Note: Refers to setting reasonable connection segmentation standards), just like Ethereum once got rid of many problems , Solana will eventually get rid of these problems.


