
內存池(Mempool)是一種專屬的數位空間,可視為加密貨幣交易的「候車室」。每個區塊鏈節點(網路節點)都設有此空間,用來暫時儲存使用者已發起但尚未處理、尚未寫入區塊鏈的交易。
「內存池」一詞來自英文「memory」(內存)和「pool」(池、資金池)的組合。這個名稱精確地反映其本質——作為等待寫入區塊鏈交易隊列的「內存池」。
值得注意的是,內存池的概念最早由比特幣創辦人中本聰(Satoshi Nakamoto)在 Bitcoin 網路中提出並實現。比特幣不僅推廣了區塊鏈技術,也率先採用內存池機制以提升交易處理效率。隨後,包括 Ethereum 在內的多個區塊鏈專案及其他加密貨幣網路,皆沿用並優化此一機制。
須特別說明,幾乎所有區塊鏈系統都設有內存池,雖然部分專案命名不同。例如,在 Parity 區塊鏈專案中,內存池稱為「交易隊列」(Transaction Queue),但核心功能一致。
每筆進入內存池的交易都會佔據一定的資料空間。一般而言,單筆交易大小不超過數千位元組(KB)。內存池的規模由所有待處理交易所占總 KB 數決定。
內存池的體積是反映網路狀態的重要指標。規模較大的內存池意味著大量交易正等待確認,可能是因為使用者活躍度提升、重大市場事件或技術瓶頸所致。
觀察內存池體積走勢圖可發現,每當比特幣行情劇烈波動(無論漲跌),內存池體積都會明顯增加。因為行情波動時,更多使用者進行買賣或轉帳,使交易量顯著成長。
一項重要技術細節是:每個節點可自行設定內存池容量上限。當內存池超過設定門檻時,系統可能自動要求更高的最低手續費,以調節網路負載並優先處理高手續費交易。
內存池在區塊鏈節點整體運作機制中至關重要。理解其功能,需先認識交易寫入區塊鏈的流程。
一筆交易要真正寫入區塊鏈,須經過多個階段。首先,交易必須被加入區塊——區塊鏈的基本結構單元,但並非所有節點都有產生新區塊的權利。
在採用 Proof-of-Work(工作量證明)共識機制的區塊鏈(如 Bitcoin)中,僅有礦工能將交易寫入區塊。礦工透過算力解決複雜問題,成功後取得產生新區塊的權利。
相對地,在 Proof-of-Stake(權益證明)機制區塊鏈(如現行 Ethereum)中,交易打包則由驗證者負責,驗證者依據其質押的加密貨幣數量被選出。
使用者提交交易後,並非立即能在區塊鏈上看到結果,必須等待驗證者或礦工審核批准,將交易加入區塊並寫入區塊鏈。從交易發起到最終寫入區塊鏈的這段期間,交易會暫時存放於內存池。因此,內存池是使用者與區塊鏈之間的緩衝區,確保所有操作有序執行。
完整理解內存池的運作機制時,需明白一點:一個區塊鏈可有多個內存池。網路中每個節點都有獨立空間,用來存放等待驗證及寫入區塊鏈的交易。這些本地內存池共同構成區塊鏈的整體內存池。
內存池的運作流程如下:使用者由錢包發起交易,該交易會送到網路中最近可用的節點。節點接收交易後,立即將其加入本地內存池並排隊等待驗證。
驗證(Validation)指的是節點檢查交易資料的正確性,包括核查發送方餘額、收款地址、格式是否合規,以及是否違反其他網路規則。
交易驗證通過後,狀態轉為「等待」,只有「等待」狀態的交易才有機會被礦工或驗證者選中,加入新區塊。這些網路參與者會從內存池挑選要打包進下一個區塊的交易。
當礦工或驗證者成功生成包含這些交易的新區塊並寫入區塊鏈後,相關資訊將廣播至全網。所有節點收到新區塊及其交易列表後,會將已寫入區塊鏈的交易從本地內存池中移除。透過這個流程,各節點的內存池得以同步,確保區塊鏈系統的資料一致性。
為了清楚說明內存池的實際功能及加密貨幣交易的完整生命週期,以下以實際案例說明:假設你要匯款 0.01 BTC 給朋友。
發起交易。 你需取得朋友的錢包地址,這是一串專屬字元,在發起交易時填入收款地址。於錢包介面輸入收款人地址、匯款金額並確認系統建議的手續費,核對無誤後點擊「發送」。
進入內存池。 送出後,交易會被加入最近節點的內存池,標示為待處理。此時交易已在網路內,但尚未確認或寫入區塊鏈。
網路廣播。 首個接收交易的節點會將其廣播到其他節點,形成交易傳播。各節點收到交易後,檢查其是否符合協議規範,確保未違反相關規則。
驗證。 若全部節點驗證通過,交易會自一般隊列轉入專屬等待組,準備被打包進區塊並寫入區塊鏈。若驗證有問題,你會收到交易未確認通知,資金仍在你帳戶。
打包進區塊。 Bitcoin 網路的礦工或 Ethereum 網路的驗證者會自內存池選取你的交易,與其他交易一同打包進新區塊並寫入區塊鏈。一般而言,手續費越高,交易被優先打包的機會越高。
區塊廣播。 礦工或驗證者將交易打包寫入區塊鏈後,會將新區塊資訊廣播至全網節點,每個節點皆能接收區塊及其交易。
內存池清理。 節點收到新區塊資訊後,會檢查本地內存池,移除所有已寫入區塊的交易。此時你的交易已不再於內存池留存,因其已永久寫入區塊鏈。
操作完成。 此時匯款已完成,你的朋友收到 0.01 BTC。該筆交易已成為區塊鏈不可更改的歷史紀錄,可於任一區塊鏈瀏覽器查詢。
內存池壅塞是指區塊鏈網路活動大幅增長時,使用者提交的交易數量遠超單一區塊可容納的交易總量,使內存池累積大量待處理交易,顯著影響交易處理速度與手續費水準。
造成內存池壅塞及交易處理遲緩的主要因素包括:
網路壅塞。 當交易請求激增且區塊容量有限時,內存池就會出現壅塞。例如 Bitcoin 區塊鏈,單一區塊平均可容納約 3,150 筆交易。如果待處理交易數遠超此數且持續數小時,網路即陷入嚴重壅塞。結果是使用者需提高手續費加速確認,或長時間等待。
事件與消息。 各類影響區塊鏈產業及加密貨幣市場的事件與新聞,常使交易需求暴增。如新代幣上市、大型空投(免費發放代幣)、知名人士或機構公開支持加密貨幣、重大技術升級等,短期內都會推升交易量,引發內存池壅塞。
分叉及網路升級。 區塊鏈網路的重大變動,例如硬分叉(區塊鏈分裂)或協議升級,常導致暫時且極為嚴重的內存池壅塞。原因是事件期間大量節點需更新軟體、適應新協議,處理交易能力暫時下降,導致大量未處理交易堆積於內存池。
了解內存池壅塞的成因及機制相當重要。區塊鏈專案開發者可據此提前進行技術優化,如擴大區塊容量、優化交易處理演算法、部署 Layer 2 解決方案等,以降低壅塞對終端使用者的影響。
決定交易在內存池排序與處理速度的主要因素之一,是使用者願意支付的手續費。這是區塊鏈網路資源分配的核心機制。
負責產生新區塊的礦工與驗證者有權從內存池自主挑選打包哪些交易。決策時,他們主要根據手續費收益。此一機制形成了交易優先順序的市場調節。
簡言之,使用者支付手續費越高,交易越容易獲得優先處理並寫入區塊鏈。這在網路高負載時期尤其明顯。
因此,「Bitcoin 或其他加密貨幣網路中,交易確認需要等多久」這個常見問題,其答案主要由內存池當前負載及你設定的手續費水準決定。
理想情況下,網路負載低、內存池未壅塞,即使手續費較低,交易仍可快速確認,通常幾分鐘或下一個區塊內完成。若支付高手續費,幾乎可確保交易進入最近區塊。
反之,於內存池壅塞期間,待處理交易堆積,若你的手續費較低,可能需等待數小時甚至數天才能被確認。此時,礦工與驗證者會優先選擇高手續費交易,低手續費交易則繼續於內存池等待,直到負載下降。
實用建議:許多現代加密貨幣錢包設有動態手續費估算功能,可根據當前內存池狀態推薦最佳手續費區間。善用這些工具有助於平衡交易速度與手續費。此外,市面上也有專業分析平台,可即時監控網路壅塞、平均手續費及不同手續費水準下的預計確認時間。
內存池是區塊鏈用來暫時存放未確認交易的空間,其作用是讓交易有序排隊等待打包,並維持網路交易處理順序。
內存池會直接影響這兩項指標。網路活躍度低時,交易確認快速且手續費低。內存池壅塞則導致確認延遲、手續費因競爭而提高。
交易滯留多因手續費過低。調高手續費可加速處理進度,高手續費交易較容易吸引驗證者優先處理。
內存池是待確認交易的隊列,區塊鏈則是所有已確認交易的分散式資料庫。內存池保存暫時性資料,區塊鏈是永久帳本。
礦工與驗證者通常依據手續費高低挑選交易。高手續費交易能更快被打包進區塊,帶來更高收益。選擇演算法會最佳化區塊容量及收益。











