Bitget App
Trade smarter
Buy cryptoMarketsTradeFuturesCopyBotsEarn

Why do my Solana transactions keep failing?

BlockBeats-Article2024/04/08 03:44
By:BlockBeats-Article
Original author: nishil
Original translation: Frank, Foresight News


I believe many users still don’t know why their transactions on Solana always fail recently?



Let’s start with the basics - from a user’s perspective, when we make a transaction, basically three things happen:

1. The transaction is executed successfully without any errors;

2. Execution failed, for example, the Gas fee is paid, but an error is returned during execution. This usually happens when the execution conditions are not met, such as the tokens being minted have already been minted, or the slippage exceeds the set value due to price fluctuations;

3. Undelivered transactions, such transactions will not appear anywhere, indicating that the transaction has not yet reached the “block leader” (Block Leader, Foresight News Note, the validator responsible for processing transactions in a certain period of time), which is exactly what many users are currently experiencing. This is a network layer problem, not a consensus/execution level problem;



You may be wondering, what is the network layer?


Rest assured, we’ll discuss these undelivered transactions later, and why they are the main cause of Solana congestion right now. Until then, let’s focus on the failed transactions, because it’s important to understand why failed transactions are not the main problem.


If you look closely, you might be surprised to see that only about 8% of these failed transactions are from real users, the rest are cases of on-chain bots executing failed arbitrage trades: arbitrageurs flood Solana with junk transactions because the cost of sending junk transactions is negligible compared to the rewards from a successful arbitrage.



For example, they could send junk transactions to Solana multiple times a day, which would cost them a few hundred dollars (because Solana’s fees are so low), while they could make up to $100,000 in profit just by completing one transaction.


So it’s important to note that these failed transactions do not mean there is a problem with Solana’s activity - the Solana network is running as expected, so these failed transactions are just the result of the bots’ transaction conditions not being met, and are not the main reason for Solana’s poor user experience at the moment.


In fact, Solana’s transaction failure rate has remained around 50% since November last year, and if you look back at the failure and success charts I listed above, you’ll find that the situation was similar before.


Now let’s talk about the main cause of Solana’s congestion in the past few days - “undelivered transactions”, as mentioned earlier, these transactions failed to reach the “block leader” and were discarded due to problems at the network layer.


The network layer is the communication layer of the Internet, used to send data packets between different connections, such as: TCP (Transmission Control Protocol), UDP (User Datagram Protocol), QUIC (designed by Google), etc.


And Solana has just recently upgraded QUIC as its network layer, which helps to establish connections between users and "block leaders", and Since Solana has continuous block production capabilities and no memory pool, losing the connection will mean that the transaction will not be written into the block.



QUIC enables "block leaders" to cut off the connection of certain users or limit their rate based on specific criteria. Therefore, "block leaders" can now abandon certain connections when the on-chain demand is high, that is, This new architecture prevents Solana from stopping when network activity increases-although the network may be very congested at this time, at least it will not stop.


So you might ask, if everything about QUIC is designed so well, why is Solana so bad now?


So the problem is, even though Block Leaders can now throttle certain connections, the logic for exactly which connections to throttle is poorly implemented and flawed.


To understand better, let’s imagine that if under normal circumstances each Block Leader has X number of connections to talk to, then during peak activity, the Block Leaders start receiving 10-100x the number of connection requests…



At this point the "block leaders" can choose to drop certain connections, but the problem is that these connections are currently not dropped according to a set set of criteria (like dropping all connections with a fee less than X), but are dropped randomly...


So in essence, you have to send more junk transactions than everyone else to get your transaction included, and with multiple bots sending connection requests to the network, it becomes increasingly difficult for regular users to establish connections and complete transactions.


This is the gist of the main problem, teams like Firedancer, Anza, Solana are working hard to fix the network layer, these patches are being rolled out, and some major patches are said to be coming in the next few weeks


Does this solve the problem? Will Solana take off again? Not entirely, and there are three reasons why there is still a long way to go:


1. There is no guarantee how effective the current fixes will be in preventing Solana from having congestion problems next time, and we won’t know until they are actually applied;

2. Jump Crypto’s Firedancer may indeed solve these problems, but it will not be released until the end of this year;

3. The problem of network spam transactions, that is, there are many problems with Solana’s transaction economics, and it is impossible to prevent malicious users from sending spam transactions to abuse the network;


Original link


欢迎加入律动 BlockBeats 官方社群:

Telegram 订阅群: https://t.me/theblockbeats

Telegram 交流群: https://t.me/BlockBeats_App

Twitter 官方账号: https://twitter.com/BlockBeatsAsia

0

Disclaimer: The content of this article solely reflects the author's opinion and does not represent the platform in any capacity. This article is not intended to serve as a reference for making investment decisions.

PoolX: Locked for new tokens.
APR up to 10%. Always on, always get airdrop.
Lock now!