當你出價過低時,多數網路都提供逃生出口。比特幣支援 replace by fee,允許你用更高手續費重新廣播同一筆交易,並以此覆蓋原交易。另一個相關技巧是 child pays for parent:附上一筆高手續費的後續交易,花掉那筆卡住交易的輸出,讓礦工有動機把兩筆一起確認。在以太坊上,錢包能讓你用相同 nonce、較高的 gas price 重新送出一筆交易,從而取代待處理版本。知道這些工具存在,會把「卡住的交易」從緊急事件變成單純的不便。
當你的交易卡住時,診斷幾乎總是相同:你的手續費低於現行的行情費率。你的選項(大致依照優先順序)是:等擁塞緩解;用 replace by fee 或 nonce 取代(nonce replacement)把費率調高;若支援 child pays for parent 就使用它;或在比特幣上,如果付款不再重要,就乾脆等它被淘汰(eviction)。你不該做的是驚慌。資金沒有消失。未確認交易要嘛最終被確認,要嘛就會在實質上不再存在;在後一種情況下,那些幣從沒離開你的錢包。
理解瀏覽器實際顯示的內容也有幫助。費用直方圖(fee histogram)告訴你:在每個手續費等級上,尚未確認的交易量有多少,進而讓你知道清算價格現在落在何處。預估區塊(projected blocks)視圖會顯示:如果接下來立刻產生區塊,哪些交易會填滿接下來的幾個區塊,因而能知道佇列比你提前多深。而在比特幣的瀏覽器中,purge line 會顯示節點正在主動淘汰交易的那個費率門檻——也就是市場的有效下限。花十分鐘學會這三種讀值,第一次費用飆升時就會覺得值得。
什麼是 Mempool?加密貨幣的交易等候室
你按下送出加密交易,但什麼都沒有發生。錢包顯示為「待處理」。區塊鏈瀏覽器顯示你的交易像是漂在半空中、尚未被確認,沒有明確跡象顯示它會在何時,或是否會被寫入。
多數人第一次在這個時刻遇到 mempool,正是剛剛那種輕微恐慌的瞬間;而他們找到的大多數建議,都假設他們已經知道 mempool 是什麼。本指南從零開始。
mempool 是 memory pool 的縮寫,意思是等待室:每一筆區塊鏈交易都會在你廣播它到「礦工或驗證者將它寫入區塊」之間的這段時間,待在這裡。它是公有區塊鏈中其中一個最不那麼炫目的組件,但也同時是其中影響最大的一個。mempool 决定你要付多少手續費、你要等多久;在某些網路上,它甚至會影響交易機器人是否能在你交易執行前先看到你的委託,並以你的損失獲利。理解它,會把「確認延遲」從一團謎變成可讀的市場訊號。
本指南會解釋 mempool 到底是什麼、為什麼區塊鏈根本需要等待室、交易如何一步步地在其中流動、費用市場如何決定誰會先被確認、為什麼不存在單一的 mempool,而是成千上萬彼此略有不同的 mempool、當佇列溢出會發生什麼、mempool 如何變成掠奪式交易機器人的狩獵場、為什麼 Solana 做出移除公開 mempool 的激進步驟,以及當你自己的交易卡住時,你可以採取哪些實際行動。
mempool 到底是什麼
mempool 是一個尚未被確認的交易資料庫,每一個區塊鏈網路上的全節點都會把它維護在自己的運作記憶體中。當你在錢包中簽署一筆交易並按下送出時,這筆交易不會被送往某個中央伺服器來處理,因為並不存在這樣的伺服器。相反,你的錢包會把已簽署的交易交給一個節點,該節點開始將交易散播給它的同儕;同儕再散播給各自的同儕,直到整個網路大多數節點都擁有一份副本。每個收到交易的節點都會執行一系列檢查;若交易通過,就把它放進本地 mempool 以等待。
這個詞本身是 memory 和 pool 的縮寫,而 memory(記憶體)這部分很重要。節點把 mempool 保存在 RAM 裡而不是寫到磁碟,因為重點就是速度。當礦工組裝一個候選區塊時,它需要在極短時間內,依照手續費把數千筆待處理交易排序,並挑出最有利潤的組合。當網路中的其他地方送來一個新區塊時,如果該區塊的大多數交易已經先在它自己的 mempool 裡(已檢查且隨時可用),節點就能更快地完成驗證。
mempool 是一個暫存區、是介於使用者活動那種混亂而連續的流動,與區塊生成那種嚴格且週期性的心跳之間的緩衝。
為什麼區塊鏈需要等待室
傳統的付款處理器會在交易一到達就立即確認,因為有單一家公司掌控帳本,能直接寫入該筆記錄。公有區塊鏈沒有這種權威。成千上萬個彼此獨立的節點必須就一段單一歷史達成一致,並且以離散的步驟、一次一個區塊來完成這個協議。在區塊之間,網路需要一個共同的、非正式的「接下來使用者想發生什麼」的圖像,而 mempool 就提供了這個圖像。
等待期間也執行關鍵的安全工作。在節點把交易納入 mempool 之前,它會驗證數位簽章是否有效、發送者是否確實控制被花費的資金、交易格式是否正確,以及是否存在同一批幣被重複花費的情況。這最後一項檢查比聽起來更重要。兩筆彼此衝突的交易都有可能同時從不同來源進入網路,且兩者都在花同一批幣。有些節點先看到其中一筆,有些節點先看到另一筆。每個節點會拒絕先收到的那個,並拒絕後面到達的那一筆衝突交易;直到礦工把其中一筆納入區塊,這場衝突才會最終落定。mempool 就是那些競跑被進行並解決的地方。
mempool 也扮演網路的早期警報系統。mempool 迅速填滿,意味著在尚未反映到已確認區塊之前,就已經出現了需求激增、恐慌、一個空投申領窗口,或是手續費飆升。交易者、礦工以及錢包的手續費估算器,都像氣象學家閱讀氣壓系統那樣閱讀 mempool。
一筆交易的生命週期:一步一步
追蹤一筆交易沿著流程走,能把運作機制講得更具體。第一步是建立:你的錢包會建立交易,指定金額、收款方,以及你願意支付的手續費,並用你的私鑰進行簽署。簽章用來證明所有權,但不會揭露私鑰本身。
第二步是廣播。錢包把已簽署的交易送到一個或多個節點;這些節點開始透過點對點網路把交易轉送出去。通常,交易在大多數網路上的傳播需要幾秒鐘;而這一步不需要信任第一個節點,因為每個後續節點在轉送之前都會獨立重新驗證交易。
第三步是驗證。每個收到交易的節點都會獨立檢查。無效交易、壞簽章、資金不足、資料格式錯誤,都會在當下被丟棄,且永遠到不了 mempool。
第四步是等待。交易現在會在網路上成千上萬個 mempool 中等待,對任何運行節點的人或使用公開 mempool 瀏覽器的人都可見。它等待多久,幾乎完全取決於附加的手續費,相對於其他人的手續費有多高。
第五步是選擇。在工作量證明(proof of work)鏈上,礦工或在權益證明(proof of stake)鏈上,驗證者,會從它的 mempool 中挑選待處理交易來組裝候選區塊;幾乎總是會依照手續費密度來排序,讓區塊能獲得最大獎勵。
第六步是確認。區塊被挖出或被提議,並被網路傳播與接收。每個節點會把該區塊的交易從自己的 mempool 移除,你的交易就成為這條鏈的一部分。每再多建一個接在上面的區塊,就會多一份確認,且「被撤回」的難度會呈指數級地變得更難。
費用市場如何決定誰先上場
區塊空間稀缺,而需求會波動,所以區塊鏈會用「拍賣」來配給空間。在比特幣上,手續費用 satoshis/virtual byte 衡量;這是一種交易資料大小的單位,因此交易的費率取決於你付了多少,以及交易佔用的空間多少。在以太坊上,費用是 gas:協定會燃燒基礎費(base fee),並把優先提示費(priority tip)給驗證者。在這兩套系統中,邏輯完全相同:區塊生產者是利潤最大化者,所以會先用最高付費的交易填滿區塊。
這意味著你在佇列中的位置並不是固定的。中午看起來價格很有競爭力的交易,若到了傍晚需求激增,可能會變得嚴重低價。錢包會透過讀取當下 mempool 來估算費用:看待處理交易們提供的手續費,以及最近幾個區塊有多滿,接著提出一個費率建議,目標是在你選定的時間窗口內能夠被確認。這些估算是有根據的猜測,而不是保證;在市場波動時,它們會很快失準。安靜的週日裡,如果某個費用剛好在下一個區塊被清算,你可能就會在清算連鎖裡等上好幾個小時,因為其他人的出價意願在你那筆交易仍原地不動時已經改變。拍賣永遠不會結束,而且會持續重新定價。
當你出價過低時,多數網路都提供逃生出口。比特幣支援 replace by fee,允許你用更高手續費重新廣播同一筆交易,並以此覆蓋原交易。另一個相關技巧是 child pays for parent:附上一筆高手續費的後續交易,花掉那筆卡住交易的輸出,讓礦工有動機把兩筆一起確認。在以太坊上,錢包能讓你用相同 nonce、較高的 gas price 重新送出一筆交易,從而取代待處理版本。知道這些工具存在,會把「卡住的交易」從緊急事件變成單純的不便。
沒有單一的 mempool
人們說「mempool」彷彿只存在某個地方的一條標準隊列,但現實更混亂,也更有趣。每個節點都維護自己的 mempool,而且沒有兩個節點的內容會完全一樣。交易進入不同節點的時間不同,節點採用略有差異的接收政策,而且每個節點都管理自己的記憶體上限。我們所說的 mempool,其實是成千上萬個私有隊列彼此之間的鬆散統計重疊。
實務上,重疊通常很大,因為多數節點運營者使用的是預設設定。典型的比特幣節點會把 mempool 限制在大約 300 MB 左右、最多保留兩週的交易,並拒絕任何支付低於約「1 satoshi/virtual byte」的最低轉送手續費的交易。當池子的大小超過容量上限,節點會先淘汰(evict)最低費率的交易,並提高最低接收門檻;因此在擁塞時,超級便宜的交易可能會整個消失,而不只是單純繼續等待。當它在所有地方都被淘汰之後,這筆交易就會在實質上等同於被取消,而資金只是仍然待在發送者的錢包裡、未被花出去。
mempool 的分散特性帶來一個微妙的後果:待處理狀態並不是承諾。一個在瀏覽器上顯示為 pending 的交易,只存在於某些節點記憶體中的一個「宣稱」。它可能會被淘汰、被取代,或被重複花費,直到它最終落在某個區塊裡才算數。接受「零確認付款」的商家會用最痛的方式學到這個教訓;而這也正是 51% 攻擊在鏈層級利用的機制:攻擊者重寫最近的區塊,並把被反轉的交易丟回 mempool,彷彿它們從來都沒有被確認過。2025 年對 Monero 的重組攻擊,正是用這種方式把一百多筆「已確認」交易推回到 pending 佇列。
政策、標準性,以及為什麼節點會拒絕「有效」交易
共識規則定義了區塊鏈會在區塊中接受什麼。mempool 政策定義的是「單一節點會保存與轉送什麼」,而這兩者並不完全相同。某筆交易在共識規則下可能完全有效,但仍可能被大多數 mempool 拒絕,因為它違反了比特幣開發者所說的 standardness(標準性):一種非正式的政策規則,用來過濾塵埃輸出(dust outputs)、過大的腳本(oversized scripts)、荒謬地低的手續費,以及可能給網路帶來負擔的異常交易型態。政策就像是節點層級的免疫系統,是第一道防線,確保共享隊列仍然可用。
這種差異會造成真實世界的困惑。被公開 mempool 拒絕的交易,仍然可能被挖出,只要它能直接送到礦工那裡;因此出現了某些服務,可以在不走常規通道的情況下接收非標準交易,並直接送進挖礦池。這也意味著你透過瀏覽器觀察到的那個 mempool,其反映的是該節點的政策,而不是某種普遍真理。兩個瀏覽器甚至可能對你的交易是否 pending 意見不同,原因只是它們的節點套用了不同的過濾器。
政策也會比共識更快演進。多年來,節點會反覆調整與資料銘刻(data inscriptions)、塵埃限制(dust limits)、以及取代行為(replacement behavior)相關的轉送規則;每一次改動都會在不碰到共識的情況下,重塑你看到的 pending 佇列長相。對使用者來說,實務上的結論很簡單:如果錢包警告交易為 nonstandard,通常問題不在資金本身,而在交易的組建方式。
mempool 也有一群較不那麼喧鬧的機構受眾。交易所會監控待處理的入金以更快入帳;合規團隊會在確認之前先篩檢進來的交易;付款處理器則透過檢查一筆交易正在被傳播得多好,以及是否存在任何衝突的花費在流通,來評估「零確認轉帳」的風險。一筆得到網路大多數 mempool 一致同意的交易,比起一筆傳播得很差的交易,被重複花費的可能性要低得多,而企業也會為這種差異定價。
擁塞、垃圾訊息,以及一個滿 mempool 的感受
mempool 擁塞就是網路在喘口氣。需求超過區塊空間,佇列就會變大,而為了能及時被確認所需的手續費也會上升。使用者會把它體驗成「手續費很貴」和「等待很久」。比特幣在 2017 年末的瘋狂、2020 年的 DeFi 夏季、NFT 鑄造浪潮,以及 2023 年的 ordinals 銘刻熱潮,都曾造成以「天」為單位的 mempool backlog:排隊中的交易數可能達到數十萬,且手續費費率會在一夜之間倍增。在最糟的階段,低費交易可能要等超過一週,節點運營者也會看到 mempool 的大小限制被撞到,接著開始把最便宜的流量趕出去(shedding)。
擁塞也能被人為製造。垃圾訊息攻擊會把大量低價值交易淹沒網路,堵塞佇列並讓其他人遭受更差的服務——這是一種廉價的拒絕服務(DoS)。網路會用最低轉送手續費、淘汰政策,最後還會回到經濟學來防禦:只要持續垃圾訊息就會讓攻擊者真的要付出金錢(手續費)。2017 年針對以太坊測試網的垃圾訊息攻擊展示了,當一條鏈的手續費壓力很弱時,淹水可以有多有效,而且它把「費用市場」的設計議題推到研究日程更靠前的位置。
擁塞也是資訊。當 mempool 變大、手續費一起上升,通常意味著緊急需求正在發生,多半與交易所操作(exchange runs)、清算連鎖(liquidation cascades),或重大市場變動相關。熟練的觀察者會像債券交易者看殖利率那樣看 mempool 深度;而有些分析公司則把這些資訊賣得很完整。
黑暗森林:MEV 與池中的觀察者
mempool 最定義性的特徵是「完全透明」,但這也是它最大的弱點。每一筆待處理交易在執行前都是公開的,這意味著任何人都能讀到你的意圖並搶先行動。在智慧合約鏈上,這促成了一整個圍繞最大可提取價值(MEV,maximal extractable value)的掠奪式產業:也就是任何掌控交易排序的人所能取得的利潤。
最典型的攻擊是三明治(sandwich)。機器人會在去中心化交易所(DEX)上看到你那筆價值較大的待處理換匯,先買同一種代幣把價格推高,讓你的交易在更差的價格成交,然後立刻賣出,獲利直接從你的成交執行中被切走。前置(front running)、後置(back running)、以及針對清算的狙擊(liquidation sniping)也基於相同原理:看到待處理交易、圍繞它佈局、把差價收割。有研究者曾經用一句話非常有名地把公開 mempool 描述為黑暗森林:任何能被看見的東西都會被獵殺。研究者估計,單就以太坊而言,從 2020 年以來,MEV 提取的金額就已進入數十億美元。
因應而生的防禦產業如今也相當龐大。像 Flashbots Protect 這樣的私有交易轉送(private transaction relays),讓使用者可以直接把交易送交給區塊建造者(block builders),跳過公開 mempool,這樣機器人就永遠看不到你的委託。批量拍賣的交易所(batch auction)也能在單一清算價格下結算許多筆交易,移除排序上的優勢。錢包也越來越多在預設情況下把大額交易導入受保護的通道。這些做法不會消除 MEV,但會改變「誰會被獵殺」。經濟學很直白:隱藏一筆委託的價值會隨其規模增加,所以大型交易者現在會像傳統資金對待暗池(dark pools)那樣,把 mempool 隱私當成基本的營運衛生(operational hygiene)。零售用戶移動小額資金面臨的風險要低得多,但如果在薄流動性(thin trading pair)的一個交易對上,透過公開佇列進行一筆單獨的大換匯,可能在幾秒內就要付出三位數百分比級的「過路費」給三明治機器人。
Solana 的答案:刪除 mempool
Solana 做出了任何主要網路中最激進的設計選擇:它根本沒有公開 mempool。Solana 不像是在整個網路間「八卦式」散播待處理交易,而是由它的 Gulf Stream 協定把交易直接轉送給負責產生下一個區塊的驗證者,也就是所謂的 leader。leader 的排程事先就已知,因此錢包與節點都知道流量要送到哪裡。交易從使用者到 leader 幾乎沒有公開等待期。
這個設計以速度為最優先,並移除了經典的觀察窗口——因為三明治機器人依賴的正是「可以被公開檢視的 pending 交易」。它並沒有消除 MEV;相反,MEV 逐漸成熟成一個私有拍賣經濟體,在其中由搜尋者(searchers)透過 Jito 等基礎設施支付小費(tips),讓他們的交易 bundle 以更有利的方式被 leader 放置。這個教訓可以推廣:在任何區塊鏈上,排序都有價值;移除公開佇列會改變「這份價值被誰捕獲」,而不是改變「它是否存在」。
其他網路也正在朝中間路徑收斂。加密 mempool 會在排序鎖定前隱藏交易內容。以太坊上的「提議者-建造者分離」(proposer builder separation)會把「選擇交易」的工作,與「提議區塊」的工作拆開,把 MEV 推向一種更透明的拍賣。到了 2030 年,mempool 的樣子大概率會和 2020 年那種公開集市(open bazaar)非常不同。不變的會是底層限制:每一條區塊鏈都必須在「建立」與「確認」之間保留某個元件的交易暫存;誰能觀察或影響那個元件,誰就能掌握所有無法做到的人所缺少的權力。
自己閱讀 mempool
你不需要運行節點才能觀看佇列。公開 mempool 瀏覽器會把待處理交易、費用分佈以及預估的確認時間即時視覺化,它們也是最快回答兩個卡住使用者會問的問題的方法:網路有多忙,以及眼下到底是哪種費用真的能被清算。
當你的交易卡住時,診斷幾乎總是相同:你的手續費低於現行的行情費率。你的選項(大致依照優先順序)是:等擁塞緩解;用 replace by fee 或 nonce 取代(nonce replacement)把費率調高;若支援 child pays for parent 就使用它;或在比特幣上,如果付款不再重要,就乾脆等它被淘汰(eviction)。你不該做的是驚慌。資金沒有消失。未確認交易要嘛最終被確認,要嘛就會在實質上不再存在;在後一種情況下,那些幣從沒離開你的錢包。
理解瀏覽器實際顯示的內容也有幫助。費用直方圖(fee histogram)告訴你:在每個手續費等級上,尚未確認的交易量有多少,進而讓你知道清算價格現在落在何處。預估區塊(projected blocks)視圖會顯示:如果接下來立刻產生區塊,哪些交易會填滿接下來的幾個區塊,因而能知道佇列比你提前多深。而在比特幣的瀏覽器中,purge line 會顯示節點正在主動淘汰交易的那個費率門檻——也就是市場的有效下限。花十分鐘學會這三種讀值,第一次費用飆升時就會覺得值得。
最後值得培養一個習慣:在你送出交易之前先檢查 mempool,而不是送出之後才看。看 30 秒的即時費率,可以同時避免在平靜時期付太多,以及在風暴來臨時出價太低。佇列是公開的,幾乎沒有人會去讀它——也正因如此,真的會去讀的人就有優勢。這也和我們在硬分叉(hard forks)與軟分叉(soft forks)的指南中說的一樣:任何會把鏈拆開的網路升級,都會引發一連串的 mempool 戲劇,因為分裂雙方的錢包與節點會把待處理交易重新整理,弄清楚它們應該屬於哪一邊。
常見問題
用簡單的話說,mempool 是什麼?
mempool 是區塊鏈交易的等待室。你送出一筆交易後,它會待在 mempool 中,保持可見且處於待處理狀態,直到礦工或驗證者把它納入區塊。每一個全節點都會把這個佇列各自保存在記憶體中。
為什麼我的交易卡在 mempool?
幾乎總是因為附加的手續費低於其他待處理交易所提供的費用。區塊生產者會先挑支付最高的交易,所以出價太低的交易必須等到需求下降,或是被佇列整體淘汰(evicted)出去才會輪到它們。
mempool 裡的交易可以取消嗎?
有時可以。在比特幣上,replace by fee 允許你用更新版本覆蓋一筆待處理交易;一筆被所有 mempool 淘汰掉的卡住交易,實質上就等同於被取消。在以太坊上,你可以用相同 nonce 並附上更高手續費,送出一筆新交易來取代待處理交易。
整個網路只有一個 mempool 嗎?
不是。每個節點都有自己的 mempool,而且不同節點的內容會因時序、設定與記憶體限制而略有差異。人們所說的 mempool,實際上是成千上萬個獨立佇列之間的粗略重疊。
一筆交易最多能在 mempool 等多久?
在比特幣上,預設節點設定會在丟棄前最多保留兩週的交易;但如果池子填滿且手續費很低,淘汰可能會更早發生。其他網路則有各自的保留與淘汰規則。
mempool 和 MEV 的關聯是什麼?
在公開 mempool 中,待處理交易在尚未執行前就可見,所以機器人能讀到它們並圍繞它們交易,透過三明治攻擊與前置交易(front running)來擷取價值。這種可見性就是以太坊等鏈上多數 MEV 的原始材料。
Solana 有 mempool 嗎?
沒有公開的。Solana 會把交易直接轉送到下一個即將出塊的區塊 leader,而不是把交易廣播到整個網路,因此移除了公開等待室。在 Solana 上,MEV 反而透過由基礎設施提供商運作的私有 bundle 拍賣在流動。
如果一筆交易永遠不確認,資金會不見嗎?
不會。一筆永遠不確認的交易最後會從 mempool 被丟棄,而那些幣會像是交易從來沒有被送出一樣,仍留在發送者錢包裡。直到交易被納入區塊之前,不會扣除任何資金。
本文章僅供教育用途,不構成任何財務或投資建議。網路規則、手續費機制與節點預設政策會隨時間改變。文中細節截至 2026 年 7 月 14 日正確。