很少有甚麼,比一筆在「待處理」上懸了一個鐘頭的交易、或一筆失敗了卻仍收你費的交易,更讓新用戶不安。二者都是區塊鏈運作方式的正常部分,而一旦你理解正在發生甚麼,二者都可修復、或可避免。以下是交易為何會卡住或失敗,以及在每種情況下該做甚麼。
待處理、卡住與失敗
這三個詞,描述不同的狀態,而把它們混淆,會引起不必要的恐慌。一筆待處理的交易,已被廣播、正在排隊等待被納入——在一段時間裏,完全正常。一筆卡住的交易,因為它的費用太低而無法被選中,待處理了異常地久。一筆失敗的交易,相比之下,實際被處理了,卻沒有完成它意圖的動作。知道你身處哪個狀態,就告訴你該等待、干預,還是調查。
一筆交易為何會卡住
一筆交易,本質上是在競標一個區塊裏的空間。如果你設了一個對當前需求而言太低的費用,驗證者就乾脆偏愛付得更高的交易,而你的等待着,有時長達數小時。還有第二個、更狡猾的原因:你錢包發出的每一筆交易,都帶着一個叫 nonce 的順序編號,而它們必須按順序確認。如果一筆早先的、低費的交易停滯了,每一筆之後的都被堵在它後面,即便那些之後的付了很多。
如何讓一筆交易脫困
因為一筆待處理的交易尚未最終,你可以替換它。標準的工具是 replace-by-fee (按費替換):你用相同的 nonce 、但更高的費用,重新提交一筆交易,而驗證者採用那個付得更好的版本。錢包通常把這暴露為一個「加速」按鈕。如果你寧願它永不執行,你就發一筆「取消」——一筆用相同 nonce 、與更高費用、發給你自己的零值交易,它轉而佔據那個位置。無論哪種,清掉那個卡住的 nonce ,也釋放了排在它後面的一切。
一筆交易為何失敗、卻仍花錢
一筆失敗的交易,感覺不公平,因為你仍被收費,但那邏輯是一致的:驗證者做了真實的工作去執行它,所以無論結果如何,他們都必須被付錢。常見的原因包括:用盡了你分配的 gas 、一個智能合約以一次回滾拒絕了那個動作,或一次兌換,因價格移動超出了你的滑點容忍度而失敗。區塊鏈記錄下這次嘗試、並消耗掉那 gas ,即便你的資金在其它方面留在了原處。
讀懂並避免那個錯誤
一個區塊瀏覽器,通常會顯示一筆交易為何失敗,往往帶一個簡短的原因,如「gas 耗盡」、或一條合約的錯誤消息。為了避免失敗,讓你的錢包去估算 gas 、而非強設一個低的上限,在波動的兌換上設一個現實的滑點容忍度,並對可能回滾的、不熟悉的合約保持謹慎。當某事反覆失敗,那往往是合約在告訴你,這個動作當前無法成功,而非一個可以蠻力破解的問題。
結語
卡住與失敗,是有着不同修復的、不同的問題。一筆卡住的交易,是在等一個對需求而言太低的費用,靠加速它、或取消它來解決,記住那 nonce 的順序,堵着它後面的一切。一筆失敗的交易,已經運行過、卻無法完成,仍花掉 gas ,最好用明智的 gas 與滑點設置來預防。二者都不是無望之事——一旦你懂得那些招法,它們都是家常便飯。
免責聲明:本文為幣貝學院提供的教育內容,僅供參考。不構成投資、交易、稅務或財務建議。撰寫於 2026 年 7 月;請以最新官方信息為準。
參考資料
[1] MetaMask, "Speed up, cancel, or resubmit a transaction" metamask.io
[2] Blocknative, "Understanding stuck and dropped transactions" blocknative.com






