
Mempool 是区块链节点上的“候车区”,用于存放已发起但尚未被处理的交易。 该术语来自“memory”(内存)和“pool”(池),意指用于存储待写入区块链的交易队列的数字空间。
如您曾操作过加密货币交易,或许会注意到系统处理存在短暂延迟。交易发起后、未被处理前,实际都处于 mempool 中。该概念最早由比特币提出,这一由中本聪(Satoshi Nakamoto)发明的加密货币项目。随后,这一机制被包括以太坊在内的诸多区块链项目采用。
比特币作为加密货币项目普及了区块链技术。其创始人中本聪率先在市场中实现了 mempool 机制的交易执行。此后,其他区块链项目,包括以太坊,也引入了这一机制。
Mempool 存在于所有区块链中,但在不同区块链中名称各异。例如,Parity 区块链项目将 mempool 称为“Transaction Queue”(交易队列)。各区块链管理交易队列的方式虽有不同,但其基本原理是一致的。
每笔添加进 mempool 的交易,其数据大小通常不超过数千字节(KB)。所有交易的 KB 总和决定了 mempool 的整体容量。
mempool 规模扩大,说明有大量交易在排队等待确认。从图表可以看到,比特币 mempool 大小常因加密货币价格波动而增长,无论涨跌皆然。这是因为价格变动促使更多的交易和转账操作发生。
值得关注! 节点可为自身 mempool 设置容量上限,超出上限后,系统会要求最低手续费以处理操作。这一机制可防范垃圾交易,保障网络稳定运行。
Mempool 是区块链节点运行机制中的关键环节。交易写入区块链前,必须先被纳入区块(区块链的基础组成单元)。并非所有节点都能生成新区块。例如,在比特币这类采用 工作量证明(Proof-of-Work) 算法的系统中,只有矿工有权将交易写入区块;而在以太坊等采用 权益证明(Proof-of-Stake) 的区块链中,则由验证者执行这一任务。
交易创建后,用户需等待矿工或验证者批准其被加进区块,并最终写入区块链。此过程并非即时完成。只要交易还在等待验证、加入区块和写入区块链期间,就会停留在 mempool。 等待时间受网络拥堵程度和交易优先级影响而不同。
Mempool 是缓冲区,确保所有交易能够有序、安全地处理。没有 mempool,区块链将难以应对大规模交易流量,也无法保障数据完整性。
首先,一条区块链上可以有多个 mempool。每个节点都拥有专属数字空间,用于存放等待验证及写入区块链的交易。所有分布于各节点的 mempool 共同构成了一个庞大的集合型 mempool。
当用户发起交易时,交易会被发送到节点,节点会将操作添加到自己的 mempool,并排进待验证队列(即数据的真实性校验)。交易验证通过后,其状态会变为“等待中”。此类交易随后可由矿工或验证者添加入新区块,并最终写入区块链。
验证过程会检查多项内容,例如发送方余额是否充足、数字签名是否有效、交易是否符合网络规则。通过验证的交易才能进入后续流程。
交易被写入区块链后,节点会收到相关信息。此时,节点可将 mempool 中关于该操作的无效信息删除。正是通过这种方式,mempool 得以同步。同步机制确保所有节点间的交易状态保持一致。
以您想向朋友发送 0.01 BTC 为例,说明 mempool 的运作流程及交易生命周期:
首先,您需要获取朋友所用加密钱包的地址,发起交易时将其输入为收款地址,并确认系统设定的转账费用。最后点击“发送”。
交易会被添加进最近的 mempool,并标记为待处理队列的操作。此时,您的交易已登记,但尚未通过验证。
随后,交易会广播至网络其他节点,使其能够检查并确认该转账未违反规则。广播环节确保全网了解您的交易。
若交易通过节点验证,将从公共队列转入等待区(以便后续被写入区块链)。若出现问题,您会收到交易未被确认的通知。
某位矿工或验证者会优先将交易添加进新区块并写入区块链。通常,手续费优先级影响交易加入顺序。
随后,该矿工或验证者会将包含此交易的区块信息广播到节点。节点即可获得区块内全部交易数据。
至此,节点可将 mempool 中关于您这笔交易的信息删除,为新交易释放空间。
操作完成!转账结束——您的朋友已收到 0.01 BTC 并获得所有权。该交易现已成为区块链的永久记录,不可篡改。
Mempool 过载出现于请求操作量超出单区块可容纳交易数的时期。 造成 mempool 处理变慢的主要原因有:
网络过载。交易量激增导致区块空间不足,进而引发 mempool 过载。例如,比特币区块链每个区块平均包含约 3150 笔交易。如果数小时内等待交易大幅超出这一数值,网络和 mempool 就会过载,导致等待时间加长及交易费用上涨。
重大事件或新闻。如代币发行、空投或名人支持区块链行业等事件,会引发交易需求瞬时激增。这些高峰容易导致 mempool 过载。比如知名项目发布重大消息或加密货币价格剧烈波动时,均可出现类似现象。
网络分叉或升级。如区块链分叉或系统升级时,节点需处理升级任务,导致交易处理速度下降,mempool 也会迅速过载。
掌握 mempool 过载成因后,开发者可针对项目做出优化,如扩容区块、部署二层网络、优化共识算法等,以缓解影响。
决定 mempool 交易处理顺序的关键因素之一是手续费。矿工和验证者会根据潜在收益优先选择加入新区块的交易。也就是说,用户支付的手续费越高,交易被处理的速度越快。
因此,比特币交易确认所需等待时间取决于 mempool 负载和手续费高低。负载越低、费用越高,处理越快;若 mempool 过载且手续费较低,确认速度则会变慢。
这种优先级机制在区块链网络内部形成了市场化调节:急需快速确认的用户可付更高费用,而不急的用户则可选择低费用并耐心等待,网络资源得以高效分配。
Mempool 是区块链网络中存放未确认交易的临时缓冲区。每个节点独立维护 mempool,用于存放待验证且尚未写入区块的交易。Mempool 有助于管理交易费用,并优先处理高费用交易以加快确认速度。
用户发起交易后,节点会接收并将其加入 mempool 的待验证队列。未被写入区块链的交易会留在 mempool,直至被矿工纳入下一个区块。
当网络繁忙且区块空间有限时,交易会在 Mempool 长时间等待。手续费较低的交易优先级较低,确认速度自然较慢。
Mempool 拥堵时,交易费用会提升,因为矿工优先处理高费用交易。当网络拥堵时,用户需支付更高费用以确保交易被尽快处理。
可通过区块链浏览器,如 Mempool.space,实时查看 Mempool 状态。您可以查阅 Mempool 容量、当前交易费用水平及待确认交易数量,从而优化转账时机与费用。
当 Mempool 满载时,最低手续费的交易会被清除,为高手续交易腾出空间。被清除的交易可在 Mempool 不再拥堵时重新发送,或提高手续费后再次提交。
Gas 费用决定交易在 Mempool 中的优先顺序。Gas 费用越高,矿工越会优先处理该交易。您支付的 Gas 越高,交易在 Mempool 队列中的优先级越高。











