你最近在Solana上的交易一直失敗嗎?當前生態充斥許多垃圾交易,從而加劇惡性迴圈。這篇文章是由Foresight News整理、編譯及撰稿,原文來自nishil所著的文章。
相信不少使用者還不清楚,為什麼最近他們在Solana上的交易總是失敗?讓我們從最基礎的內容開始分析。從使用者的角度來看,當我們進行交易時,基本上會發生三件事:
1. 交易成功執行,沒有任何錯誤;
2. 執行失敗,譬如支付了Gas費,但執行過程中返回錯誤,這通常發生在未滿足執行條件的情況下,例如嘗試Mint的代幣已經鑄造完畢,或者由於價格波動導致滑點超過設定值等;
3. 未送達交易,此類交易不會出現在任何地方,說明交易尚未到達「區塊領導者」那裡,這正是許多使用者當前遇到的情況,這屬於網路層問題,而非共識/執行層面的問題。
你可能會疑惑,網路層是什麼?放心,稍後我們就會討論這些未送達的交易,以及它們為何是當前Solana擁堵的主要原因。在此之前,讓我們來聚焦那些失敗的交易,因為理解為什麼失敗的交易不是主要問題這一點很重要。
如果仔細觀察,你可能會驚訝地發現,這些失敗交易中只有大約8%來自真實使用者,其餘的都是鏈上機器人執行套利交易失敗的案例。套利者會向Solana大量傳送垃圾交易,因為與成功套利帶來的回報相比,傳送垃圾交易的成本微不足道。
例如,他們可以每天多次向Solana傳送垃圾交易,這將花費他們幾百美元,而他們只需要完成一筆交易就可以賺取高達10萬美元的利潤。
因此,重要的一點是,這些失敗的交易並不意味著Solana的活躍度出現問題。Solana網路正在按預期執行,所以這些失敗的交易只是由於Bot們的交易條件不滿足而最終導致的,並不是目前Solana使用者體驗不佳的主要原因。
事實上,自去年11月以來,Solana的交易失敗率一直保持在50%左右。如果你回顧一下我上面列出的失敗與成功圖表,你會發現之前的情況也差不多。
那現在就讓我們討論一下過去幾天Solana擁堵的主要原因,即「未送達的交易」。正如前面提到的,這些交易未能到達「區塊領導者」,並且由於網路層的問題而被丟棄。
網路層是網際網路的通訊層,用於在不同的連線之間傳送資料包,例如TCP、UDP、QUIC等。Solana最近剛剛升級QUIC作為其網路層,它有助於在使用者和「區塊領導者」之間建立連線。由於Solana具有持續的區塊生產能力並且沒有記憶體池,丟失連線將意味著交易不會寫入區塊。
QUIC使「區塊領導者」能夠根據特定標準切斷某些使用者的連線或限制其速率。因此,「區塊領導者」現在可以在鏈上需求高企時放棄某些連線。也就是說,這種新架構可防止Solana在網路活動增加時停止執行。雖然網路這時可能會非常擁擠,但至少不會停下來。
所以你可能會問,如果QUIC的一切都設計得如此好,為什麼Solana現在這麼糟糕?
問題是,即使「區塊領導者」現在可以限制某些連線,但具體「要限制哪些連線」的邏輯卻執行得很差,而且存在缺陷。
為了更好地理解,讓我們想像一下,如果正常情況下每個「區塊領導者」都有X個可以對話的連線,那在活動高峰期,「區塊領導者」就會開始接收10-100倍數量的連線請求。
這時「區塊領導者」可以選擇放棄某些連線,但是問題在於,這些連線目前並不是根據一組既定的標準被丟棄,而是被隨機丟棄。
所以本質上,要想你的交易被打包,你必須比其他人傳送更多垃圾交易。而且由於有多個機器人會向網路傳送連線請求,普通使用者建立連線和完成交易變得越來越困難。
這就是主要問題的要點。Firedancer、Anza、Solana等團隊正在努力修復網路層,這些更新正在陸續推出。一些主要更新據說將在未來幾周內推出。
這就能解決問題了嗎?Solana會再次騰飛嗎?並不完全是。導致未來還有很長的路要走的原因有三個:
1. 無法保證當前的修復措施在防止Solana下次出現擁堵問題方面會有多大效用,只有等到實際應用時才能知道效果如何;
2. Jump Crypto的Firedancer可能確實能解決這些問題,但它要到今年年底才會釋出;
3. 網路垃圾交易問題,也即Solana的交易經濟學存在諸多問題,無法阻止惡意使用者傳送垃圾交易來濫用網路。
相關報導:(請參閱原文)